diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-12-22 16:09:06 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-12-22 16:09:06 +0100 |
commit | ba0a7475c52ea0ba9e083934bd328fbcbfa8d532 (patch) | |
tree | ba830746e37547f07efa64c68528eee1f77f225b /src | |
parent | 64e74c9cc7d5aab215cf72d9bdd3aac32e128191 (diff) | |
download | vim-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.c | 12 | ||||
-rw-r--r-- | src/testdir/test_channel.vim | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
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, |