]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bug #10902 with cursor positioning at EOB.
authorEli Zaretskii <eliz@gnu.org>
Fri, 2 Mar 2012 11:35:51 +0000 (13:35 +0200)
committerEli Zaretskii <eliz@gnu.org>
Fri, 2 Mar 2012 11:35:51 +0000 (13:35 +0200)
 src/xdisp.c (try_window_reusing_current_matrix): Don't move cursor
 position past the first glyph_row that ends at ZV.

src/ChangeLog
src/xdisp.c

index ecfd83eef379469bcf5f13960a2f191c1d22cb6a..c84854f28272f59625c8a586d33a45278b619631 100644 (file)
@@ -1,3 +1,8 @@
+2012-03-02  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (try_window_reusing_current_matrix): Don't move cursor
+       position past the first glyph_row that ends at ZV.  (Bug#10902)
+
 2012-03-02  Glenn Morris  <rgm@gnu.org>
 
        * buffer.c (buffer-list-update-hook): Doc fix.
index 644658b3136a43f6bd909156091eed9a51979eb1..f98df491f59ebbc3374e4a2424e63185842c12b7 100644 (file)
@@ -16322,7 +16322,10 @@ try_window_reusing_current_matrix (struct window *w)
           ++first_row_to_display)
        {
          if (PT >= MATRIX_ROW_START_CHARPOS (first_row_to_display)
-             && PT < MATRIX_ROW_END_CHARPOS (first_row_to_display))
+             && (PT < MATRIX_ROW_END_CHARPOS (first_row_to_display)
+                 || (PT == MATRIX_ROW_END_CHARPOS (first_row_to_display)
+                     && first_row_to_display->ends_at_zv_p
+                     && pt_row == NULL)))
            pt_row = first_row_to_display;
        }
 
@@ -16414,7 +16417,9 @@ try_window_reusing_current_matrix (struct window *w)
       if (pt_row)
        {
          for (row = MATRIX_ROW (w->current_matrix, w->cursor.vpos);
-              row < bottom_row && PT >= MATRIX_ROW_END_CHARPOS (row);
+              row < bottom_row
+                && PT >= MATRIX_ROW_END_CHARPOS (row)
+                && !row->ends_at_zv_p;
               row++)
            {
              w->cursor.vpos++;