From a521310f9e866d0cb9ab966947ff8e1306b1a7d8 Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Fri, 27 Nov 2015 15:21:44 +0200 Subject: [PATCH] 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) --- lisp/progmodes/etags.el | 3 +++ lisp/progmodes/xref.el | 4 +--- 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)." tag-implicit-name-match-p) "Tag order used in `xref-backend-definitions' to look for definitions.") +;;;###autoload +(defun etags--xref-backend () 'etags) + (cl-defmethod xref-backend-identifier-at-point ((_backend (eql etags))) (find-tag--default)) 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.") ;; We make the etags backend the default for now, until something ;; better comes along. -(add-hook 'xref-backend-functions #'xref--etags-backend) +(add-hook 'xref-backend-functions #'etags--xref-backend) ;;;###autoload (defun xref-find-backend () (run-hook-with-args-until-success 'xref-backend-functions)) -(defun xref--etags-backend () 'etags) - (cl-defgeneric xref-backend-definitions (backend identifier) "Find definitions of IDENTIFIER. -- 2.39.5