]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix dired quoting bug with "Hit`N`Hide"
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 4 Jan 2015 21:45:07 +0000 (13:45 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 4 Jan 2015 21:45:44 +0000 (13:45 -0800)
Fixes Bug#19498.
* files.el (shell-quote-wildcard-pattern): Also quote "`".

lisp/ChangeLog
lisp/files.el

index ddc0c9e6563cd6e74275caef310f1f12489556d2..7c6485c52ba5aef702f0b578a8f75a7909f34a76 100644 (file)
@@ -1,3 +1,9 @@
+2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix dired quoting bug with "Hit`N`Hide"
+       Fixes Bug#19498.
+       * files.el (shell-quote-wildcard-pattern): Also quote "`".
+
 2015-01-04  Dmitry Gutov  <dgutov@yandex.ru>
 
        Unbreak `mouse-action' property in text buttons.
index 568242ad8b5a7222df5397dd9403697d43379961..088924427eebb753afeb3bc959ed6f9a036578b2 100644 (file)
@@ -6051,7 +6051,7 @@ and `list-directory-verbose-switches'."
 
 PATTERN is assumed to represent a file-name wildcard suitable for the
 underlying filesystem.  For Unix and GNU/Linux, each character from the
-set [ \\t\\n;<>&|()'\"#$] is quoted with a backslash; for DOS/Windows, all
+set [ \\t\\n;<>&|()`'\"#$] is quoted with a backslash; for DOS/Windows, all
 the parts of the pattern which don't include wildcard characters are
 quoted with double quotes.
 
@@ -6065,12 +6065,12 @@ need to be passed verbatim to shell commands."
       ;; argument has quotes, we can safely assume it is already
       ;; quoted by the caller.
       (if (or (string-match "[\"]" pattern)
-             ;; We quote [&()#$'] in case their shell is a port of a
+             ;; We quote [&()#$`'] in case their shell is a port of a
              ;; Unixy shell.  We quote [,=+] because stock DOS and
              ;; Windows shells require that in some cases, such as
              ;; passing arguments to batch files that use positional
              ;; arguments like %1.
-             (not (string-match "[ \t;&()#$',=+]" pattern)))
+             (not (string-match "[ \t;&()#$`',=+]" pattern)))
          pattern
        (let ((result "\"")
              (beg 0)
@@ -6085,7 +6085,7 @@ need to be passed verbatim to shell commands."
          (concat result (substring pattern beg) "\""))))
      (t
       (let ((beg 0))
-       (while (string-match "[ \t\n;<>&|()'\"#$]" pattern beg)
+       (while (string-match "[ \t\n;<>&|()`'\"#$]" pattern beg)
          (setq pattern
                (concat (substring pattern 0 (match-beginning 0))
                        "\\"