]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/files.el (insert-directory): Quote switches in wildcard case.
authorJuri Linkov <juri@linkov.net>
Sun, 7 Jul 2024 06:57:34 +0000 (09:57 +0300)
committerEshel Yaron <me@eshelyaron.com>
Mon, 8 Jul 2024 20:50:58 +0000 (22:50 +0200)
Use shell-quote-wildcard-pattern on the switches string split by
split-string-and-unquote.  This helps to quote such switches as
"--block-size='1" (bug#71935).

(cherry picked from commit b249f022f1285aaf02705b6ac239d95e3b413c18)

lisp/files.el

index ab2b0223d1d0dc9d504f42652a241837ab06b48f..33216018194965cbb873181fdaa7c26d762a118e 100644 (file)
@@ -8240,9 +8240,15 @@ normally equivalent short `-D' option is just passed on to
                                 "\\") ; Disregard Unix shell aliases!
                               insert-directory-program
                               " -d "
-                              (if (stringp switches)
-                                  switches
-                                (mapconcat #'identity switches " "))
+                              ;; Quote switches that require quoting
+                              ;; such as "--block-size='1".  But don't
+                              ;; quote switches that use patterns
+                              ;; such as "--ignore=PATTERN" (bug#71935).
+                              (mapconcat #'shell-quote-wildcard-pattern
+                                         (if (stringp switches)
+                                             (split-string-and-unquote switches)
+                                           switches)
+                                         " ")
                               " -- "
                               ;; Quote some characters that have
                               ;; special meanings in shells; but