emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r105472: Fix cursor positioning at en


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r105472: Fix cursor positioning at end of buffer under bidi display.
Date: Tue, 16 Aug 2011 17:28:19 +0300
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 105472
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Tue 2011-08-16 17:28:19 +0300
message:
  Fix cursor positioning at end of buffer under bidi display.
  
   src/xdisp.c (set_cursor_from_row): Don't accept a previous candidate
   if it fails the cursor_row_p test.  Fixes cursor positioning at ZV.
modified:
  src/ChangeLog
  src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-08-16 13:27:12 +0000
+++ b/src/ChangeLog     2011-08-16 14:28:19 +0000
@@ -1,3 +1,8 @@
+2011-08-16  Eli Zaretskii  <address@hidden>
+
+       * xdisp.c (set_cursor_from_row): Don't accept a previous candidate
+       if it fails the cursor_row_p test.  Fixes cursor positioning at ZV.
+
 2011-08-16  Ken Brown  <address@hidden>
 
        Fix memory allocation problems in Cygwin build (Bug#9273).

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2011-08-15 06:44:48 +0000
+++ b/src/xdisp.c       2011-08-16 14:28:19 +0000
@@ -13751,11 +13751,13 @@
       /* that candidate is not the row we are processing */
       && MATRIX_ROW (matrix, w->cursor.vpos) != row
       /* Make sure cursor.vpos specifies a row whose start and end
-        charpos occlude point.  This is because some callers of this
-        function leave cursor.vpos at the row where the cursor was
-        displayed during the last redisplay cycle.  */
+        charpos occlude point, and it is valid candidate for being a
+        cursor-row.  This is because some callers of this function
+        leave cursor.vpos at the row where the cursor was displayed
+        during the last redisplay cycle.  */
       && MATRIX_ROW_START_CHARPOS (MATRIX_ROW (matrix, w->cursor.vpos)) <= 
pt_old
-      && pt_old <= MATRIX_ROW_END_CHARPOS (MATRIX_ROW (matrix, 
w->cursor.vpos)))
+      && pt_old <= MATRIX_ROW_END_CHARPOS (MATRIX_ROW (matrix, w->cursor.vpos))
+      && cursor_row_p (MATRIX_ROW (matrix, w->cursor.vpos)))
     {
       struct glyph *g1 =
        MATRIX_ROW_GLYPH_START (matrix, w->cursor.vpos) + w->cursor.hpos;


reply via email to

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