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.el15
1 files changed, 9 insertions, 6 deletions
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index d177779b2d0..9cdeb392f09 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -140,12 +140,15 @@ The file names can be absolute, or relative to the project root."
(list (cdr project)))
(cl-defmethod project-library-roots ((project (head vc)))
- (append
- (let ((root (cdr project)))
- (mapcar
- (lambda (dir) (file-name-as-directory (expand-file-name dir root)))
- (project--value-in-dir 'project-vc-library-roots root)))
- (cl-call-next-method)))
+ (project-subtract-directories
+ (project-combine-directories
+ (append
+ (let ((root (cdr project)))
+ (mapcar
+ (lambda (dir) (file-name-as-directory (expand-file-name dir root)))
+ (project--value-in-dir 'project-vc-library-roots root)))
+ (funcall project-library-roots-function)))
+ (project-roots project)))
(cl-defmethod project-ignores ((project (head vc)) dir)
(let* ((root (cdr project))