Function: semantic--find-tags-by-macro

semantic--find-tags-by-macro is a macro defined in find.el.gz.

Signature

(semantic--find-tags-by-macro FORM &optional TABLE)

Documentation

Find tags for which FORM is non-nil in TABLE.

TABLE is a semantic tags table. See semantic-something-to-tag-table.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/find.el.gz
;; I can shave off some time by removing the funcall (see above)
;; and having the question be inlined in the while loop.
;; Strangely turning the upper level fcns into macros had a larger
;; impact.
(defmacro semantic--find-tags-by-macro (form &optional table)
  "Find tags for which FORM is non-nil in TABLE.
TABLE is a semantic tags table.  See `semantic-something-to-tag-table'."
  `(let ((tags (semantic-something-to-tag-table ,table))
         (result nil))
     (while tags
       (and ,form
            (setq result (cons (car tags) result)))
       (setq tags (cdr tags)))
     (nreverse result)))