From 1e079fa987ac5211a1749c13a4efaa6090963fa7 Mon Sep 17 00:00:00 2001 From: Rui Abreu Ferreira Date: Fri, 30 Sep 2016 15:29:50 +0100 Subject: system([...]): Set v:shell_error=-1 if not executable. Do _not_ set v:shell_error on parameter validation error. system([...]) does not invoke a shell, so this change is somewhat questionable. But `:help v:shell_error` is sufficiently vague to allow -1 in this case. --- src/nvim/eval.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 17e89e5757..1688a565c1 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -16994,8 +16994,12 @@ static void get_system_output_as_rettv(typval_T *argvars, typval_T *rettv, } // get shell command to execute - char **argv = tv_to_argv(&argvars[0], NULL, NULL); + bool executable = true; + char **argv = tv_to_argv(&argvars[0], NULL, &executable); if (!argv) { + if (!executable) { + set_vim_var_nr(VV_SHELL_ERROR, (long)-1); + } xfree(input); return; // Already did emsg. } -- cgit