Variable: semantic-lex-c-macro-else

semantic-lex-c-macro-else is a variable defined in c.el.gz.

Value

((looking-at "^\\s-*#\\s-*\\(else\\)")
 (let ((pt (point)))
   (semantic-c-skip-conditional-section)
   (setq semantic-lex-end-point (point))
   (semantic-push-parser-warning "Skip #else" pt (point)) nil))

Documentation

Ignore an #else block.

We won't see the #else due to the macro skip section block unless we are actively parsing an open #if statement. In that case, we must skip it since it is the ELSE part.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/bovine/c.el.gz
(define-lex-regex-analyzer semantic-lex-c-macro-else
  "Ignore an #else block.
We won't see the #else due to the macro skip section block
unless we are actively parsing an open #if statement.  In that
case, we must skip it since it is the ELSE part."
  "^\\s-*#\\s-*\\(else\\)"
  (let ((pt (point)))
    (semantic-c-skip-conditional-section)
    (setq semantic-lex-end-point (point))
    (semantic-push-parser-warning "Skip #else" pt (point))
;;    (semantic-lex-push-token
;;     (semantic-lex-token 'c-preprocessor-skip pt (point)))
    nil))