- 'semantic-something-to-tag-table)
-
-;;; Recursive searching through dependency trees
-;;
-;; This will depend on the general searching APIS defined above.
-;; but will add full recursion through the dependencies list per
-;; stream.
-(defun semantic-recursive-find-nonterminal-by-name (name buffer)
- "Recursively find the first occurrence of NAME.
-Start search with BUFFER. Recurse through all dependencies till found.
-The return item is of the form (BUFFER TOKEN) where BUFFER is the buffer
-in which TOKEN (the token found to match NAME) was found.
-
-THIS ISN'T USED IN SEMANTIC. DELETE ME SOON."
- (save-excursion
- (set-buffer buffer)
- (let* ((stream (semantic-fetch-tags))
- (includelist (or (semantic-find-tags-by-class 'include stream)
- "empty.silly.thing"))
- (found (semantic-find-first-tag-by-name name stream))
- (unfound nil))
- (while (and (not found) includelist)
- (let ((fn (semantic-dependency-tag-file (car includelist))))
- (if (and fn (not (member fn unfound)))
- (save-excursion
- (save-match-data
- (set-buffer (find-file-noselect fn)))
- (message "Scanning %s" (buffer-file-name))
- (setq stream (semantic-fetch-tags))
- (setq found (semantic-find-first-tag-by-name name stream))
- (if found
- (setq found (cons (current-buffer) (list found)))
- (setq includelist
- (append includelist
- (semantic-find-tags-by-class
- 'include stream))))
- (setq unfound (cons fn unfound)))))
- (setq includelist (cdr includelist)))
- found)))
-(make-obsolete 'semantic-recursive-find-nonterminal-by-name
- "Do not use this function.")