From 72011f23c3135690f65262f01ea92a53ff84b4e1 Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Thu, 23 Jan 2020 10:57:16 +0100 Subject: [PATCH] Fix bug 39218 * lisp/simple.el (shell-command): Ensure a shell command ending with `&' is run asynchronously. --- lisp/simple.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/simple.el b/lisp/simple.el index f022b8495be..9bfd58f7d61 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -3646,10 +3646,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 -- 2.39.2