New modeline glitches under cygwin

Didier Verna didier at xemacs.org
Wed Mar 5 07:49:21 EST 2008


Vin Shelton wrote:

> On Tue, Mar 4, 2008 at 8:41 AM, It's me FKtPp ;) <m_pupil at yahoo.com.cn> wrote:
>> Vin Shelton wrote:
>>  > On Tue, Mar 4, 2008 at 3:19 AM, Didier Verna <didier at xemacs.org> wrote:
>>  >>
>>  >>   Could you please show us the output of:
>>  >>
>>  >>  (face-background 'modeline[-mousable])
>>  >>  (face-property-instance 'modeline[-mousable] nil nil t)

> D'oh! Thanks for decoding that.
>
> (face-background 'modeline-mousable) =>
> #<color-specifier global=((default) . [#<face modeline "modeline
> face">]) fallback=#<color-specifier global=((mswindows) . "white")
> fallback=(((mswindows) . "white") ((msprinter) . "white") ((tty) .
> [])) 0x208d> 0x215ce>
>
> (face-background 'modeline) =>
> #<color-specifier global=<unspecified> fallback=#<color-specifier
> global=((mswindows) . "#D5CCBB") fallback=(((mswindows) . "Gray75")
> ((msprinter) . "white") ((tty) . [])) 0x2152> 0x21b3>


  OK. My current guess is that the recent patch about specifier
inheritance I committed uncovered a few additional bugs. Your settings
look wrong to me (but consistent with what you get on the screen):

the background of the modeline-mousable face is set to inherit from the
modeline face (the array [#<face modeline...] part), which itself is
unspecified and only has a fallback.

When trying to instantiate the background for the modeline-mousable face
(I mean, *after* my patch), the instantiation tries the modeline face
(which fails because there's only a fallback). Then, the fallback for
the modeline-mousable face is tried in turn, and leads to the white
color (the global=((mswindows) . "white") part).

What looks wrong to me is that the modeline-mousable background color's
fallback should be the same as the one for the modeline-face. I see no
reason it would be different.

I don't have windows anywhere near me but I'll try to investigate.

-- 
5th European Lisp Workshop at ECOOP 2008, July 7: http://elw.bknr.net/2008/

Didier Verna, didier at lrde.epita.fr, http://www.lrde.epita.fr/~didier

EPITA / LRDE, 14-16 rue Voltaire   Tel.+33 (0)1 44 08 01 85
94276 Le Kremlin-Bicêtre, France   Fax.+33 (0)1 53 14 59 22  didier at xemacs.org



More information about the XEmacs-Beta mailing list