Function: verilog-in-generate-region-p

verilog-in-generate-region-p is an interactive and byte-compiled function defined in verilog-mode.el.gz.

Signature

(verilog-in-generate-region-p)

Documentation

Return non-nil if in a generate region.

More specifically, after a generate and before an endgenerate.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/verilog-mode.el.gz
(defun verilog-in-generate-region-p ()
  "Return non-nil if in a generate region.
More specifically, after a generate and before an endgenerate."
  (interactive)
  (let ((nest 1))
    (save-excursion
      (catch 'done
	(while (and
		(/= nest 0)
		(verilog-re-search-backward
                 "\\<\\(?:\\(module\\)\\|\\(connectmodule\\)\\|\\(endmodule\\)\\|\\(generate\\)\\|\\(endgenerate\\)\\|\\(if\\)\\|\\(case\\)\\|\\(for\\)\\)\\>" nil 'move)
		(cond
		 ((match-end 1) ; module - we have crawled out
		  (throw 'done 1))
                 ((match-end 2) ; connectmodule - we have crawled out
                  (throw 'done 1))
                 ((match-end 3) ; endmodule - we were outside of module block
                  (throw 'done -1))
                 ((match-end 4) ; generate
		  (setq nest (1- nest)))
                 ((match-end 5) ; endgenerate
                  (setq nest (1+ nest)))
                 ((match-end 6) ; if
                  (setq nest (1- nest)))
                 ((match-end 7) ; case
                  (setq nest (1- nest)))
                 ((match-end 8) ; for
                  (setq nest (1- nest))))))))
    (= nest 0) )) ; return nest