summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2017-02-04 12:02:55 +0200
committerEli Zaretskii <eliz@gnu.org>2017-02-04 12:02:55 +0200
commitc71b718be86bdda7b51c8ea0da30aa896a7833fe (patch)
tree9c4b62b2e0964205d6feb63119fe00a4e2506d13
parent331eb6c915a4a12a3a1034615f68cd4dc4bd7e32 (diff)
downloademacs-c71b718be86bdda7b51c8ea0da30aa896a7833fe.tar.gz
emacs-c71b718be86bdda7b51c8ea0da30aa896a7833fe.tar.bz2
emacs-c71b718be86bdda7b51c8ea0da30aa896a7833fe.zip
Support options with embedded whitespace in 'dired-listing-switches'
* lisp/dired.el (dired-listing-switches): Document how to quote options with embedded whitespace. * lisp/files.el (insert-directory): Use split-string-and-unquote to support dired-listing-switches that specify command-line options with embedded spaces. (Bug#25485)
-rw-r--r--lisp/dired.el4
-rw-r--r--lisp/files.el2
2 files changed, 5 insertions, 1 deletions
diff --git a/lisp/dired.el b/lisp/dired.el
index 350f6a7d2e3..2733372eb7b 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -59,6 +59,10 @@
May contain all other options that don't contradict `-l';
may contain even `F', `b', `i' and `s'. See also the variable
`dired-ls-F-marks-symlinks' concerning the `F' switch.
+Options that include embedded whitespace must be quoted
+like this: \\\"--option=value with spaces\\\"; you can use
+`combine-and-quote-strings' to produce the correct quoting of
+each option.
On systems such as MS-DOS and MS-Windows, which use `ls' emulation in Lisp,
some of the `ls' switches are not supported; see the doc string of
`insert-directory' in `ls-lisp.el' for more details."
diff --git a/lisp/files.el b/lisp/files.el
index 2833ec5c124..03d6df4c037 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -6582,7 +6582,7 @@ normally equivalent short `-D' option is just passed on to
(unless (equal switches "")
;; Split the switches at any spaces so we can
;; pass separate options as separate args.
- (split-string switches)))
+ (split-string-and-unquote switches)))
;; Avoid lossage if FILE starts with `-'.
'("--")
(progn