GNU bug report logs -
#19721
25.0.50; Mode-line not redrawn with expose events
Previous Next
Full log
View this message in rfc822 format
> Date: Sun, 01 Feb 2015 14:40:40 +0900
> From: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>
> Cc: 19721 <at> debbugs.gnu.org
>
> > How about the following patch instead of the previous one?
>
> Now mode-lines get updated with C-x o again, but the original issue
> still remains and I could reproduce it with the original procedure on
> Cent OS 5.11.
>
> If I apply both changes, mode-lines are redrawn when exposed, but some
> of them are not updated with C-x o.
How about the patch below? (Once again, it's wrt the current emacs-24
branch.)
diff --git a/src/dispnew.c b/src/dispnew.c
index f73ea58..6517c9b 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -570,6 +570,12 @@ struct redisplay_history
for (i = 0; i < matrix->nrows; ++i)
matrix->rows[i].enabled_p = false;
}
+ /* We've disabled the mode-line row, so force redrawing of
+ the mode line, if any, since otherwise it will remain
+ disabled in the current matrix, and expose events won't
+ redraw it. */
+ if (WINDOW_WANTS_MODELINE_P (w))
+ w->update_mode_line = 1;
}
else if (matrix == w->desired_matrix)
{
diff --git a/src/xdisp.c b/src/xdisp.c
index b1125d3..2ebf06d 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -15964,6 +15964,7 @@ enum
if (!just_this_one_p
&& REDISPLAY_SOME_P ()
&& !w->redisplay
+ && !w->update_mode_line
&& !f->redisplay
&& !buffer->text->redisplay
&& BUF_PT (buffer) == w->last_point)
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.