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:
parent
6a7faa1664
commit
4f9dc9b61d
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user