patch 9.1.1025: wrong return type of blob2str()
Problem: wrong return type of blob2str()
Solution: update return to list of string
(Yegappan Lakshmanan)
closes: #16461
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 2b630ca..8886088 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1847,7 +1847,7 @@
{"blob2list", 1, 1, FEARG_1, arg1_blob,
ret_list_number, f_blob2list},
{"blob2str", 1, 2, FEARG_1, arg2_blob_dict,
- ret_string, f_blob2str},
+ ret_list_string, f_blob2str},
{"browse", 4, 4, 0, arg4_browse,
ret_string, f_browse},
{"browsedir", 2, 2, 0, arg2_string,
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index c82608b..cfaf0ac 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -357,6 +357,16 @@
v9.CheckSourceDefAndScriptFailure(['blob2list(10)'], ['E1013: Argument 1: type mismatch, expected blob but got number', 'E1238: Blob required for argument 1'])
enddef
+def Test_blob2str()
+ 0z6162->blob2str()->assert_equal(["ab"])
+ blob2str(0z)->assert_equal([])
+
+ var l: list<string> = blob2str(0zC2ABC2BB)
+ assert_equal(["«»"], l)
+
+ v9.CheckSourceDefAndScriptFailure(['blob2str("ab")'], ['E1013: Argument 1: type mismatch, expected blob but got string', 'E1238: Blob required for argument 1'])
+enddef
+
def Test_browse()
CheckFeature browse
@@ -4325,6 +4335,13 @@
assert_equal('', state('a'))
enddef
+def Test_str2blob()
+ ["ab"]->str2blob()->assert_equal(0z6162)
+ str2blob([""])->assert_equal(0z)
+
+ v9.CheckSourceDefAndScriptFailure(['str2blob("ab")'], ['E1013: Argument 1: type mismatch, expected list<string> but got string', 'E1211: List required for argument 1'])
+enddef
+
def Test_str2float()
str2float("1.00")->assert_equal(1.00)
str2float("2e-2")->assert_equal(0.02)
diff --git a/src/version.c b/src/version.c
index b002210..93f94c1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1025,
+/**/
1024,
/**/
1023,