[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Propertizing the minor-mode-alist
From: |
Kim F. Storm |
Subject: |
Re: Propertizing the minor-mode-alist |
Date: |
Fri, 17 Sep 2004 23:52:29 +0200 |
User-agent: |
Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3.50 (gnu/linux) |
Hi James,
I see you have signed legal papers for specific contributions to emacs,
but I cannot find a general assignment that covers past and future changes.
Combined with your other tiny patches that are already installed in
emacs, I think we need such legal papers before we can install further
patches from you.
But I may be mistaken -- Richard?
James Clark <address@hidden> writes:
> On Thu, 2004-09-16 at 21:00, Stefan wrote:
>> > Perhaps there could be a new keyword :propertize-default that changes
>> > the text properties of only those characters in the string that do not
>> > already have a value for any of the specified properties. Or maybe this
>> > should be the behavior of :propertize.
>>
>> I think it makes sense to change the behavior of `:propertize' here.
>
> It turns out that the existing code already tries to merge the existing
> properties of the string with the properties specified in :propertize,
> but it doesn't work in this case for two reasons:
>
> - the code gets the existing properties just by looking at the first
> character of the string; in my case the first character is a space which
> doesn't have any properties, i.e. my code does
>
> (concat " "
> (propertize "Invalid"
> 'help-echo "mouse-1: go to first error"
> 'local-map (make-mode-line-mouse-map
> 'mouse-1
> 'rng-mouse-first-error)))
>
> - the code gives the new properties priority over the existing
> properties
>
> Attached is a patch that
>
> - when the first character has no properties, gets the properties from
> the last character;
>
> - gives priority to the existing properties over the new properties.
>
> James
> --
> To send me mail, replace auth-only by public in the from address.
>
> --- src/xdisp.c.~1.908.~ 2004-09-16 02:12:32.000000000 +0700
> +++ src/xdisp.c 2004-09-17 09:17:14.626506584 +0700
> @@ -15335,23 +15335,34 @@
> Lisp_Object oprops, aelt;
> oprops = Ftext_properties_at (make_number (0), elt);
>
> + /* If the first character doesn't have any properties, try
> + the last character instead, since user code might not
> + propertize a leading space character. */
> +
> + if (NILP (oprops))
> + {
> + int length;
> +
> + length = XFASTINT (Flength (elt));
> + if (length > 0)
> + oprops = Ftext_properties_at (make_number (length - 1), elt);
> + }
> +
> +
> if (NILP (Fequal (props, oprops)) || risky)
> {
> /* If the starting string has properties,
> - merge the specified ones onto the existing ones. */
> + merge the specified ones onto the existing ones.
> + Give priority to the existing one. */
> if (! NILP (oprops) && !risky)
> {
> - Lisp_Object tem;
> -
> - oprops = Fcopy_sequence (oprops);
> - tem = props;
> - while (CONSP (tem))
> + props = Fcopy_sequence (props);
> + while (CONSP (oprops))
> {
> - oprops = Fplist_put (oprops, XCAR (tem),
> - XCAR (XCDR (tem)));
> - tem = XCDR (XCDR (tem));
> + props = Fplist_put (props, XCAR (oprops),
> + XCAR (XCDR (oprops)));
> + oprops = XCDR (XCDR (oprops));
> }
> - props = oprops;
> }
>
> aelt = Fassoc (elt, mode_line_proptrans_alist);
> _______________________________________________
> Emacs-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-devel
--
Kim F. Storm <address@hidden> http://www.cua.dk
- Propertizing the minor-mode-alist, James Clark, 2004/09/16
- Re: Propertizing the minor-mode-alist, Stefan, 2004/09/16
- Re: Propertizing the minor-mode-alist, James Clark, 2004/09/16
- Re: Propertizing the minor-mode-alist, Richard Stallman, 2004/09/17
- Re: Propertizing the minor-mode-alist, James Clark, 2004/09/17
- Re: Propertizing the minor-mode-alist, Richard Stallman, 2004/09/18
- Re: Propertizing the minor-mode-alist, David Kastrup, 2004/09/19
- Re: Propertizing the minor-mode-alist, James Clark, 2004/09/19
- Re: Propertizing the minor-mode-alist, Richard Stallman, 2004/09/19
- Re: Propertizing the minor-mode-alist, James Clark, 2004/09/19
- Re: Propertizing the minor-mode-alist, Kai Grossjohann, 2004/09/20
- Re: Propertizing the minor-mode-alist, Richard Stallman, 2004/09/21