diff options
-rw-r--r-- | src/indent.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/indent.c b/src/indent.c index 33bf424b344..ec38ea798c7 100644 --- a/src/indent.c +++ b/src/indent.c @@ -2130,6 +2130,15 @@ whether or not it is currently displayed in some window. */) && it.method == GET_FROM_BUFFER && it.c == '\n') it_overshoot_count = 1; + else if (it_overshoot_count == 1 && it.vpos == 0 + && it.current_x < it.last_visible_x) + { + /* If we came to the same screen line as the one where + we started, we didn't overshoot the line, and won't + need to backtrack after all. This happens, for + example, when PT is in the middle of a composition. */ + it_overshoot_count = 0; + } else if (disp_string_at_start_p && it.vpos > 0) { /* This is the case of a display string that spans |