Function: semantic-brute-find-first-tag-by-name
semantic-brute-find-first-tag-by-name is a byte-compiled function
defined in find.el.gz.
Signature
(semantic-brute-find-first-tag-by-name NAME STREAMORBUFFER &optional SEARCH-PARTS SEARCH-INCLUDE)
Documentation
Find a tag NAME within STREAMORBUFFER. NAME is a string.
If SEARCH-PARTS is non-nil, search children of tags.
If SEARCH-INCLUDE was never implemented.
Respects semantic-case-fold.
Use semantic-find-first-tag-by-name instead.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/find.el.gz
;;
;; ************************** Compatibility ***************************
;;
;;; Old Style Brute Force Search Routines
;;
;; These functions will search through tags lists explicitly for
;; desired information.
;; The -by-name nonterminal search can use the built in fcn
;; `assoc', which is faster than looping ourselves, so we will
;; not use `semantic-brute-find-tag-by-function' to do this,
;; instead erroring on the side of speed.
(defun semantic-brute-find-first-tag-by-name
(name streamorbuffer &optional search-parts search-include)
"Find a tag NAME within STREAMORBUFFER. NAME is a string.
If SEARCH-PARTS is non-nil, search children of tags.
If SEARCH-INCLUDE was never implemented.
Respects `semantic-case-fold'.
Use `semantic-find-first-tag-by-name' instead."
(let* ((stream (semantic-something-to-tag-table streamorbuffer))
(m (assoc-string name stream semantic-case-fold)))
(if m
m
(let ((toklst stream)
(children nil))
(while (and (not m) toklst)
(if search-parts
(progn
(setq children (semantic-tag-components-with-overlays
(car toklst)))
(if children
(setq m (semantic-brute-find-first-tag-by-name
name children search-parts search-include)))))
(setq toklst (cdr toklst)))
(if (not m)
;; Go to dependencies, and search there.
nil)
m))))