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))))