summaryrefslogtreecommitdiff
path: root/lisp/progmodes/project.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/progmodes/project.el')
-rw-r--r--lisp/progmodes/project.el8
1 files changed, 3 insertions, 5 deletions
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index faa60d123fb..0ce2786a4dd 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -274,8 +274,7 @@ backend implementation of `project-external-roots'.")
('Git
;; Don't stop at submodule boundary.
(or (vc-file-getprop dir 'project-git-root)
- (let* ((default-directory dir)
- (root (vc-root-dir))
+ (let* ((root (vc-call-backend backend 'root dir))
(gitfile (expand-file-name ".git" root)))
(vc-file-setprop
dir 'project-git-root
@@ -287,9 +286,8 @@ backend implementation of `project-external-roots'.")
(goto-char (point-min))
(looking-at "gitdir: [./]+/\.git/modules/"))
(let* ((parent (file-name-directory
- (directory-file-name root)))
- (default-directory parent))
- (vc-root-dir)))
+ (directory-file-name root))))
+ (vc-call-backend backend 'root parent)))
(t root)))
)))
('nil nil)