emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs-24 r117250: A better fix for bug #17777 with visual-


From: Eli Zaretskii
Subject: [Emacs-diffs] emacs-24 r117250: A better fix for bug #17777 with visual-order cursor movement.
Date: Mon, 16 Jun 2014 19:39:17 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117250
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/17777
committer: Eli Zaretskii <address@hidden>
branch nick: emacs-24
timestamp: Mon 2014-06-16 22:38:28 +0300
message:
  A better fix for bug #17777 with visual-order cursor movement.
  
   src/xdisp.c (Fmove_point_visually): Instead of testing for keyboard
   macro execution, make sure point didn't move since last complete
   redisplay, as the condition for using the glyph matrix
   information.
modified:
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/xdisp.c                    xdisp.c-20091113204419-o5vbwnq5f7feedwu-240
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-06-14 11:09:10 +0000
+++ b/src/ChangeLog     2014-06-16 19:38:28 +0000
@@ -1,3 +1,10 @@
+2014-06-16  Eli Zaretskii  <address@hidden>
+
+       * xdisp.c (Fmove_point_visually): Instead of testing for keyboard
+       macro execution, make sure point didn't move since last complete
+       redisplay, as the condition for using the glyph matrix
+       information.  (Bug#17777)
+
 2014-06-14  Eli Zaretskii  <address@hidden>
 
        * xdisp.c (Fmove_point_visually): Don't use the glyph matrix

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2014-06-15 07:47:04 +0000
+++ b/src/xdisp.c       2014-06-16 19:38:28 +0000
@@ -20757,12 +20757,15 @@
      recorded in the glyphs, at least as long as the goal is on the
      screen.  */
   if (w->window_end_valid
-      && NILP (Vexecuting_kbd_macro)
       && !windows_or_buffers_changed
       && b
       && !b->clip_changed
       && !b->prevent_redisplay_optimizations_p
       && !window_outdated (w)
+      /* We rely below on the cursor coordinates to be up to date, but
+        we cannot trust them if some command moved point since the
+        last complete redisplay.  */
+      && w->last_point == BUF_PT (b)
       && w->cursor.vpos >= 0
       && w->cursor.vpos < w->current_matrix->nrows
       && (row = MATRIX_ROW (w->current_matrix, w->cursor.vpos))->enabled_p)


reply via email to

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