patch 8.2.2765: Vim9: not all blob operations work
Problem: Vim9: not all blob operations work.
Solution: Run more tests also with Vim9 script and :def functions. Fix what
doesn't work.
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 026a9ee..bdf4a02 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -2278,8 +2278,18 @@
if (error)
status = FAIL;
else
- status = blob_set_range(tv_dest->vval.v_blob,
- n1, n2, tv);
+ {
+ long bloblen = blob_len(tv_dest->vval.v_blob);
+
+ if (check_blob_index(bloblen,
+ n1, TRUE, FALSE) == FAIL
+ || check_blob_range(bloblen,
+ n1, n2, FALSE) == FAIL)
+ status = FAIL;
+ else
+ status = blob_set_range(
+ tv_dest->vval.v_blob, n1, n2, tv);
+ }
}
}