changeset 22635:9e249065aeac v8.2.1866

patch 8.2.1866: Vim9: appending to pushed blob gives wrong result Commit: https://github.com/vim/vim/commit/66fa5fd54f550c0790d36c20124c49493b323bfa Author: Bram Moolenaar <Bram@vim.org> Date: Mon Oct 19 20:21:03 2020 +0200 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.
author Bram Moolenaar <Bram@vim.org>
date Mon, 19 Oct 2020 20:30:06 +0200
parents 33481f40f8e6
children 8e65b58ff15d
files src/blob.c src/testdir/test_vim9_func.vim src/version.c
diffstat 3 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/blob.c
+++ b/src/blob.c
@@ -80,6 +80,7 @@ blob_copy(blob_T *from, typval_T *to)
 		len = 0;
 	}
 	to->vval.v_blob->bv_ga.ga_len = len;
+	to->vval.v_blob->bv_ga.ga_maxlen = len;
     }
     return ret;
 }
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1790,6 +1790,12 @@ def Test_list_add()
   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_$')
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1866,
+/**/
     1865,
 /**/
     1864,