From ce7ec828f15446c1218614d083da489c76e9b37d Mon Sep 17 00:00:00 2001 From: David Fussner Date: Tue, 21 Dec 2021 17:38:52 +0000 Subject: [PATCH] Fix xref-backend-definitions in etags.el * lisp/progmodes/etags.el (xref-backend-definitions): When 'etags-xref-prefer-current-file' is t, test whether 'definitions' and 'same-file-definitions' are equal before concatenating them. --- lisp/progmodes/etags.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index f53b09d9e8..0e70e7ee7a 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el @@ -2092,8 +2092,9 @@ xref-backend-definitions (push definition same-file-definitions) t)) definitions) - (setq definitions (nconc (nreverse same-file-definitions) - definitions))) + (setq same-file-definitions (nreverse same-file-definitions)) + (unless (equal definitions same-file-definitions) + (setq definitions (nconc same-file-definitions definitions)))) definitions)) (cl-defmethod xref-backend-apropos ((_backend (eql 'etags)) pattern) -- 2.17.6