bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#39452: [PATCH] vc-git-state fails for filenames with wildcards


From: Dmitry Gutov
Subject: bug#39452: [PATCH] vc-git-state fails for filenames with wildcards
Date: Fri, 7 Feb 2020 02:00:38 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0

Hi Wolfgang,

On 06.02.2020 16:59, Wolfgang Scherer wrote:
When a filename contains shell wildcard characters matching one or more files, 
e.g. `test[56].xx` matching both `test5.xx` and `test6.xx`:

   -rw-r--r--  1 ws ws    0 Feb  6 08:51 test[56].xx
   -rw-r--r--  1 ws ws    0 Feb  6 08:51 test5.xx
   -rw-r--r--  1 ws ws    0 Feb  6 08:51 test6.xx

The command `vc-git-state` does not work correctly.

The attched patch fixes this:

diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 2caa287..0314e5e 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -330,7 +330,7 @@ in the order given by `git status'."
              ,@(when (version<= "1.7.6.3" (vc-git--program-version))
                  '("--ignored"))
              "--"))
-        (status (apply #'vc-git--run-command-string file args)))
+        (status (apply #'vc-git--run-command-string (shell-quote-argument 
file) args)))
      (if (null status)
          ;; If status is nil, there was an error calling git, likely because
          ;; the file is not in a git repo.


Thanks for the report and the patch.

I wonder how many other backends commands are broken for files like that: we basically never shell-quote file names.





reply via email to

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