diff options
author | Christian Brabandt <cb@256bit.org> | 2024-07-08 21:12:55 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2024-07-08 21:12:55 +0200 |
commit | 03acd4761be1c2766d3ec17534ea63cdf8dd565d (patch) | |
tree | 97167ec992f0bd60eac4b6704186c442d1cb2900 | |
parent | ab03dd2085a37a62864cbf8616ebd52b8bbc3f6b (diff) |
patch 9.1.0546: vim-tiny fails on CTRL-X/CTRL-Av9.1.0546
Problem: vim-tiny fails on CTRL-X/CTRL-A
(Rob Foehl, after 9.1.0172)
Solution: Move #ifdefs, so that after changing the line in del_bytes,
the cached textlen value is invalidated
closes: #15178
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
-rw-r--r-- | src/change.c | 4 | ||||
-rw-r--r-- | src/testdir/Make_all.mak | 6 | ||||
-rw-r--r-- | src/testdir/test28.in | 13 | ||||
-rw-r--r-- | src/testdir/test28.ok | 3 | ||||
-rw-r--r-- | src/version.c | 2 |
5 files changed, 24 insertions, 4 deletions
diff --git a/src/change.c b/src/change.c index dacc06fd46..72d01c51a3 100644 --- a/src/change.c +++ b/src/change.c @@ -1355,17 +1355,17 @@ del_bytes( mch_memmove(newp + col, oldp + col + count, (size_t)movelen); if (alloc_newp) ml_replace(lnum, newp, FALSE); -#ifdef FEAT_PROP_POPUP else { +#ifdef FEAT_PROP_POPUP // Also move any following text properties. if (oldlen + 1 < curbuf->b_ml.ml_line_len) mch_memmove(newp + newlen + 1, oldp + oldlen + 1, (size_t)curbuf->b_ml.ml_line_len - oldlen - 1); +#endif curbuf->b_ml.ml_line_len -= count; curbuf->b_ml.ml_line_textlen = 0; } -#endif // mark the buffer as changed and prepare for displaying inserted_bytes(lnum, col, -count); diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak index a49f158757..f199fec6a3 100644 --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -20,7 +20,8 @@ SCRIPTS_TINY = \ test24 \ test25 \ test26 \ - test27 + test27 \ + test28 SCRIPTS_TINY_OUT = \ test10.out \ @@ -31,7 +32,8 @@ SCRIPTS_TINY_OUT = \ test24.out \ test25.out \ test26.out \ - test27.out + test27.out \ + test28.out # Tests for Vim9 script. TEST_VIM9 = \ diff --git a/src/testdir/test28.in b/src/testdir/test28.in new file mode 100644 index 0000000000..3d5289d220 --- /dev/null +++ b/src/testdir/test28.in @@ -0,0 +1,13 @@ +Test for using CTRL-A/CTRL-X in tiny mode + +STARTTEST +/12352 +/12354 +:/^STARTHERE/+,$w! test.out +:qa! +ENDTEST + +STARTHERE +12352 + +12354 diff --git a/src/testdir/test28.ok b/src/testdir/test28.ok new file mode 100644 index 0000000000..085c1331ad --- /dev/null +++ b/src/testdir/test28.ok @@ -0,0 +1,3 @@ +12353 + +12353 diff --git a/src/version.c b/src/version.c index 59c9f976c2..53bafd37d5 100644 --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 546, +/**/ 545, /**/ 544, |