]> git.eshelyaron.com Git - emacs.git/commitdiff
(update_window): Make sure to make desired rows
authorGerd Moellmann <gerd@gnu.org>
Sat, 16 Sep 2000 13:39:36 +0000 (13:39 +0000)
committerGerd Moellmann <gerd@gnu.org>
Sat, 16 Sep 2000 13:39:36 +0000 (13:39 +0000)
current even if they are completely invisible at the top
of a window.

src/ChangeLog
src/dispnew.c

index 95a1d8fffeb8057afca46356074fca9935d9b251..652aede73324cdd1bc2d2e06abd46a77d4c0199d 100644 (file)
@@ -1,3 +1,9 @@
+2000-09-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (update_window): Make sure to make desired rows
+       current even if they are completely invisible at the top
+       of a window.
+
 2000-09-15  Gerd Moellmann  <gerd@gnu.org>
 
        * xfns.c (lookup_image): Build mask before applying an algorithm.
index 45b1223e55cba4a2b2bedf6d4ae974ebbf800b01..61cf1754e2ed99aaf14483866bd850eeda76f397 100644 (file)
@@ -3839,15 +3839,23 @@ update_window (w, force_p)
 
       /* Update the rest of the lines.  */
       for (; row < end && (force_p || !input_pending); ++row)
-       if (row->enabled_p
-           /* A row can be completely invisible in case a desired
-              matrix was built with a vscroll and then
-              make_cursor_line_fully_visible shifts the matrix.  */
-           && row->visible_height > 0)
+       if (row->enabled_p)
          {
            int vpos = MATRIX_ROW_VPOS (row, desired_matrix);
            int i;
            
+           /* A row can be completely invisible in case a desired
+              matrix was built with a vscroll and then
+              make_cursor_line_fully_visible shifts the matrix.
+              Make sure to make such rows current anyway, since
+              we need the correct y-position, for example, in the
+              current matrix.  */
+           if (row->visible_height <= 0)
+             {
+               make_current (w->desired_matrix, w->current_matrix, vpos);
+               continue;
+             }
+           
            /* We'll Have to play a little bit with when to
               detect_input_pending.  If it's done too often,
               scrolling large windows with repeated scroll-up