GNU bug report logs - #15999
24.3.50; Redisplay broken with split windows

Previous Next

Package: emacs;

Reported by: Stephen Berman <stephen.berman <at> gmx.net>

Date: Fri, 29 Nov 2013 16:02:01 UTC

Severity: normal

Found in version 24.3.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: Stephen Berman <stephen.berman <at> gmx.net>
Cc: 15999 <at> debbugs.gnu.org
Subject: bug#15999: 24.3.50; Redisplay broken with split windows
Date: Fri, 29 Nov 2013 13:01:03 -0500
> 115272: Stefan Monnier 2013-11-28 Refine redisplay optimizations to only
> redisplay *some* frames/windows

Sounds highly likely, indeed.

> 0. emacs -Q
> 1. M-x display-time-mode
> 3. C-x 2 (or C- x 3)
> 4. C-x b, so one window displays *scratch* and the other *Messages*.
> 5. When the displayed time changes, only the current buffer is updated;
>    in the other buffer the time display is unchanged, and the scroll bar
>    disappears (note my build does not use toolkit scroll bars, I don't
>    know if that makes a differences.)  This states of affairs remains
>    until the non-updated buffer becomes current.

- The mode-line not being redrawn in the other window is expected.
  The patch below should fix it.
- But for some reason I couldn't reproduce it (looks like something
  somewhere in my tests is causing the extra redisplay needed).
  Ah, I could reproduce it by building --without-toolkit-scroll-bars, so
  it looks like the presence of toolkit scrollbars somehow plays an
  important role.
- The scroll-bar disappearance is not expected.  If the patch below
  makes this problem disappear, it's only because it hides it, not
  because it fixes it.
  

        Stefan

=== modified file 'lisp/time.el'
--- lisp/time.el	2013-08-09 18:49:36 +0000
+++ lisp/time.el	2013-11-29 17:43:47 +0000
@@ -471,7 +471,7 @@
     ;; This is inside the let binding, but we are not going to document
     ;; what variables are available.
     (run-hooks 'display-time-hook))
-  (force-mode-line-update))
+  (force-mode-line-update 'all))
 
 (defun display-time-file-nonempty-p (file)
   (let ((remote-file-name-inhibit-cache (- display-time-interval 5)))





This bug report was last modified 11 years and 175 days ago.

Previous Next


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