From: Dmitry Gutov Date: Fri, 24 Dec 2021 13:27:00 +0000 (+0200) Subject: Fix the bug with duplicate entries in xref output X-Git-Tag: emacs-28.0.91~33 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c09ad0cabde922374c1a34350595a3141ab7f806;p=emacs.git Fix the bug with duplicate entries in xref output * lisp/progmodes/etags.el (xref-backend-definitions): Make sure to save the changed intermediate value of the list (bug#52734). --- diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index f53b09d9e8c..a63c3f33974 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el @@ -2084,14 +2084,15 @@ file name, add `tag-partial-file-name-match-p' to the list value.") (definitions (etags--xref-find-definitions symbol)) same-file-definitions) (when (and etags-xref-prefer-current-file file) - (cl-delete-if - (lambda (definition) - (when (equal file - (xref-location-group - (xref-item-location definition))) - (push definition same-file-definitions) - t)) - definitions) + (setq definitions + (cl-delete-if + (lambda (definition) + (when (equal file + (xref-location-group + (xref-item-location definition))) + (push definition same-file-definitions) + t)) + definitions)) (setq definitions (nconc (nreverse same-file-definitions) definitions))) definitions))