patch 8.2.1866: Vim9: appending to pushed blob gives wrong result
Problem: Vim9: appending to pushed blob gives wrong result.
Solution: Set ga_maxlen when copying a blob.
diff --git a/src/blob.c b/src/blob.c
index f105170..264962e 100644
--- a/src/blob.c
+++ b/src/blob.c
@@ -80,6 +80,7 @@
len = 0;
}
to->vval.v_blob->bv_ga.ga_len = len;
+ to->vval.v_blob->bv_ga.ga_maxlen = len;
}
return ret;
}
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index bded91f..4af136c 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1790,6 +1790,12 @@
CheckDefExecFailure(lines, 'E1130:', 2)
enddef
+def Test_blob_add()
+ var b: blob = 0z12
+ add(b, 0x34)
+ assert_equal(0z1234, b)
+enddef
+
def SID(): number
return expand('<SID>')
->matchstr('<SNR>\zs\d\+\ze_$')
diff --git a/src/version.c b/src/version.c
index 2894ded..1b60ebd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1866,
+/**/
1865,
/**/
1864,