Function: verilog-inject-sense

verilog-inject-sense is a byte-compiled function defined in verilog-mode.el.gz.

Signature

(verilog-inject-sense)

Documentation

Inject AUTOSENSE into new code. See verilog-inject-auto.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/verilog-mode.el.gz
(defun verilog-inject-sense ()
  "Inject AUTOSENSE into new code.  See `verilog-inject-auto'."
  (save-excursion
    (goto-char (point-min))
    (while (verilog-re-search-forward-quick "\\<always\\s *@\\s *(" nil t)
      (let* ((start-pt (point))
	     (modi (verilog-modi-current))
	     (moddecls (verilog-modi-get-decls modi))
	     pre-sigs
	     got-sigs)
	(backward-char 1)
	(verilog-forward-sexp-ign-cmt 1)
        (backward-char 1)  ; End )
	(when (not (verilog-re-search-backward-quick "/\\*\\(AUTOSENSE\\|AS\\)\\*/" start-pt t))
	  (setq pre-sigs (verilog-signals-from-signame
			  (verilog-read-signals start-pt (point)))
		got-sigs (verilog-auto-sense-sigs moddecls nil))
	  (when (not (or (verilog-signals-not-in pre-sigs got-sigs)  ; Both are equal?
			 (verilog-signals-not-in got-sigs pre-sigs)))
	    (delete-region start-pt (point))
	    (verilog-insert "/*AS*/")))))))