Function: vhdl-lineup-arglist
vhdl-lineup-arglist is a byte-compiled function defined in
vhdl-mode.el.gz.
Signature
(vhdl-lineup-arglist LANGELEM)
Documentation
Lineup the current arglist line with the arglist appearing just after the containing paren which starts the arglist.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
;; Standard indentation line-ups:
(defun vhdl-lineup-arglist (langelem)
"Lineup the current arglist line with the arglist appearing just
after the containing paren which starts the arglist."
(save-excursion
(let* ((containing-sexp
(save-excursion
;; arglist-cont-nonempty gives relpos ==
;; to boi of containing-sexp paren. This
;; is good when offset is +, but bad
;; when it is vhdl-lineup-arglist, so we
;; have to special case a kludge here.
(if (memq (car langelem) '(arglist-intro arglist-cont-nonempty))
(progn
(beginning-of-line)
(backward-up-list 1)
(skip-chars-forward " \t" (vhdl-point 'eol)))
(goto-char (cdr langelem)))
(point)))
(cs-curcol (save-excursion
(goto-char (cdr langelem))
(current-column))))
(if (save-excursion
(beginning-of-line)
(looking-at "[ \t]*)"))
(progn (goto-char (match-end 0))
(backward-sexp)
(forward-char)
(vhdl-forward-syntactic-ws)
(- (current-column) cs-curcol))
(goto-char containing-sexp)
(or (eolp)
(let ((eol (vhdl-point 'eol))
(here (progn
(forward-char)
(skip-chars-forward " \t")
(point))))
(vhdl-forward-syntactic-ws)
(if (< (point) eol)
(goto-char here))))
(- (current-column) cs-curcol)
))))