aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAaron Williamson <guitarfanman@gmail.com>2016-11-24 17:23:54 -0700
committerJustin M. Keyes <justinkz@gmail.com>2016-12-10 16:01:27 +0100
commitc8d5e9230ee3ddc530ddb251fbe11e3b02293c80 (patch)
tree9774ff47bf68f6669e60c14cf9871ebac87be826 /src
parentf344e40699e136a5185502ac661e64ec1b5f4184 (diff)
downloadrneovim-c8d5e9230ee3ddc530ddb251fbe11e3b02293c80.tar.gz
rneovim-c8d5e9230ee3ddc530ddb251fbe11e3b02293c80.tar.bz2
rneovim-c8d5e9230ee3ddc530ddb251fbe11e3b02293c80.zip
jobstart(): Return -1 if cmd is not executable. #5671
Closes #5465
Diffstat (limited to 'src')
-rw-r--r--src/nvim/eval.c5
-rw-r--r--src/nvim/globals.h1
2 files changed, 2 insertions, 4 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index ba5864fe3b..a791fea663 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -11608,9 +11608,6 @@ static char **tv_to_argv(typval_T *cmd_tv, char **cmd)
const char_u *exe = get_tv_string_chk(&argl->lv_first->li_tv);
if (!exe || !os_can_exe(exe, NULL, true)) {
// String is not executable
- if (exe) {
- EMSG2(e_jobexe, exe);
- }
return NULL;
}
@@ -11646,6 +11643,7 @@ static void f_jobstart(typval_T *argvars, typval_T *rettv, FunPtr fptr)
char **argv = tv_to_argv(&argvars[0], NULL);
if (!argv) {
+ rettv->vval.v_number = -1; // Return -1 on error.
return; // Did error message in tv_to_argv.
}
@@ -16470,6 +16468,7 @@ static void f_termopen(typval_T *argvars, typval_T *rettv, FunPtr fptr)
char *cmd;
char **argv = tv_to_argv(&argvars[0], &cmd);
if (!argv) {
+ rettv->vval.v_number = -1; // Return -1 on error.
return; // Did error message in tv_to_argv.
}
diff --git a/src/nvim/globals.h b/src/nvim/globals.h
index f81fb43eaf..acdda9b657 100644
--- a/src/nvim/globals.h
+++ b/src/nvim/globals.h
@@ -1125,7 +1125,6 @@ EXTERN char_u e_invcmd[] INIT(= N_("E476: Invalid command"));
EXTERN char_u e_isadir2[] INIT(= N_("E17: \"%s\" is a directory"));
EXTERN char_u e_invjob[] INIT(= N_("E900: Invalid job id"));
EXTERN char_u e_jobtblfull[] INIT(= N_("E901: Job table is full"));
-EXTERN char_u e_jobexe[] INIT(= N_("E902: \"%s\" is not an executable"));
EXTERN char_u e_jobspawn[] INIT(= N_(
"E903: Process for command \"%s\" could not be spawned"));
EXTERN char_u e_jobnotpty[] INIT(= N_("E904: Job is not connected to a pty"));