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.