From: Shuguang Sun Date: Sat, 13 Jan 2018 16:52:04 +0000 (+0100) Subject: Fix Bug#29149 in dired-aux.el X-Git-Tag: emacs-27.0.90~5885 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7f52a102ad8234dbfe59a005034c7fc3e4fe538c;p=emacs.git Fix Bug#29149 in dired-aux.el * lisp/dired-aux.el (dired-shell-stuff-it): Handle remote commands on w32 properly. (Bug#29149) --- diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 7fff7e7a240..223b254c4ba 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -794,15 +794,16 @@ can be produced by `dired-get-marked-files', for example." (and in-background (not sequentially) (not (eq system-type 'ms-dos)))) (w32-shell (and (fboundp 'w32-shell-dos-semantics) (w32-shell-dos-semantics))) + (file-remote (file-remote-p default-directory)) ;; The way to run a command in background in Windows shells ;; is to use the START command. The /B switch means not to ;; create a new window for the command. - (cmd-prefix (if w32-shell "start /b " "")) + (cmd-prefix (if (and w32-shell (not file-remote)) "start /b " "")) ;; Windows shells don't support chaining with ";", they use ;; "&" instead. - (cmd-sep (if (and (not w32-shell) (not parallel-in-background)) - ";" - "&")) + (cmd-sep (if (and (or (not w32-shell) file-remote) + (not parallel-in-background)) + ";" "&")) (stuff-it (if (dired--star-or-qmark-p command nil 'keep) (lambda (x)