diff options
| author | Eli Zaretskii | 2026-01-19 16:20:39 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2026-01-19 16:20:39 +0200 |
| commit | cb7a3f4e893e03c7f33f21523ce59912691fdb9e (patch) | |
| tree | 6966bc0789bef4c04e305168612ef1a3608ecb54 /src | |
| parent | e81cee7468b263d27da32b41975cb24571551d90 (diff) | |
| download | emacs-cb7a3f4e893e03c7f33f21523ce59912691fdb9e.tar.gz emacs-cb7a3f4e893e03c7f33f21523ce59912691fdb9e.zip | |
Fix vertical cursor motion across overlay strings
* src/indent.c (Fvertical_motion): Fix vertical cursor motion when
a screen line begins with an overlay string. (Bug#80223)
Diffstat (limited to 'src')
| -rw-r--r-- | src/indent.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/indent.c b/src/indent.c index 427350020fd..3443ddb8c73 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -2506,7 +2506,10 @@ buffer, whether or not it is currently displayed in some window. */) | |||
| 2506 | an addition to the hscroll amount. */ | 2506 | an addition to the hscroll amount. */ |
| 2507 | if (!NILP (lcols)) | 2507 | if (!NILP (lcols)) |
| 2508 | { | 2508 | { |
| 2509 | if (it.method == GET_FROM_STRING && !NILP (it.from_overlay)) | 2509 | /* Start at beginning of line if inside an overlay string, to |
| 2510 | avoid becoming stuck at the beginning of the overlay string. */ | ||
| 2511 | if (it.continuation_lines_width <= 0 /* not in continuation line */ | ||
| 2512 | && it.method == GET_FROM_STRING && !NILP (it.from_overlay)) | ||
| 2510 | reseat_at_previous_visible_line_start(&it); | 2513 | reseat_at_previous_visible_line_start(&it); |
| 2511 | 2514 | ||
| 2512 | move_it_in_display_line (&it, ZV, first_x + to_x, MOVE_TO_X); | 2515 | move_it_in_display_line (&it, ZV, first_x + to_x, MOVE_TO_X); |