Function: semantic-lex-spp-symbol
semantic-lex-spp-symbol is a byte-compiled function defined in
lex-spp.el.gz.
Signature
(semantic-lex-spp-symbol NAME)
Documentation
Return spp symbol with NAME or nil if not found.
The search priority is:
1. DYNAMIC symbols
2. PROJECT specified symbols.
3. SYSTEM specified symbols.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/lex-spp.el.gz
;;; MACRO TABLE UTILS
;;
;; The dynamic macro table is a buffer local variable that is modified
;; during the analysis. OBARRAYs are used, so the language must
;; have symbols that are compatible with Emacs Lisp symbols.
;;
(defsubst semantic-lex-spp-symbol (name)
"Return spp symbol with NAME or nil if not found.
The search priority is:
1. DYNAMIC symbols
2. PROJECT specified symbols.
3. SYSTEM specified symbols."
(and
;; Only strings...
(stringp name)
;; Make sure we don't recurse.
(not (member name semantic-lex-spp-expanded-macro-stack))
;; Do the check of the various tables.
(or
;; DYNAMIC
(and (obarrayp semantic-lex-spp-dynamic-macro-symbol-obarray)
(intern-soft name semantic-lex-spp-dynamic-macro-symbol-obarray))
;; PROJECT
(and (obarrayp semantic-lex-spp-project-macro-symbol-obarray)
(intern-soft name semantic-lex-spp-project-macro-symbol-obarray))
;; SYSTEM
(and (obarrayp semantic-lex-spp-macro-symbol-obarray)
(intern-soft name semantic-lex-spp-macro-symbol-obarray))
;; ...
)))