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


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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 36803 <at> debbugs.gnu.org, larsi <at> gnus.org, kevin.legouguec <at> gmail.com
Subject: Re: bug#36803: 27.0.50;
 Update mode-line of every window when compilation ends
Date: Fri, 26 Jul 2019 11:13:12 +0300
> 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.