]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix Bug#29149 in dired-aux.el
authorShuguang Sun <shuguang@gmail.com>
Sat, 13 Jan 2018 16:52:04 +0000 (17:52 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Sat, 13 Jan 2018 16:52:04 +0000 (17:52 +0100)
* lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
commands on w32 properly.  (Bug#29149)

lisp/dired-aux.el

index 7fff7e7a24080dc101bf5470bee6a7fafeaad319..223b254c4babbda28872f13c232fc1266dea2558 100644 (file)
@@ -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)