emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r100582: * dispnew.c (scrolling_wi


From: YAMAMOTO Mitsuharu
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r100582: * dispnew.c (scrolling_window): Don't exclude the case that the
Date: Sat, 21 May 2011 10:56:45 +0900
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 100582
committer: YAMAMOTO Mitsuharu <address@hidden>
branch nick: emacs-23
timestamp: Sat 2011-05-21 10:56:45 +0900
message:
  * dispnew.c (scrolling_window): Don't exclude the case that the
  last enabled row in the desired matrix touches the bottom boundary.
modified:
  src/ChangeLog
  src/dispnew.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-05-11 16:38:18 +0000
+++ b/src/ChangeLog     2011-05-21 01:56:45 +0000
@@ -1,3 +1,8 @@
+2011-05-21  YAMAMOTO Mitsuharu  <address@hidden>
+
+       * dispnew.c (scrolling_window): Don't exclude the case that the
+       last enabled row in the desired matrix touches the bottom boundary.
+
 2011-05-11  Drew Adams  <address@hidden>
 
        * textprop.c (Fprevious_single_char_property_change): Doc fix 
(bug#8655).

=== modified file 'src/dispnew.c'
--- a/src/dispnew.c     2011-05-09 09:59:23 +0000
+++ b/src/dispnew.c     2011-05-21 01:56:45 +0000
@@ -4990,23 +4990,29 @@
 
   first_old = first_new = i;
 
-  /* Set last_new to the index + 1 of the last enabled row in the
-     desired matrix.  */
+  /* Set last_new to the index + 1 of the row that reaches the
+     bottom boundary in the desired matrix.  Give up if we find a
+     disabled row before we reach the bottom boundary.  */
   i = first_new + 1;
-  while (i < desired_matrix->nrows - 1
-        && MATRIX_ROW (desired_matrix, i)->enabled_p
-        && MATRIX_ROW_BOTTOM_Y (MATRIX_ROW (desired_matrix, i)) <= yb)
-    ++i;
+  while (i < desired_matrix->nrows - 1)
+    {
+      int bottom;
 
-  if (!MATRIX_ROW (desired_matrix, i)->enabled_p)
-    return 0;
+      if (!MATRIX_ROW (desired_matrix, i)->enabled_p)
+       return 0;
+      bottom = MATRIX_ROW_BOTTOM_Y (MATRIX_ROW (desired_matrix, i));
+      if (bottom <= yb)
+       ++i;
+      if (bottom >= yb)
+       break;
+    }
 
   last_new = i;
 
-  /* Set last_old to the index + 1 of the last enabled row in the
-     current matrix.  We don't look at the enabled flag here because
-     we plan to reuse part of the display even if other parts are
-     disabled.  */
+  /* Set last_old to the index + 1 of the row that reaches the bottom
+     boundary in the current matrix.  We don't look at the enabled
+     flag here because we plan to reuse part of the display even if
+     other parts are disabled.  */
   i = first_old + 1;
   while (i < current_matrix->nrows - 1)
     {


reply via email to

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