tools/lookup: fall through if xref backend fails

Part 1 to solution for #4739
This commit is contained in:
Henrik Lissner 2021-03-05 18:43:25 -05:00
parent 543d122643
commit 0a9172a8f2

View file

@ -188,12 +188,15 @@ This can be passed nil as its second argument to unset handlers for MODES. e.g.
(xref-find-backend) (xref-find-backend)
identifier))) identifier)))
(when xrefs (when xrefs
(funcall (or show-fn #'xref--show-defs) (let ((marker-ring (ring-copy xref--marker-ring)))
(lambda () xrefs) (funcall (or show-fn #'xref--show-defs)
nil) (lambda () xrefs)
(if (cdr xrefs) nil)
'deferred (if (cdr xrefs)
t)))) 'deferred
;; xref will modify its marker stack when it finds a result to jump to.
;; Use that to determine success.
(not (equal xref--marker-ring marker-ring)))))))
(defun +lookup-dictionary-definition-backend-fn (identifier) (defun +lookup-dictionary-definition-backend-fn (identifier)
"Look up dictionary definition for IDENTIFIER." "Look up dictionary definition for IDENTIFIER."