changeset 35604:f14eab082fdf v9.1.0546

patch 9.1.0546: vim-tiny fails on CTRL-X/CTRL-A Commit: https://github.com/vim/vim/commit/03acd4761be1c2766d3ec17534ea63cdf8dd565d Author: Christian Brabandt <cb@256bit.org> Date: Mon Jul 8 21:12:55 2024 +0200 patch 9.1.0546: vim-tiny fails on CTRL-X/CTRL-A 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>
author Christian Brabandt <cb@256bit.org>
date Mon, 08 Jul 2024 21:15:06 +0200
parents 76a7b52b8e75
children bc5502cba98e
files src/change.c src/testdir/Make_all.mak src/testdir/test28.in src/testdir/test28.ok src/version.c
diffstat 5 files changed, 24 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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);
--- 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 = \
new file mode 100644
--- /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
new file mode 100644
--- /dev/null
+++ b/src/testdir/test28.ok
@@ -0,0 +1,3 @@
+12353
+
+12353
--- 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,