From e1deafd39d9ef32cfa54c0be498f26857bf49c25 Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Thu, 23 Jan 2020 10:56:02 +0100 Subject: [PATCH] Backport: 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 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 -- 2.39.2