aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <janedmundlazo@hotmail.com>2018-08-22 13:00:42 -0400
committerJan Edmund Lazo <janedmundlazo@hotmail.com>2018-08-22 13:06:04 -0400
commiteaf8e57cf9edbc8bce9884f427928bb8bb9bb315 (patch)
tree68ae7d69b75c32be1744b47263157bb35fded65d /src/nvim/eval.c
parenta466bd2927c9d15071aba425a01f11435ae4bbd2 (diff)
downloadrneovim-eaf8e57cf9edbc8bce9884f427928bb8bb9bb315.tar.gz
rneovim-eaf8e57cf9edbc8bce9884f427928bb8bb9bb315.tar.bz2
rneovim-eaf8e57cf9edbc8bce9884f427928bb8bb9bb315.zip
vim-patch:8.0.1242: function argument with only dash is seen as number zero
Problem: Function argument with only dash is seen as number zero. (Wang Shidong) Solution: See a dash as a string. (Christian Brabandt) https://github.com/vim/vim/commit/ffd99f729bd806e09d9355ede9c17780b61057bf
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 4bb7a45232..8db8aaa168 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -1210,8 +1210,12 @@ int call_vim_function(
if (str_arg_only) {
len = 0;
} else {
- // Recognize a number argument, the others must be strings.
+ // Recognize a number argument, the others must be strings. A dash
+ // is a string too.
vim_str2nr(argv[i], NULL, &len, STR2NR_ALL, &n, NULL, 0);
+ if (len == 1 && *argv[i] == '-') {
+ len = 0;
+ }
}
if (len != 0 && len == (int)STRLEN(argv[i])) {
argvars[i].v_type = VAR_NUMBER;