From 0f843ef091eceb470caece1d90fdfe08926fe076 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 25 Jan 2023 17:34:41 +0000 Subject: [PATCH] patch 9.0.1244: cursor displayed in wrong position when leaving Insert mode Problem: Cursor briefly displayed in a wrong position when pressing Esc in Insert mode after autoindent was used. Solution: Do not adjust the cursor position for assumed deleted white space if text is following. (closes #11877) --- src/getchar.c | 12 ++++++------ src/version.c | 2 ++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/getchar.c b/src/getchar.c index 2fb9baaf8..f4dce0222 100644 --- a/src/getchar.c +++ b/src/getchar.c @@ -3328,15 +3328,15 @@ vgetorpeek(int advance) { if (curwin->w_wcol > 0) { - if (did_ai) + // After auto-indenting and no text is following, + // we are expecting to truncate the trailing + // white-space, so find the last non-white + // character -- webb + if (did_ai && *skipwhite(ml_get_curline() + + curwin->w_cursor.col) == NUL) { chartabsize_T cts; - /* - * We are expecting to truncate the trailing - * white-space, so find the last non-white - * character -- webb - */ curwin->w_wcol = 0; ptr = ml_get_curline(); init_chartabsize_arg(&cts, curwin, diff --git a/src/version.c b/src/version.c index 47052dda6..1bb82e249 100644 --- a/src/version.c +++ b/src/version.c @@ -695,6 +695,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1244, /**/ 1243, /**/ -- 2.40.0