GNU bug report logs - #19721
25.0.50; Mode-line not redrawn with expose events

Previous Next

Package: emacs;

Reported by: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>

Date: Thu, 29 Jan 2015 10:52:02 UTC

Severity: normal

Found in version 25.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #32 received at 19721 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 19721 <at> debbugs.gnu.org, mituharu <at> math.s.chiba-u.ac.jp
Subject: Re: bug#19721: 25.0.50; Mode-line not redrawn with expose events
Date: Sun, 01 Feb 2015 17:44:01 +0200
> Date: Sun, 01 Feb 2015 09:51:30 +0100
> From: martin rudalics <rudalics <at> gmx.at>
> CC: 19721 <at> debbugs.gnu.org
> 
>  > If I apply both changes, mode-lines are redrawn when exposed, but some
>  > of them are not updated with C-x o.
> 
> What happens when you do something trivial like
> 
> --- a/src/window.c
> +++ b/src/window.c
> @@ -524,6 +524,8 @@ select_window (Lisp_Object window, Lisp_Object norecord, int inhibit_point_swap)
>         record_buffer (w->contents);
>       }
> 
> +  w->update_mode_line = 1;
> +
>     return window;
>   }

Thanks.

I didn't try your suggestion, but (a) it would force redrawing the
mode line even if that's not needed, just because a window got
selected, and (b) there's a tricky condition near the beginning of
redisplay_window that would bypass redisplaying a window, under some
conditions, even if its update_mode_line flag was set (my last patch
attempts at fixing that).

So I'm not sure this is the right solution.  The situation described
in this report is quite unique, in that the face used for the active
mode line causes the window glyph matrices to be resized each time a
window becomes non-selected one.  It is because of this resizing that
the mode-line row of the current matrix becomes disabled.




This bug report was last modified 10 years and 116 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.