diff --git a/modules/tools/lookup/autoload/lookup.el b/modules/tools/lookup/autoload/lookup.el index 6d529f183..797b564e1 100644 --- a/modules/tools/lookup/autoload/lookup.el +++ b/modules/tools/lookup/autoload/lookup.el @@ -188,12 +188,15 @@ This can be passed nil as its second argument to unset handlers for MODES. e.g. (xref-find-backend) identifier))) (when xrefs - (funcall (or show-fn #'xref--show-defs) - (lambda () xrefs) - nil) - (if (cdr xrefs) - 'deferred - t)))) + (let ((marker-ring (ring-copy xref--marker-ring))) + (funcall (or show-fn #'xref--show-defs) + (lambda () xrefs) + nil) + (if (cdr xrefs) + '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) "Look up dictionary definition for IDENTIFIER."