diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-07-13 20:32:29 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-07-13 20:32:29 +0200 |
commit | 1840a7b4e3577e617f724c9d07ccc78195cc010a (patch) | |
tree | c28d2ac066a4d3d6756b5faa469a138ca78bdc42 | |
parent | 16e26a31161d65baca7885c46c43ab4a48399c92 (diff) | |
download | vim-git-1840a7b4e3577e617f724c9d07ccc78195cc010a.tar.gz |
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.c | 5 | ||||
-rw-r--r-- | src/testdir/test_functions.vim | 5 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c index 060b5bbb2..029c8a641 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 a4ca5d45f..e0b0314d3 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 ace5a9d83..3de304844 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, |