Function: verilog-delete-auto-star-implicit
verilog-delete-auto-star-implicit is an interactive and byte-compiled
function defined in verilog-mode.el.gz.
Signature
(verilog-delete-auto-star-implicit)
Documentation
Delete all .* implicit connections created by verilog-auto-star.
This function will be called automatically at save unless
verilog-auto-star-save is set, any non-templated expanded pins will be
removed.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/verilog-mode.el.gz
(defun verilog-delete-auto-star-implicit ()
"Delete all .* implicit connections created by `verilog-auto-star'.
This function will be called automatically at save unless
`verilog-auto-star-save' is set, any non-templated expanded pins will be
removed."
(interactive)
(let (paren-pt indent have-close-paren)
(save-excursion
(goto-char (point-min))
;; We need to match these even outside of comments.
;; For reasonable performance, we don't check if inside comments, sorry.
(while (re-search-forward "// Implicit \\.\\*" nil t)
(setq paren-pt (point))
(beginning-of-line)
(setq have-close-paren
(save-excursion
(when (search-forward ");" paren-pt t)
(setq indent (current-indentation))
t)))
(delete-region (point) (+ 1 paren-pt)) ; Nuke line incl CR
(when have-close-paren
;; Delete extra commentary
(save-excursion
(while (progn
(forward-line -1)
(looking-at (concat "\\s *//\\s *" verilog-inst-comment-re "\n")))
(delete-region (match-beginning 0) (match-end 0))))
;; If it is simple, we can put the ); on the same line as the last text
(let ((rtn-pt (point)))
(save-excursion
(while (progn (backward-char 1)
(looking-at "[ \t\n\f]")))
(when (looking-at ",")
(delete-region (+ 1 (point)) rtn-pt))))
(when (bolp)
(indent-to indent))
(insert ");\n")
;; Still need to kill final comma - always is one as we put one after the .*
(re-search-backward ",")
(delete-char 1))))))