# HG changeset patch # User Bram Moolenaar # Date 1603132206 -7200 # Node ID 9e249065aeac135bdd8a3aa6c6a30a73a3408fef # Parent 33481f40f8e6d6b30ff2b4d07f14683d5a05455b patch 8.2.1866: Vim9: appending to pushed blob gives wrong result Commit: https://github.com/vim/vim/commit/66fa5fd54f550c0790d36c20124c49493b323bfa Author: Bram Moolenaar 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. diff --git a/src/blob.c b/src/blob.c --- 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; } diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim --- 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('') ->matchstr('\zs\d\+\ze_$') diff --git a/src/version.c b/src/version.c --- 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,