]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.0546: vim-tiny fails on CTRL-X/CTRL-A v9.1.0546
authorChristian Brabandt <cb@256bit.org>
Mon, 8 Jul 2024 19:12:55 +0000 (21:12 +0200)
committerChristian Brabandt <cb@256bit.org>
Mon, 8 Jul 2024 19:12:55 +0000 (21:12 +0200)
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>
src/change.c
src/testdir/Make_all.mak
src/testdir/test28.in [new file with mode: 0644]
src/testdir/test28.ok [new file with mode: 0644]
src/version.c

index dacc06fd46b3ccd304974662507b445b958e9e21..72d01c51a38636968be5b85741fdf035938069b4 100644 (file)
@@ -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);
index a49f158757e39eee8b47785a5bd7804f59b9d83c..f199fec6a3974b64069adf9bb0abf497b18d8141 100644 (file)
@@ -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 (file)
index 0000000..3d5289d
--- /dev/null
@@ -0,0 +1,13 @@
+Test for using CTRL-A/CTRL-X in tiny mode
+
+STARTTEST
+/12352
+\ 1/12354
+\18:/^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 (file)
index 0000000..085c133
--- /dev/null
@@ -0,0 +1,3 @@
+12353
+
+12353
index 59c9f976c253bb504734b54a667b6f2fbf3179c6..53bafd37d51cef9320f17311846eeb19ae0b872a 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    546,
 /**/
     545,
 /**/