Function: semantic-something-to-tag-table
semantic-something-to-tag-table is a byte-compiled function defined in
util.el.gz.
Signature
(semantic-something-to-tag-table SOMETHING)
Documentation
Convert SOMETHING into a semantic tag table.
Something can be a tag with a valid BUFFER property, a tag table, a buffer, or a filename. If SOMETHING is nil return nil.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/util.el.gz
(defun semantic-something-to-tag-table (something)
"Convert SOMETHING into a semantic tag table.
Something can be a tag with a valid BUFFER property, a tag table, a
buffer, or a filename. If SOMETHING is nil return nil."
(cond
;; A list of tags
((and (listp something)
(semantic-tag-p (car something)))
something)
;; A buffer
((bufferp something)
(with-current-buffer something
(semantic-fetch-tags)))
;; A Tag: Get that tag's buffer
((and (semantic-tag-with-position-p something)
(semantic-tag-in-buffer-p something))
(with-current-buffer (semantic-tag-buffer something)
(semantic-fetch-tags)))
;; Tag with a file name in it
((and (semantic-tag-p something)
(semantic-tag-file-name something)
(file-exists-p (semantic-tag-file-name something)))
(semantic-file-tag-table
(semantic-tag-file-name something)))
;; A file name
((and (stringp something)
(file-exists-p something))
(semantic-file-tag-table something))
;; A Semanticdb table
((and (featurep 'semantic/db)
(require 'semantic/db-mode)
(semanticdb-minor-mode-p)
(progn
(declare-function semanticdb-abstract-table--eieio-childp
"semantic/db")
(cl-typep something 'semanticdb-abstract-table)))
(semanticdb-refresh-table something)
(semanticdb-get-tags something))
;; Semanticdb find-results
((and (featurep 'semantic/db)
(require 'semantic/db-mode)
(semanticdb-minor-mode-p)
(require 'semantic/db-find)
(semanticdb-find-results-p something))
(semanticdb-strip-find-results something))
;; NOTE: This commented out since if a search result returns
;; empty, that empty would turn into everything on the next search.
;; Use the current buffer for nil
;; ((null something)
;; (semantic-fetch-tags))
;; don't know what it is
(t nil)))