diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/indent.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/indent.c b/src/indent.c index aa905f387bb..4bf597a339f 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -637,6 +637,11 @@ scan_for_column (ptrdiff_t *endpos, EMACS_INT *goalcol, | |||
| 637 | scan_byte = CHAR_TO_BYTE (scan); | 637 | scan_byte = CHAR_TO_BYTE (scan); |
| 638 | if (scan >= end) | 638 | if (scan >= end) |
| 639 | goto endloop; | 639 | goto endloop; |
| 640 | /* We may have over-stepped cmp_it.stop_pos while skipping | ||
| 641 | the invisible text. If so, update cmp_it.stop_pos. */ | ||
| 642 | if (scan > cmp_it.stop_pos && cmp_it.id < 0) | ||
| 643 | composition_reseat_it (&cmp_it, scan, scan_byte, end, | ||
| 644 | w, -1, NULL, Qnil); | ||
| 640 | } | 645 | } |
| 641 | 646 | ||
| 642 | /* Test reaching the goal column. We do this after skipping | 647 | /* Test reaching the goal column. We do this after skipping |
| @@ -1358,6 +1363,9 @@ compute_motion (ptrdiff_t from, ptrdiff_t frombyte, EMACS_INT fromvpos, | |||
| 1358 | pos = newpos; | 1363 | pos = newpos; |
| 1359 | pos_byte = CHAR_TO_BYTE (pos); | 1364 | pos_byte = CHAR_TO_BYTE (pos); |
| 1360 | } | 1365 | } |
| 1366 | if (newpos > cmp_it.stop_pos && cmp_it.id < 0) | ||
| 1367 | composition_reseat_it (&cmp_it, pos, pos_byte, to, | ||
| 1368 | win, -1, NULL, Qnil); | ||
| 1361 | 1369 | ||
| 1362 | rarely_quit (++quit_count); | 1370 | rarely_quit (++quit_count); |
| 1363 | } | 1371 | } |