Function: semantic-lex-push-token

semantic-lex-push-token is a macro defined in lex.el.gz.

Signature

(semantic-lex-push-token TOKEN &rest BLOCKSPECS)

Documentation

Push TOKEN in the lexical analyzer token stream.

Return the lexical analysis current end point. If optional arguments BLOCKSPECS is non-nil, it specifies to process collapsed block tokens. See semantic-lex-expand-block-specs for more details. This macro should only be called within the bounds of define-lex-analyzer. It changes the values of the lexical analyzer variables token-stream and semantic-lex-end-point. If you need to move semantic-lex-end-point somewhere else, just modify this variable after calling semantic-lex-push-token.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/lex.el.gz
(defmacro semantic-lex-push-token (token &rest blockspecs)
  "Push TOKEN in the lexical analyzer token stream.
Return the lexical analysis current end point.
If optional arguments BLOCKSPECS is non-nil, it specifies to process
collapsed block tokens.  See `semantic-lex-expand-block-specs' for
more details.
This macro should only be called within the bounds of
`define-lex-analyzer'.  It changes the values of the lexical analyzer
variables `token-stream' and `semantic-lex-end-point'.  If you need to
move `semantic-lex-end-point' somewhere else, just modify this
variable after calling `semantic-lex-push-token'."
  `(progn
     (push ,token semantic-lex-token-stream)
     ,@(semantic-lex-expand-block-specs blockspecs)
     (setq semantic-lex-end-point
           (semantic-lex-token-end (car semantic-lex-token-stream)))
     ))