Function: vhdl-skip-case-alternative
vhdl-skip-case-alternative is a byte-compiled function defined in
vhdl-mode.el.gz.
Signature
(vhdl-skip-case-alternative &optional LIM)
Documentation
Skip forward over case/when bodies, with optional maximal limit.
If no next case alternative is found, nil is returned and point is not moved.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
(defun vhdl-skip-case-alternative (&optional lim)
"Skip forward over case/when bodies, with optional maximal limit.
If no next case alternative is found, nil is returned and point
is not moved."
(let ((lim (or lim (point-max)))
(here (point))
donep foundp)
(while (and (< (point) lim)
(not donep))
(if (and (re-search-forward vhdl-s-c-a-re lim 'move)
(save-match-data
(not (vhdl-in-literal)))
(/= (match-beginning 0) here))
(progn
(goto-char (match-beginning 0))
(cond
((and (looking-at "case")
(re-search-forward "\\bis[^_]" lim t))
(backward-sexp)
(vhdl-forward-sexp))
(t
(setq donep t
foundp t))))))
(if (not foundp)
(goto-char here))
foundp))