Function: vhdl-get-offset
vhdl-get-offset is a byte-compiled function defined in
vhdl-mode.el.gz.
Signature
(vhdl-get-offset LANGELEM)
Documentation
Get offset from LANGELEM which is a cons cell of the form:
(SYMBOL . RELPOS). The symbol is matched against
vhdl-offsets-alist and the offset found there is either returned,
or added to the indentation at RELPOS. If RELPOS is nil, then
the offset is simply returned.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
(defun vhdl-get-offset (langelem)
"Get offset from LANGELEM which is a cons cell of the form:
\(SYMBOL . RELPOS). The symbol is matched against
vhdl-offsets-alist and the offset found there is either returned,
or added to the indentation at RELPOS. If RELPOS is nil, then
the offset is simply returned."
(let* ((symbol (car langelem))
(relpos (cdr langelem))
(match (assq symbol vhdl-offsets-alist))
(offset (cdr-safe match)))
;; offset can be a number, a function, a variable, or one of the
;; symbols + or -
(cond
((not match)
(if vhdl-strict-syntax-p
(error "ERROR: Don't know how to indent a %s" symbol)
(setq offset 0
relpos 0)))
((eq offset '+) (setq offset vhdl-basic-offset))
((eq offset '-) (setq offset (- vhdl-basic-offset)))
((eq offset '++) (setq offset (* 2 vhdl-basic-offset)))
((eq offset '--) (setq offset (* 2 (- vhdl-basic-offset))))
((and (not (numberp offset))
(fboundp offset))
(setq offset (funcall offset langelem)))
((not (numberp offset))
(setq offset (eval offset)))
)
(+ (if (and relpos
(< relpos (vhdl-point 'bol)))
(save-excursion
(goto-char relpos)
(current-column))
0)
offset)))