summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShuguang Sun <shuguang@gmail.com>2018-01-13 17:52:04 +0100
committerMichael Albinus <michael.albinus@gmx.de>2018-01-13 17:52:04 +0100
commit7f52a102ad8234dbfe59a005034c7fc3e4fe538c (patch)
tree490b574d7f69a97981f76c57fdfdc473710626a5
parent45ebf3afc64761af2dfd8712451e893d4c2ddbcc (diff)
downloademacs-7f52a102ad8234dbfe59a005034c7fc3e4fe538c.tar.gz
emacs-7f52a102ad8234dbfe59a005034c7fc3e4fe538c.tar.bz2
emacs-7f52a102ad8234dbfe59a005034c7fc3e4fe538c.zip
Fix Bug#29149 in dired-aux.el
* lisp/dired-aux.el (dired-shell-stuff-it): Handle remote commands on w32 properly. (Bug#29149)
-rw-r--r--lisp/dired-aux.el9
1 files changed, 5 insertions, 4 deletions
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)