summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2023-01-25 17:34:41 +0000
committerBram Moolenaar <Bram@vim.org>2023-01-25 17:34:41 +0000
commit0f843ef091eceb470caece1d90fdfe08926fe076 (patch)
treef501a2405d98bf07a78317fc0002f2c3c59d1767 /src
parent01d4efe2e87632aa085897d3d64e27585908f977 (diff)
patch 9.0.1244: cursor displayed in wrong position when leaving Insert modev9.0.1244
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)
Diffstat (limited to 'src')
-rw-r--r--src/getchar.c12
-rw-r--r--src/version.c2
2 files changed, 8 insertions, 6 deletions
diff --git a/src/getchar.c b/src/getchar.c
index 2fb9baaf85..f4dce0222a 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 47052dda68..1bb82e2492 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1244,
+/**/
1243,
/**/
1242,