Function: smart-lisp-at-known-identifier-p

smart-lisp-at-known-identifier-p is an interactive and byte-compiled function defined in hmouse-tag.el.

Signature

(smart-lisp-at-known-identifier-p)

Documentation

Return identifier if point is within a known Lisp identifier, else nil.

The Lisp identifier is either listed in a tags table or is a known Emacs Lisp identifier.

Key Bindings

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hmouse-tag.el
(defun smart-lisp-at-known-identifier-p ()
  "Return identifier if point is within a known Lisp identifier, else nil.
The Lisp identifier is either listed in a tags table or is a
known Emacs Lisp identifier."
  (interactive)
  (unless
      ;; Handle Emacs Lisp `require', `load', and `autoload' clauses.
      (let ((lib)
	    (opoint (point)))
	(setq lib (and (re-search-backward "[()]" nil t)
		       (looking-at (concat
				    "(\\(require\\|load\\|autoload\\)"
				    "[ \t]+.*['\"]"
				    "\\([^][() \t\n\r`'\"]+\\)"))))
	(goto-char opoint)
	(when lib
	  (ignore-errors (and (find-library-name lib) t))))
    ;; Cache tag value
    (setq hkey-value (smart-lisp-at-tag-p t))
    (let* ((tag hkey-value)
	   (tag-sym (intern-soft tag)))
      (cond ((and (fboundp 'ert-test-boundp) (ert-test-boundp tag-sym))
	     tag)
	    ((when tag-sym
	       (let ((result (smart-lisp-bound-symbol-def tag-sym)))
		 (when (cdr result)
		   tag))))
	    ;; This part works properly for Emacs Lisp only, so is conditionalized.
	    ((and tag (smart-tags-find-p tag) tag))))))