Function: vhdl-regress-line
vhdl-regress-line is an interactive and byte-compiled function defined
in vhdl-mode.el.gz.
Signature
(vhdl-regress-line &optional ARG)
Documentation
Check syntactic information for current line.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
;; Verification and regression functions:
(defun vhdl-regress-line (&optional arg)
"Check syntactic information for current line."
(interactive "P")
(let ((expected (save-excursion
(end-of-line)
(when (search-backward " -- ((" (vhdl-point 'bol) t)
(forward-char 4)
(read (current-buffer)))))
(actual (vhdl-get-syntactic-context))
(expurgated))
;; remove the library unit symbols
(mapc
(lambda (elt)
(if (memq (car elt) '(entity configuration context package
package-body architecture))
nil
(setq expurgated (append expurgated (list elt)))))
actual)
(if (and (not arg) expected (listp expected))
(if (not (equal expected expurgated))
(error "ERROR: Should be: %s, is: %s" expected expurgated))
(save-excursion
(beginning-of-line)
(when (not (looking-at "^\\s-*\\(--.*\\)?$"))
(end-of-line)
(if (search-backward " -- ((" (vhdl-point 'bol) t)
(delete-region (point) (line-end-position)))
(insert " -- ")
(insert (format "%s" expurgated))))))
(vhdl-keep-region-active))