summaryrefslogtreecommitdiff
path: root/lisp/subr.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-11-19 14:06:09 +0000
committerRichard M. Stallman <rms@gnu.org>1994-11-19 14:06:09 +0000
commit9aaba4f843221ebb1bdf826f0e388e4a7b46a901 (patch)
tree9b0872ee9a681aa7494acac763950bb108a91c27 /lisp/subr.el
parent38a7a86e14da6746cc5d282e30b4940d58198c79 (diff)
downloademacs-9aaba4f843221ebb1bdf826f0e388e4a7b46a901.tar.gz
(start-process-shell-command): Don't use `exec'--
run the command in a child process.
Diffstat (limited to 'lisp/subr.el')
-rw-r--r--lisp/subr.el7
1 files changed, 3 insertions, 4 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index 959be2580c4..6523e48bdb4 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -853,12 +853,11 @@ Wildcards and redirection are handled as usual in the shell."
(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 " ")))
+ ;; We used to use `exec' to replace the shell with the command,
+ ;; but that failed to handle (...) and semicolon, etc.
(t
(start-process name buffer shell-file-name shell-command-switch
- (concat "exec " (mapconcat 'identity args " "))))))
+ (mapconcat 'identity args " ")))))
(defmacro save-match-data (&rest body)
"Execute the BODY forms, restoring the global value of the match data."