GNU bug report logs - #36803
27.0.50; Update mode-line of every window when compilation ends

Previous Next

Package: emacs;

Reported by: Kévin Le Gouguec <kevin.legouguec <at> gmail.com>

Date: Wed, 24 Jul 2019 21:23:02 UTC

Severity: normal

Found in version 27.0.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 36803 <at> debbugs.gnu.org, larsi <at> gnus.org, kevin.legouguec <at> gmail.com
Subject: bug#36803: 27.0.50; Update mode-line of every window when compilation ends
Date: Fri, 26 Jul 2019 12:23:26 -0400
>> > 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.
>> 
>> Hmm... AFAIK the "process status" normally only indicates the status of
>> the process running in the buffer to which this mode line belongs.
>> Which is why I made the change to only bset_update_mode_line rather than
>> set the global update_mode_lines.
>
> So you are saying that there's a redisplay bug, whereby some windows
> that display a buffer don't have their mode line updated in the recipe
> of this bug report?

In the recipe of this bug, we have a process in the compilation buffer
and the status of this process is reflected in the mode line of
*all* windows (via the compilation-in-progress variable).

The "process status" I'm referring to above is another kind of "process
status" in the mode-line: that of `mode-line-process` which is usually
buffer-local and only reflects the status of the process running in that
same buffer.

>> Additionally, in this particular case, the need to update all mode-lines
>> doesn't come from the fact that a sentinel was run, but from the fact
>> that compilation-in-progress was modified, which can (and does) also
>> happen when no sentinel is run.  So I think TRT is something like the
>> patch below.
> force-mode-line-update with a non-nil argument affects all the
> windows, even those which don't show the process status.  So why are
> you saying it's TRT in this case?

Because the status of the compilation process *is* by default reflected
in the mode line of all windows (I disable this in my own config
because I don't like it).


        Stefan





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.