> From: Klaus-Dieter Bauer <bauer.klaus.dieter@gmail.com>
> Date: Thu, 11 Oct 2018 14:55:27 +0200
>
> Entering
>
> M-x eval-expression RET
> (make-process :name "test" :command '("No Such Command"))
>
> will bring up the debugger with
>
> (file-missing "Searching for program" "No such file or directory" "nosuchcommand")
>
> However, entering
>
> M-x eval-expression RET
> (make-process :name "test" :command '("c:/No Such Command"))
>
> will merely display in the echo-area message:
>
> eval: Spawning child process: Invalid argument
>
> I stumbled upon this when debugging a quick-and-dirty
> script, that called a program by absolute path. When a new
> version of the program changed the name of the executable
> (tex2lyx2.3 -> tex2lyx), this issue occurred, and hindered
> debugging the problem.
>
> The wording of the message might indicate a
> Windows-specific issue.
The error in the second case is Windows specific, but the
inconsistency isn't: on Unix the second case "succeeds", in that it
returns a process object without any error messages.
The error message you see in the first case is because Emacs searches
for the program along exec-path (because it is not an absolute file
name). In the second case this search is not done, because the file
name is already absolute.
So I don't think this is a bug.
(let (p)(setq p(make-process :name "test" :command '("/tmp/nosuchcommand") :buffer (current-buffer)));; -- Subsequent code never reached on Windows(while (process-live-p p)(sleep-for 0.01))(message "(Process exit status %d)"(process-exit-status p)))