diff options
| author | Richard M. Stallman | 1995-06-15 15:29:00 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1995-06-15 15:29:00 +0000 |
| commit | 0a4de642e4db66aa01ea94790c5c9ce78eb75906 (patch) | |
| tree | f0e62e5720d82b66ebf17e0892c5f4adbd0aca76 /src | |
| parent | 0774fcf89c25df2a9c3b6952f64c2bc82592925e (diff) | |
| download | emacs-0a4de642e4db66aa01ea94790c5c9ce78eb75906.tar.gz emacs-0a4de642e4db66aa01ea94790c5c9ce78eb75906.zip | |
(win32_spawnve): Accept program names without executable suffixes.
Diffstat (limited to 'src')
| -rw-r--r-- | src/w32proc.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/w32proc.c b/src/w32proc.c index 981876e6b16..e7834d6a452 100644 --- a/src/w32proc.c +++ b/src/w32proc.c | |||
| @@ -427,10 +427,30 @@ char ppid_env_var_buffer[64]; | |||
| 427 | int | 427 | int |
| 428 | win32_spawnve (int mode, char *cmdname, char **argv, char **envp) | 428 | win32_spawnve (int mode, char *cmdname, char **argv, char **envp) |
| 429 | { | 429 | { |
| 430 | Lisp_Object program, full; | ||
| 430 | char *cmdline, *env, *parg, **targ; | 431 | char *cmdline, *env, *parg, **targ; |
| 431 | int arglen; | 432 | int arglen; |
| 432 | PROCESS_INFORMATION pi; | 433 | PROCESS_INFORMATION pi; |
| 433 | 434 | ||
| 435 | /* Handle executable names without an executable suffix. */ | ||
| 436 | program = make_string (cmdname, strlen (cmdname)); | ||
| 437 | if (NILP (Ffile_executable_p (program))) | ||
| 438 | { | ||
| 439 | struct gcpro gcpro1; | ||
| 440 | |||
| 441 | full = Qnil; | ||
| 442 | GCPRO1 (program); | ||
| 443 | openp (Vexec_path, program, EXEC_SUFFIXES, &full, 1); | ||
| 444 | UNGCPRO; | ||
| 445 | if (NILP (full)) | ||
| 446 | { | ||
| 447 | errno = EINVAL; | ||
| 448 | return -1; | ||
| 449 | } | ||
| 450 | cmdname = XSTRING (full)->data; | ||
| 451 | argv[0] = cmdname; | ||
| 452 | } | ||
| 453 | |||
| 434 | if (child_proc_count == MAX_CHILDREN) | 454 | if (child_proc_count == MAX_CHILDREN) |
| 435 | { | 455 | { |
| 436 | errno = EAGAIN; | 456 | errno = EAGAIN; |