Problem: MS-Windows: test for empty job fails
Solution: Check for error message, make it also fail on Unix.
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;
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.
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 31,
/**/
30,
/**/