GNU bug report logs -
#36803
27.0.50; Update mode-line of every window when compilation ends
Previous Next
Full log
View this message in rfc822 format
> Date: Thu, 25 Jul 2019 17:59:00 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: 36803 <at> debbugs.gnu.org, larsi <at> gnus.org
>
> > If my bisection is correct, then this regression dates back from
> >
> > 645c8597e7f9fbc90ffe227d2be8ce383b0777ae
> > * src/process.c (status_notify): Avoid global redisplay (bug#11822)
> > http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=645c8597e7f9fbc90ffe227d2be8ce383b0777ae
>
> Makes sense, I will look into why this change was made.
Stefan, I'm looking and looking, and don't understand why that change
made sense. The process-status indication in the mode line is shown
in all windows, so status_notify is exactly the place where we should
trigger update of all mode lines. Otherwise, we will have to sprinkle
force-mode-line-update calls all over the place (and it still won't
work well in the cases where the default sentinel is used, and this no
Lisp is involved).
So I think we should restore the old code, i.e. revert this part of
the above-mentioned commit:
--- a/src/process.c
+++ b/src/process.c
@@ -6694,10 +6694,12 @@ status_notify (struct Lisp_Process *deleting_process,
p->update_tick = p->tick;
/* Now output the message suitably. */
exec_sentinel (proc, msg);
+ if (BUFFERP (p->buffer))
+ /* In case it uses %s in mode-line-format. */
+ bset_update_mode_line (XBUFFER (p->buffer));
}
} /* end for */
- update_mode_lines = 24; /* In case buffers use %s in mode-line-format. */
return got_some_output;
}
Am I missing something?
This bug report was last modified 6 years and 28 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.