summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-07-13 20:32:29 +0200
committerBram Moolenaar <Bram@vim.org>2021-07-13 20:32:29 +0200
commit1840a7b4e3577e617f724c9d07ccc78195cc010a (patch)
treec28d2ac066a4d3d6756b5faa469a138ca78bdc42
parent16e26a31161d65baca7885c46c43ab4a48399c92 (diff)
patch 8.2.3158: strange error message when using islocked() with a numberv8.2.3158
Problem: Strange error message when using islocked() with a number. (Yegappan Lakshmanan) Solution: Check that the name is empty.
-rw-r--r--src/evalfunc.c5
-rw-r--r--src/testdir/test_functions.vim5
-rw-r--r--src/version.c2
3 files changed, 11 insertions, 1 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 060b5bbb28..029c8a6411 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -5961,7 +5961,10 @@ f_islocked(typval_T *argvars, typval_T *rettv)
if (end != NULL && lv.ll_name != NULL)
{
if (*end != NUL)
- semsg(_(e_trailing_arg), end);
+ {
+ semsg(_(lv.ll_name == lv.ll_name_end
+ ? e_invarg2 : e_trailing_arg), end);
+ }
else
{
if (lv.ll_tv == NULL)
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index a4ca5d45ff..e0b0314d39 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -95,6 +95,11 @@ func Test_test_void()
call assert_fails('let x = copy([test_void()])', 'E1031:')
endfunc
+func Test_islocked()
+ call assert_fails('call islocked(99)', 'E475:')
+ call assert_fails('call islocked("s: x")', 'E488:')
+endfunc
+
func Test_len()
call assert_equal(1, len(0))
call assert_equal(2, len(12))
diff --git a/src/version.c b/src/version.c
index ace5a9d83a..3de3048447 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3158,
+/**/
3157,
/**/
3156,