aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1994-11-19 14:06:09 +0000
committerRichard M. Stallman1994-11-19 14:06:09 +0000
commitb59f6d7a689c5a4bc703918aca0a67b1492aea32 (patch)
tree96d6e9122115be4004e96050f2b3cfbffe38eed4
parentcc66b32b04bb852a2b6dd1c47b56f7d58b50f17d (diff)
downloademacs-b59f6d7a689c5a4bc703918aca0a67b1492aea32.tar.gz
emacs-b59f6d7a689c5a4bc703918aca0a67b1492aea32.zip
(start-process-shell-command): Don't use `exec'--
run the command in a child process.
-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."
853 (cond 853 (cond
854 ((eq system-type 'vax-vms) 854 ((eq system-type 'vax-vms)
855 (apply 'start-process name buffer args)) 855 (apply 'start-process name buffer args))
856 ((eq system-type 'windows-nt) 856 ;; We used to use `exec' to replace the shell with the command,
857 (start-process name buffer shell-file-name shell-command-switch 857 ;; but that failed to handle (...) and semicolon, etc.
858 (mapconcat 'identity args " ")))
859 (t 858 (t
860 (start-process name buffer shell-file-name shell-command-switch 859 (start-process name buffer shell-file-name shell-command-switch
861 (concat "exec " (mapconcat 'identity args " ")))))) 860 (mapconcat 'identity args " ")))))
862 861
863(defmacro save-match-data (&rest body) 862(defmacro save-match-data (&rest body)
864 "Execute the BODY forms, restoring the global value of the match data." 863 "Execute the BODY forms, restoring the global value of the match data."