summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/simple.el3
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