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.