        ;; distribution weighting
        ":=" ":/"
        ) 't
-         )))
+     )))
 (defconst verilog-assignment-operation-re
   (concat
    ;; "\\(^\\s-*[A-Za-z0-9_]+\\(\\[\\([A-Za-z0-9_]+\\)\\]\\)*\\s-*\\)"

              (let ((args (function-max-args 'regexp-opt)))
                (cond
                 ((eq args 3)  ; It takes 3
                  (condition-case nil	; Hide this defun from emacses
                                        ; with just a two input regexp
                      (defun verilog-regexp-opt (a b)
                        "Deal with differing number of required arguments for  `regexp-opt'.

  "Parse module at point and return list of ( ( file instance ) ... )."
  (verilog-beg-of-defun-quick)
  (let* ((end-mod-point (verilog-get-end-of-defun))
         (state nil)
         (instants-list nil))
    (save-excursion
      (while (< (point) end-mod-point)
        ;; Stay at level 0, no comments
        (while (progn
                 (setq state (parse-partial-sexp (point) end-mod-point 0 t nil))
                 (or (> (car state) 0)  ; in parens
                     (nth 5 state)      ; comment
                     ))
          (forward-line 1))
        (beginning-of-line)
        (if (looking-at "^\\s-*\\([a-zA-Z0-9`_$]+\\)\\s-+\\([a-zA-Z0-9`_$]+\\)\\s-*(")
            (let ((module (match-string-no-properties 1))
                  (instant (match-string-no-properties 2)))
              (if (not (member module verilog-keywords))
                  (setq instants-list (cons (list module instant) instants-list)))))
        (forward-line 1)))
    instants-list))


