aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Gutov2015-11-27 15:21:44 +0200
committerDmitry Gutov2015-11-27 15:22:36 +0200
commita521310f9e866d0cb9ab966947ff8e1306b1a7d8 (patch)
tree30266b538c17a3821852b56ae039dcb499180b2b
parenta5f2970207d792e5f5d40160485007f282a0569d (diff)
downloademacs-a521310f9e866d0cb9ab966947ff8e1306b1a7d8.tar.gz
emacs-a521310f9e866d0cb9ab966947ff8e1306b1a7d8.zip
Autoload etags when using its xref backend
* lisp/progmodes/xref.el (xref--etags-backend): Rename to etags--xref-backend. Move to etags.el. Autoload. (Bug#22026)
-rw-r--r--lisp/progmodes/etags.el3
-rw-r--r--lisp/progmodes/xref.el4
2 files changed, 4 insertions, 3 deletions
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 2c066df90bc..306572510ef 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -2085,6 +2085,9 @@ for \\[find-tag] (which see)."
2085 tag-implicit-name-match-p) 2085 tag-implicit-name-match-p)
2086 "Tag order used in `xref-backend-definitions' to look for definitions.") 2086 "Tag order used in `xref-backend-definitions' to look for definitions.")
2087 2087
2088;;;###autoload
2089(defun etags--xref-backend () 'etags)
2090
2088(cl-defmethod xref-backend-identifier-at-point ((_backend (eql etags))) 2091(cl-defmethod xref-backend-identifier-at-point ((_backend (eql etags)))
2089 (find-tag--default)) 2092 (find-tag--default))
2090 2093
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index c5518907aec..8a69b07132e 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -210,14 +210,12 @@ generic functions.")
210 210
211;; We make the etags backend the default for now, until something 211;; We make the etags backend the default for now, until something
212;; better comes along. 212;; better comes along.
213(add-hook 'xref-backend-functions #'xref--etags-backend) 213(add-hook 'xref-backend-functions #'etags--xref-backend)
214 214
215;;;###autoload 215;;;###autoload
216(defun xref-find-backend () 216(defun xref-find-backend ()
217 (run-hook-with-args-until-success 'xref-backend-functions)) 217 (run-hook-with-args-until-success 'xref-backend-functions))
218 218
219(defun xref--etags-backend () 'etags)
220
221(cl-defgeneric xref-backend-definitions (backend identifier) 219(cl-defgeneric xref-backend-definitions (backend identifier)
222 "Find definitions of IDENTIFIER. 220 "Find definitions of IDENTIFIER.
223 221