Function: smart-tags-display
smart-tags-display is a byte-compiled function defined in
hmouse-tag.el.
Signature
(smart-tags-display TAG NEXT &optional LIST-OF-TAGS-TABLES)
Documentation
Jump to the single definition of TAG or list definition locations.
If NEXT is non-nil, jump to the next definition. Optional
LIST-OF-TAGS-TABLES are the tags tables to use when
xref-find-definitions is called in a context where the etags
backend is used.
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hmouse-tag.el
(defun smart-tags-display (tag next &optional list-of-tags-tables)
"Jump to the single definition of TAG or list definition locations.
If NEXT is non-nil, jump to the next definition. Optional
LIST-OF-TAGS-TABLES are the tags tables to use when
`xref-find-definitions' is called in a context where the `etags'
backend is used."
(when next (setq tag nil))
(let* ((tags-table-list (or list-of-tags-tables
(smart-entire-tags-table-list)))
;; Identifier searches should almost always be case-sensitive today
(tags-case-fold-search nil)
(func (smart-tags-noselect-function))
(tags-file-name (unless tags-table-list
(when (boundp 'tags-file-name) tags-file-name)))
find-tag-result
(tags-add-tables nil))
(cond ((and func (or tags-table-list tags-file-name)
(setq find-tag-result (funcall func tag)))
(cond ((or (memq (type-of find-tag-result) '(xref-item xref-match-item))
(vectorp find-tag-result))
(hpath:display-buffer (hsys-xref-item-buffer find-tag-result))
(goto-char (hsys-xref-item-position find-tag-result)))
(t
;; Emacs with some unknown version of tags.
;; Signals an error if tag is not found which is caught by
;; many callers of this function.
;; Find exact identifier matches only.
(with-no-warnings (xref-find-definitions tag)))))
;; Signals an error if tag is not found which is caught by
;; many callers of this function.
;; Find exact identifier matches only.
((with-no-warnings (xref-find-definitions tag)))
(t
(error "No existing tag tables in which to find `%s'" tag)))))