summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorDmitry Gutov <dgutov@yandex.ru>2021-03-18 02:35:10 +0200
committerDmitry Gutov <dgutov@yandex.ru>2021-03-18 02:35:10 +0200
commitc28ba117782cd825b2a4dd6ffcc0206ecf36898e (patch)
treec15d84564f076cd8a457ddc174805603aa0a00b4 /lisp
parent82c3bd1e4a58f6fefcb7d69b6e04013bd86f54be (diff)
downloademacs-c28ba117782cd825b2a4dd6ffcc0206ecf36898e.tar.gz
emacs-c28ba117782cd825b2a4dd6ffcc0206ecf36898e.tar.bz2
emacs-c28ba117782cd825b2a4dd6ffcc0206ecf36898e.zip
Leave signaling the exact error to cl-generic's internals
* lisp/progmodes/project.el (project-root): Extract default definition to a new method, predicated on a context (https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00771.html).
Diffstat (limited to 'lisp')
-rw-r--r--lisp/progmodes/project.el10
1 files changed, 6 insertions, 4 deletions
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index 65897b008ca..bd552c917ac 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -216,10 +216,12 @@ of the project instance object."
It usually contains the main build file, dependencies
configuration file, etc. Though neither is mandatory.
-The directory name must be absolute."
- (if project--within-roots-fallback
- (signal 'cl-no-applicable-method (list 'project-root project))
- (car (project-roots project))))
+The directory name must be absolute.")
+
+(cl-defmethod project-root (project
+ &context (project--within-roots-fallback
+ (eql nil)))
+ (car (project-roots project)))
(cl-defgeneric project-roots (project)
"Return the list containing the current project root.