diff options
| author | Eli Zaretskii | 2014-03-08 12:54:43 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2014-03-08 12:54:43 +0200 |
| commit | 2c65ad215a5459a4d5bbb9f35627a51dcbe3ae55 (patch) | |
| tree | e2e718dc3a471bb9ff5d30ff9ced205845a6b583 /src/ChangeLog | |
| parent | 543d692e4f6fae0ba1352bab68f3f4139d829f0f (diff) | |
| download | emacs-2c65ad215a5459a4d5bbb9f35627a51dcbe3ae55.tar.gz emacs-2c65ad215a5459a4d5bbb9f35627a51dcbe3ae55.zip | |
Fix more failures of visual-order cursor movement under word-wrap (bug#16961).
src/xdisp.c (move_it_in_display_line_to): If word-wrap is ON, and
there's a valid wrap point in the display line, the last glyph
cannot "just barely fit" on this row, because display_line doesn't
let it. Instead, proceed as if the last glyph didn't fit, so that
we eventually back up the iterator to the wrap point. This avoids
delusional behavior of move_it_to, whereby it proceeds to the next
display line, but sets current_x to zero for all the glyphs that
without word-wrap would fit on the previous display line. One
result was that visual-order cursor movement behaved erratically
under word-wrap.
(Fmove_point_visually): Add code to find the x coordinate of the
last character before wrap point, under word-wrap on a TTY.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index a63995129cd..18f412362f1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,18 @@ | |||
| 1 | 2014-03-08 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * xdisp.c (move_it_in_display_line_to): If word-wrap is ON, and | ||
| 4 | there's a valid wrap point in the display line, the last glyph | ||
| 5 | cannot "just barely fit" on this row, because display_line doesn't | ||
| 6 | let it. Instead, proceed as if the last glyph didn't fit, so that | ||
| 7 | we eventually back up the iterator to the wrap point. This avoids | ||
| 8 | delusional behavior of move_it_to, whereby it proceeds to the next | ||
| 9 | display line, but sets current_x to zero for all the glyphs that | ||
| 10 | without word-wrap would fit on the previous display line. One | ||
| 11 | result was that visual-order cursor movement behaved erratically | ||
| 12 | under word-wrap. | ||
| 13 | (Fmove_point_visually): Add code to find the x coordinate of the | ||
| 14 | last character before wrap point, under word-wrap on a TTY. | ||
| 15 | |||
| 1 | 2014-03-07 Eli Zaretskii <eliz@gnu.org> | 16 | 2014-03-07 Eli Zaretskii <eliz@gnu.org> |
| 2 | 17 | ||
| 3 | * xdisp.c (Fmove_point_visually): When under word-wrap, accept | 18 | * xdisp.c (Fmove_point_visually): When under word-wrap, accept |