diff options
author | Tino Calancha <tino.calancha@gmail.com> | 2020-01-23 10:56:02 +0100 |
---|---|---|
committer | Tino Calancha <tino.calancha@gmail.com> | 2020-01-23 10:56:02 +0100 |
commit | e1deafd39d9ef32cfa54c0be498f26857bf49c25 (patch) | |
tree | a9f34ebee3b36f4d58724f8c51164168e94b4ff9 | |
parent | d15f2d4cbcd203d04737d56ee77676e25db6745a (diff) | |
download | emacs-e1deafd39d9ef32cfa54c0be498f26857bf49c25.tar.gz |
Backport: Fix bug 39218
* lisp/simple.el (shell-command):
Ensure a shell command ending with `&' is run asynchronously.
-rw-r--r-- | lisp/simple.el | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lisp/simple.el b/lisp/simple.el index 3546bef600d..73aea415c77 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -3640,10 +3640,11 @@ impose the use of a shell (with its need to quote arguments)." (if handler (funcall handler 'shell-command command output-buffer error-buffer) (if (and output-buffer + (not (string-match "[ \t]*&[ \t]*\\'" command)) (or (eq output-buffer (current-buffer)) (and (stringp output-buffer) (eq (get-buffer output-buffer) (current-buffer))) (not (or (bufferp output-buffer) (stringp output-buffer))))) ; Bug#39067 - ;; Output goes in current buffer. + ;; Synchronous command with output in current buffer. (let ((error-file (and error-buffer (make-temp-file |