emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-25 ab3ba91: shell-quote-argument DIR when appropriat


From: Dmitry Gutov
Subject: [Emacs-diffs] emacs-25 ab3ba91: shell-quote-argument DIR when appropriate
Date: Thu, 05 May 2016 01:16:37 +0000

branch: emacs-25
commit ab3ba912fc7b91b7b147ea36fabe461dc99a9fb8
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>

    shell-quote-argument DIR when appropriate
    
    * lisp/progmodes/project.el (project-file-completion-table):
    `shell-quote-argument' DIR as well.
    
    * lisp/progmodes/xref.el (xref--rgrep-command): Pass DIR through
    `shell-quote-argument' (bug#23453).  Thanks for Kaushal Modi for
    pointing out the problem.  Assert that DIR doesn't start with `~'.
---
 lisp/progmodes/project.el |    3 ++-
 lisp/progmodes/xref.el    |    5 +++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index 9c8a88c..a51c383 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -172,7 +172,8 @@ to find the list of ignores for each directory."
            (let ((command
                   (format "%s %s %s -type f -print0"
                           find-program
-                          dir
+                           (shell-quote-argument
+                            (expand-file-name dir))
                           (xref--find-ignores-arguments
                            (project-ignores project dir)
                            (expand-file-name dir)))))
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index 17bfdb6..1c28390 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -941,6 +941,8 @@ IGNORES is a list of glob patterns."
   (require 'find-dired)      ; for `find-name-arg'
   (defvar grep-find-template)
   (defvar find-name-arg)
+  ;; `shell-quote-argument' quotes the tilde as well.
+  (cl-assert (not (string-match-p "\\`~" dir)))
   (grep-expand-template
    grep-find-template
    regexp
@@ -952,14 +954,13 @@ IGNORES is a list of glob patterns."
             (concat " -o " find-name-arg " "))
            " "
            (shell-quote-argument ")"))
-   dir
+   (shell-quote-argument dir)
    (xref--find-ignores-arguments ignores dir)))
 
 (defun xref--find-ignores-arguments (ignores dir)
   "Convert IGNORES and DIR to a list of arguments for 'find'.
 IGNORES is a list of glob patterns.  DIR is an absolute
 directory, used as the root of the ignore globs."
-  ;; `shell-quote-argument' quotes the tilde as well.
   (cl-assert (not (string-match-p "\\`~" dir)))
   (when ignores
     (concat



reply via email to

[Prev in Thread] Current Thread [Next in Thread]