summaryrefslogtreecommitdiff
path: root/lisp/subr.el
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1994-11-03 21:23:40 +0000
committerKarl Heuer <kwzh@gnu.org>1994-11-03 21:23:40 +0000
commitf59fd095b654be161fa9468386c1ac0435bd61b5 (patch)
tree7eaf5dac0b54d34f02051e6189d20d89bf5a225d /lisp/subr.el
parente63fdfa9615723b5b8fd1b3f92bb583dadfb2670 (diff)
downloademacs-f59fd095b654be161fa9468386c1ac0435bd61b5.tar.gz
(start-process-shell-command): Don't use exec on windows-nt.
Diffstat (limited to 'lisp/subr.el')
-rw-r--r--lisp/subr.el13
1 files changed, 9 insertions, 4 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index b623658e8df..b0c718a7601 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -846,10 +846,15 @@ BUFFER is the buffer or (buffer-name) to associate with the process.
Third arg is command name, the name of a shell command.
Remaining arguments are the arguments for the command.
Wildcards and redirection are handled as usual in the shell."
- (if (eq system-type 'vax-vms)
- (apply 'start-process name buffer args)
- (start-process name buffer shell-file-name "-c"
- (concat "exec " (mapconcat 'identity args " ")))))
+ (cond
+ ((eq system-type 'vax-vms)
+ (apply 'start-process name buffer args))
+ ((eq system-type 'windows-nt)
+ (start-process name buffer shell-file-name shell-command-switch
+ (mapconcat 'identity args " ")))
+ (t
+ (start-process name buffer shell-file-name shell-command-switch
+ (concat "exec " (mapconcat 'identity args " "))))))
(defmacro save-match-data (&rest body)
"Execute the BODY forms, restoring the global value of the match data."