summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-12-22 16:09:06 +0100
committerBram Moolenaar <Bram@vim.org>2019-12-22 16:09:06 +0100
commitba0a7475c52ea0ba9e083934bd328fbcbfa8d532 (patch)
treeba830746e37547f07efa64c68528eee1f77f225b /src
parent64e74c9cc7d5aab215cf72d9bdd3aac32e128191 (diff)
downloadvim-git-ba0a7475c52ea0ba9e083934bd328fbcbfa8d532.tar.gz
patch 8.2.0031: MS-Windows: test for empty job failsv8.2.0031
Problem: MS-Windows: test for empty job fails Solution: Check for error message, make it also fail on Unix.
Diffstat (limited to 'src')
-rw-r--r--src/channel.c12
-rw-r--r--src/testdir/test_channel.vim4
-rw-r--r--src/version.c2
3 files changed, 14 insertions, 4 deletions
diff --git a/src/channel.c b/src/channel.c
index aed234c3a..f1c2ccd33 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -5943,11 +5943,19 @@ job_start(
if (build_argv_from_list(l, &argv, &argc) == FAIL)
goto theend;
-#ifndef USE_ARGV
+
+ // Empty command is invalid.
+#ifdef USE_ARGV
+ if (argc == 0 || *skipwhite((char_u *)argv[0]) == NUL)
+ {
+ emsg(_(e_invarg));
+ goto theend;
+ }
+#else
if (win32_build_cmd(l, &ga) == FAIL)
goto theend;
cmd = ga.ga_data;
- if (cmd == NULL)
+ if (cmd == NULL || *skipwhite(cmd) == NUL)
{
emsg(_(e_invarg));
goto theend;
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index 24a7ae454..a7c40098d 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -1960,8 +1960,8 @@ endfunc
func Test_empty_job()
" This was crashing on MS-Windows.
- let job = job_start([""])
- call WaitForAssert({-> assert_equal("dead", job_status(job))})
+ call assert_fails('let job = job_start([""])', 'E474:')
+ call assert_fails('let job = job_start([" "])', 'E474:')
endfunc
" Do this last, it stops any channel log.
diff --git a/src/version.c b/src/version.c
index 9dbfd6ff4..7e9f4a57c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 31,
+/**/
30,
/**/
29,