This bug report will be sent to the XEmacs Development Team,
not to your local site managers!!
Please write in English, because the XEmacs maintainers do not have
translators to read other languages for them.
In XEmacs 21.2 (beta46) "Urania" [Lucid] (i586-pc-linux) of Sat Mar 24 2001 on
configured using `configure --prefix=/local/xemacs'
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:
[Note: this is really a minor bug, probably not worth looking at until
after April 15.]
(set-specifier modeline-shadow-thickness 10)
to see this effect more clearly. Execute:
(set-face-background 'modeline "blue")
Then ctrl-L to redraw the window. The modeline 3d border will be
(set-face-background 'modeline "red")
Now the modeline background will be blue. However the 3d border is
still red! Execute:
and the border is STILL red! I can use (redraw-frame) but that's
icky, and flickers.
I tried poking around the source (21.2b46) to figure out what's going
on, but wasn't entirely successful. Things I found:
frame-x.c has a comment /* Really crappy way to force the modeline
shadows to be redrawn. But effective. */
redisplay-x.c has a comment /* Our flagging of when we need to
redraw the modeline shadows sucks. */
window.c:window_modeline_height has a comment /* Bullshit alert. */
However I couldn't figure out what in the C code should be fixed to
make modeline redrawing redraw the 3d border. I also couldn't figure
out how to force a redisplay of the 3d border from elisp, except by
changing the modeline-shadow-thickness to a different value, then
changing it back (this bypasses the optimization "if it's the same
value don't redisplay"). It's a silly workaround but that's what
use for now.
Recent messages (most recent first):
A B C F I K L M N P S T V W C-c C-d C-f C-i C-k C-n C-w; ? for more help:
Auto-save off (in this buffer)
Decoding modeline.el... done