summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Brabandt <cb@256bit.org>2024-07-08 21:12:55 +0200
committerChristian Brabandt <cb@256bit.org>2024-07-08 21:12:55 +0200
commit03acd4761be1c2766d3ec17534ea63cdf8dd565d (patch)
tree97167ec992f0bd60eac4b6704186c442d1cb2900
parentab03dd2085a37a62864cbf8616ebd52b8bbc3f6b (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.c4
-rw-r--r--src/testdir/Make_all.mak6
-rw-r--r--src/testdir/test28.in13
-rw-r--r--src/testdir/test28.ok3
-rw-r--r--src/version.c2
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,