Function: smart-c++-at-tag-p
smart-c++-at-tag-p is a byte-compiled function defined in
hmouse-tag.el.
Signature
(smart-c++-at-tag-p)
Documentation
Return C++ tag name that point is within, else nil.
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hmouse-tag.el
(defun smart-c++-at-tag-p ()
"Return C++ tag name that point is within, else nil."
(let* ((identifier-chars "_:~<>a-zA-Z0-9")
(identifier-regexp
(concat "\\([_~:<a-zA-Z][" identifier-chars "]*\\)"
"\\([ \t]*[^]\) \t:;.,?~{}][^[\( \t:;.,~^!|?{}]?[=*]?\\)?"))
op-identifier identifier)
(save-excursion
(skip-chars-backward identifier-chars)
(when (and (looking-at identifier-regexp)
(not (member (downcase (match-string 0)) smart-c++-keywords)))
;; Don't flash button here since it was already flashed before
;; this was called.
(setq op-identifier (buffer-substring-no-properties (match-beginning 0) (match-end 0))
identifier (buffer-substring-no-properties (match-beginning 1) (match-end 1)))
;; Have to allow for identifiers such as, `operator () (int, int)'
;; yet not include the opening parenthesis in `min ()'.
(if (string-match "\\<operator\\>" op-identifier)
op-identifier
identifier)))))