emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r112268: Fix bug #14170 with window-e


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r112268: Fix bug #14170 with window-end returning a stale value.
Date: Thu, 11 Apr 2013 19:06:47 +0300
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 112268
fixes bug: http://debbugs.gnu.org/14170
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Thu 2013-04-11 19:06:47 +0300
message:
  Fix bug #14170 with window-end returning a stale value.
  
  This bug was introduced in address@hidden
  while solving bug #12600.
  
   src/window.c (Fwindow_end): Test more flags, including the buffer's
   last_overlay_modified flag, to determine whether the window's
   display is really up-to-date.  Prevents the function from
   returning a stale value.
   (Fwindow_line_height): Fix the test for up-to-date-ness of the
   current matrix.
modified:
  src/ChangeLog
  src/window.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2013-04-10 15:38:20 +0000
+++ b/src/ChangeLog     2013-04-11 16:06:47 +0000
@@ -1,3 +1,12 @@
+2013-04-11  Eli Zaretskii  <address@hidden>
+
+       * window.c (Fwindow_end): Test more flags, including the buffer's
+       last_overlay_modified flag, to determine whether the window's
+       display is really up-to-date.  Prevents the function from
+       returning a stale value.  (Bug#14170)
+       (Fwindow_line_height): Fix the test for up-to-date-ness of the
+       current matrix.
+
 2013-04-10  Eli Zaretskii  <address@hidden>
 
        * frame.c (do_switch_frame): Mark the TTY frame we switch to as

=== modified file 'src/window.c'
--- a/src/window.c      2013-04-08 18:04:58 +0000
+++ b/src/window.c      2013-04-11 16:06:47 +0000
@@ -1493,7 +1493,12 @@
   b = XBUFFER (buf);
 
   if (! NILP (update)
-      && (windows_or_buffers_changed || !w->window_end_valid)
+      && (windows_or_buffers_changed
+         || !w->window_end_valid
+         || b->clip_changed
+         || b->prevent_redisplay_optimizations_p
+         || w->last_modified < BUF_MODIFF (b)
+         || w->last_overlay_modified < BUF_OVERLAY_MODIFF (b))
       && !noninteractive)
     {
       struct text_pos startp;
@@ -1702,8 +1707,9 @@
 
   /* Fail if current matrix is not up-to-date.  */
   if (!w->window_end_valid
-      || current_buffer->clip_changed
-      || current_buffer->prevent_redisplay_optimizations_p
+      || windows_or_buffers_changed
+      || b->clip_changed
+      || b->prevent_redisplay_optimizations_p
       || w->last_modified < BUF_MODIFF (b)
       || w->last_overlay_modified < BUF_OVERLAY_MODIFF (b))
     return Qnil;


reply via email to

[Prev in Thread] Current Thread [Next in Thread]