1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-15 09:47:20 +00:00

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.
This commit is contained in:
Eli Zaretskii 2014-06-16 22:38:28 +03:00
parent 6a7faa1664
commit 4f9dc9b61d
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2014-06-16 Eli Zaretskii <eliz@gnu.org>
* 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 <eliz@gnu.org>
* xdisp.c (Fmove_point_visually): Don't use the glyph matrix

View File

@ -20757,12 +20757,15 @@ Value is the new character position of point. */)
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)