]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bug 39218
authorTino Calancha <tino.calancha@gmail.com>
Thu, 23 Jan 2020 09:57:16 +0000 (10:57 +0100)
committerTino Calancha <tino.calancha@gmail.com>
Thu, 23 Jan 2020 09:58:21 +0000 (10:58 +0100)
* lisp/simple.el (shell-command):
Ensure a shell command ending with `&' is run asynchronously.

lisp/simple.el

index f022b8495be61cd26f510ebc63666db5a6aab3d6..9bfd58f7d6125d97f22af55bd04cd8ff385fb23a 100644 (file)
@@ -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