Function: smart-lisp-bound-symbol-def

smart-lisp-bound-symbol-def is a byte-compiled function defined in hmouse-tag.el.

Signature

(smart-lisp-bound-symbol-def TAG-SYM)

Documentation

Return a pair (buffer . point) where TAG-SYM is defined, else nil.

The buffer may be attached to a .elc file. TAG-SYM may be a function, variable or face.

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hmouse-tag.el
(defun smart-lisp-bound-symbol-def (tag-sym)
  "Return a pair (buffer . point) where TAG-SYM is defined, else nil.
The buffer may be attached to a .elc file.  TAG-SYM may be a function,
variable or face."
  (save-excursion
    ;; Bound Emacs Lisp function, variable and face definition display.
    (ignore-errors (or (let ((func-lib (find-function-library tag-sym nil t))
			     tag-type ;; nil means regular Lisp function
			     tag-name)
			 (when func-lib
			   (setq tag-sym (car func-lib)
				 tag-name (symbol-name tag-sym))
			   (cond ((string-prefix-p "ibtypes::" tag-name)
				  (setq tag-type 'defib
					tag-sym (ibtype:def-symbol tag-sym)))
				 ((string-prefix-p "actypes::" tag-name)
				  (setq tag-type 'defact
					tag-sym (actype:def-symbol tag-sym))))
			   (find-function-search-for-symbol tag-sym tag-type (cdr func-lib))))
		       (find-variable-noselect tag-sym)
		       (find-definition-noselect tag-sym 'defface)))))