]> git.eshelyaron.com Git - emacs.git/commitdiff
Unify the absolutely equal xref-backend-references implementations
authorDmitry Gutov <dgutov@yandex.ru>
Sun, 15 Nov 2015 05:00:45 +0000 (07:00 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Sun, 15 Nov 2015 05:00:45 +0000 (07:00 +0200)
* lisp/progmodes/elisp-mode.el (xref-backend-references):
Remove.

* lisp/progmodes/etags.el (xref-backend-references):
Remove.

* lisp/progmodes/xref.el (xref-backend-references):
Define the default implementation.

lisp/progmodes/elisp-mode.el
lisp/progmodes/etags.el
lisp/progmodes/xref.el

index 2c22483e86fa046e5f67d9307bcf9cd3191223bf..d6e7f83775070a269b84c08b875ef15fc1e9d624 100644 (file)
@@ -795,18 +795,6 @@ non-nil result supercedes the xrefs produced by
     xrefs))
 
 (declare-function project-library-roots "project")
-(declare-function project-roots "project")
-(declare-function project-current "project")
-
-(cl-defmethod xref-backend-references ((_backend (eql elisp)) symbol)
-  "Find all references to SYMBOL (a string) in the current project."
-  (cl-mapcan
-   (lambda (dir)
-     (xref-collect-references symbol dir))
-   (let ((pr (project-current t)))
-     (append
-      (project-roots pr)
-      (project-library-roots pr)))))
 
 (cl-defmethod xref-backend-apropos ((_backend (eql elisp)) regexp)
   (apply #'nconc
index ae1aa11fbc2549d49caa5602c3b7239c14088340..651c824275d3ebccc24c337f3293b4df8a25412a 100644 (file)
@@ -2089,15 +2089,6 @@ for \\[find-tag] (which see)."
 (cl-defmethod xref-backend-identifier-completion-table ((_backend (eql etags)))
   (tags-lazy-completion-table))
 
-(cl-defmethod xref-backend-references ((_backend (eql etags)) symbol)
-  (cl-mapcan
-   (lambda (dir)
-     (xref-collect-references symbol dir))
-   (let ((pr (project-current t)))
-     (append
-      (project-roots pr)
-      (project-library-roots pr)))))
-
 (cl-defmethod xref-backend-definitions ((_backend (eql etags)) symbol)
   (etags--xref-find-definitions symbol))
 
index 40f8d23c64a49ade3f48aea5496a17447ad82819..69a11bb776bff9760ccabde50722b5250d607a76 100644 (file)
@@ -231,10 +231,20 @@ IDENTIFIER can be any string returned by
 
 To create an xref object, call `xref-make'.")
 
-(cl-defgeneric xref-backend-references (backend identifier)
+(cl-defgeneric xref-backend-references (_backend identifier)
   "Find references of IDENTIFIER.
 The result must be a list of xref objects.  If no references can
-be found, return nil.")
+be found, return nil.
+
+The default implementation performs a Grep symbol-search inside
+the current project."
+  (cl-mapcan
+   (lambda (dir)
+     (xref-collect-references identifier dir))
+   (let ((pr (project-current t)))
+     (append
+      (project-roots pr)
+      (project-library-roots pr)))))
 
 (cl-defgeneric xref-backend-apropos (backend pattern)
   "Find all symbols that match PATTERN.