emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lisp ChangeLog progmodes/verilog-mode.el


From: Dan Nicolaescu
Subject: [Emacs-diffs] emacs/lisp ChangeLog progmodes/verilog-mode.el
Date: Fri, 11 Dec 2009 02:31:53 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Dan Nicolaescu <dann>   09/12/11 02:31:52

Modified files:
        lisp           : ChangeLog 
        lisp/progmodes : verilog-mode.el 

Log message:
        * verilog-mode.el (verilog-vmm-begin-re, verilog-vmm-end-re,
        verilog-vmm-statement-re, verilog-ovm-statement-re,
        verilog-defun-level-not-generate-re, verilog-calculate-indent,
        verilog-leap-to-head, verilog-backward-token): Fix
        indenting VMM macros.  Reported by Jonathan Ashbrook.
        
        * verilog-mode.el (verilog-auto-lineup, verilog-nameable-item-re):
        Cleanup user-visible spelling and documentation errors.  One
        reported by Gary Delp.
        (verilog-submit-bug-report): Mention bug tracking and CC
        co-author.
        (verilog-read-decls): Fix AUTOWIRE with types declared in a
        package, bug195.  Reported by Pierre-David Pfister.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.16889&r2=1.16890
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/progmodes/verilog-mode.el?cvsroot=emacs&r1=1.37&r2=1.38

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.16889
retrieving revision 1.16890
diff -u -b -r1.16889 -r1.16890
--- ChangeLog   11 Dec 2009 01:46:24 -0000      1.16889
+++ ChangeLog   11 Dec 2009 02:31:49 -0000      1.16890
@@ -1,3 +1,21 @@
+2009-12-11  Michael McNamara  <address@hidden>
+
+       * verilog-mode.el (verilog-vmm-begin-re, verilog-vmm-end-re,
+       verilog-vmm-statement-re, verilog-ovm-statement-re,
+       verilog-defun-level-not-generate-re, verilog-calculate-indent,
+       verilog-leap-to-head, verilog-backward-token): Fix
+       indenting VMM macros.  Reported by Jonathan Ashbrook.
+
+2009-12-11  Wilson Snyder  <address@hidden>
+
+       * verilog-mode.el (verilog-auto-lineup, verilog-nameable-item-re):
+       Cleanup user-visible spelling and documentation errors.  One
+       reported by Gary Delp.
+       (verilog-submit-bug-report): Mention bug tracking and CC
+       co-author.
+       (verilog-read-decls): Fix AUTOWIRE with types declared in a
+       package, bug195.  Reported by Pierre-David Pfister.
+
 2009-12-11  Glenn Morris  <address@hidden>
 
        * progmodes/cc-engine.el (safe-pos-list): Define for compiler.

Index: progmodes/verilog-mode.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/progmodes/verilog-mode.el,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- progmodes/verilog-mode.el   26 Nov 2009 03:18:34 -0000      1.37
+++ progmodes/verilog-mode.el   11 Dec 2009 02:31:52 -0000      1.38
@@ -118,9 +118,9 @@
 ;;; Code:
 
 ;; This variable will always hold the version number of the mode
-(defconst verilog-mode-version "552"
+(defconst verilog-mode-version "556"
   "Version of this Verilog mode.")
-(defconst verilog-mode-release-date "2009-11-25-GNU"
+(defconst verilog-mode-release-date "2009-12-10-GNU"
   "Release date of this Verilog mode.")
 (defconst verilog-mode-release-emacs t
   "If non-nil, this version of Verilog mode was released with Emacs itself.")
@@ -426,7 +426,7 @@
 
   :type '(radio (const :tag "Line up Assignments and Declarations" all)
                (const :tag "Line up Assignment statements" assignments )
-               (const :tag "Line up Declarartions" declarations)
+               (const :tag "Line up Declarations" declarations)
                (function :tag "Other"))
   :group 'verilog-mode-indent )
 
@@ -1203,7 +1203,7 @@
        :help           "Help on AUTOARG - declaring module port list"]
       ["AUTOASCIIENUM"                 (describe-function 
'verilog-auto-ascii-enum)
        :help           "Help on AUTOASCIIENUM - creating ASCII for 
enumerations"]
-      ["AUTOINOUTCOMP"                 (describe-function 
'verilog-auto-inout-complement)
+      ["AUTOINOUTCOMP"                 (describe-function 
'verilog-auto-inout-comp)
        :help           "Help on AUTOINOUTCOMP - copying complemented i/o from 
another file"]
       ["AUTOINOUTMODULE"               (describe-function 
'verilog-auto-inout-module)
        :help           "Help on AUTOINOUTMODULE - copying i/o from another 
file"]
@@ -1553,6 +1553,38 @@
        "`ovm_sequencer_utils_end"
        ) nil )))
 
+(defconst verilog-vmm-begin-re
+  (eval-when-compile
+    (verilog-regexp-opt
+     '(
+       "`vmm_data_member_begin"
+       "`vmm_env_member_begin"
+       "`vmm_scenario_member_begin"
+       "`vmm_subenv_member_begin"
+       "`vmm_xactor_member_begin"
+       ) nil ) ) )
+
+(defconst verilog-vmm-end-re
+  (eval-when-compile
+    (verilog-regexp-opt
+     '(
+       "`vmm_data_member_end"
+       "`vmm_env_member_end"
+       "`vmm_scenario_member_end"
+       "`vmm_subenv_member_end"
+       "`vmm_xactor_member_end"
+       ) nil ) ) )
+
+(defconst verilog-vmm-statement-re
+  (eval-when-compile
+    (verilog-regexp-opt
+     '(
+;;       "`vmm_xactor_member_enum_array"
+       
"`vmm_\\(data\\|env\\|scenario\\|subenv\\|xactor\\)_member_\\(scalar\\|string\\|enum\\|vmm_data\\|channel\\|xactor\\|subenv\\|user_defined\\)\\(_array\\)?"
+;;       "`vmm_xactor_member_scalar_array"
+;;       "`vmm_xactor_member_scalar"
+       ) nil )))
+
 (defconst verilog-ovm-statement-re
   (eval-when-compile
     (verilog-regexp-opt
@@ -1679,7 +1711,8 @@
   (concat
    "\\(\\<else\\>\\)\\|"               ; 1
    "\\(\\<if\\>\\)\\|"                 ; 2
-   "\\(\\<end\\>\\)\\|"                        ; 3
+   "\\(\\<assert\\>\\)\\|"              ; 3
+   "\\(\\<end\\>\\)\\|"                        ; 3.1
    "\\(\\<endcase\\>\\)\\|"            ; 4
    "\\(\\<endfunction\\>\\)\\|"                ; 5
    "\\(\\<endtask\\>\\)\\|"            ; 6
@@ -1689,6 +1722,12 @@
    "\\(\\<join\\(_any\\|_none\\)?\\>\\)\\|" ; 10
    "\\(\\<endclass\\>\\)\\|"            ; 11
    "\\(\\<endgroup\\>\\)\\|"            ; 12
+   ;; VMM
+   "\\(\\<`vmm_data_member_end\\>\\)\\|"
+   "\\(\\<`vmm_env_member_end\\>\\)\\|"
+   "\\(\\<`vmm_scenario_member_end\\>\\)\\|"
+   "\\(\\<`vmm_subenv_member_end\\>\\)\\|"
+   "\\(\\<`vmm_xactor_member_end\\>\\)\\|"
    ;; OVM
    "\\(\\<`ovm_component_utils_end\\>\\)\\|"
    "\\(\\<`ovm_field_utils_end\\>\\)\\|"
@@ -1777,7 +1816,12 @@
        "`ovm_object_utils_end"
        "`ovm_sequence_utils_end"
        "`ovm_sequencer_utils_end"
-
+       ;; VMM
+       "`vmm_data_member_end"
+       "`vmm_env_member_end"
+       "`vmm_scenario_member_end"
+       "`vmm_subenv_member_end"
+       "`vmm_xactor_member_end"
        ))))
 
 
@@ -1832,7 +1876,12 @@
        "`ovm_object_param_utils_begin"
        "`ovm_sequence_utils_begin"
        "`ovm_sequencer_utils_begin"
-
+       ;; VMM
+       "`vmm_data_member_begin"
+       "`vmm_env_member_begin"
+       "`vmm_scenario_member_begin"
+       "`vmm_subenv_member_begin"
+       "`vmm_xactor_member_begin"
        ))))
 ;; These are the same words, in a specific order in the regular
 ;; expression so that matching will work nicely for
@@ -1854,6 +1903,7 @@
           "\\|\\(\\<\\(rand\\)?sequence\\>\\)" ;21 25
           "\\|\\(\\<clocking\\>\\)"          ;22 27
           "\\|\\(\\<`ovm_[a-z_]+_begin\\>\\)" ;28
+           "\\|\\(\\<`vmm_[a-z_]+_member_begin\\>\\)"
           ;;
 
           ))
@@ -1888,7 +1938,7 @@
        "endfunction"
        "endgenerate"
        "endmodule"
-       "endprimative"
+       "endprimitive"
        "endinterface"
        "endpackage"
        "endspecify"
@@ -2025,6 +2075,18 @@
        "`ovm_object_utils_end"
        "`ovm_sequence_utils_end"
        "`ovm_sequencer_utils_end"
+       ;; VMM Begin tokens
+       "`vmm_data_member_begin"
+       "`vmm_env_member_begin"
+       "`vmm_scenario_member_begin"
+       "`vmm_subenv_member_begin"
+       "`vmm_xactor_member_begin"
+       ;; VMM End tokens
+       "`vmm_data_member_end"
+       "`vmm_env_member_end"
+       "`vmm_scenario_member_end"
+       "`vmm_subenv_member_end"
+       "`vmm_xactor_member_end"
        ))))
 
 (defconst verilog-defun-level-not-generate-re
@@ -3251,7 +3313,7 @@
   (while
       ;; If the current point does not begin a new
       ;; statement, as in the character ahead of us is a ';', or SOF
-      ;; or the string after us unambiguosly starts a statement,
+      ;; or the string after us unambiguously starts a statement,
       ;; or the token before us unambiguously ends a statement,
       ;; then move back a token and test again.
       (not (or
@@ -4278,7 +4340,8 @@
                   ;; if we have a directive, done.
                   (if (save-excursion (beginning-of-line)
                                       (and (looking-at verilog-directive-re-1)
-                                           (not (looking-at "[ \t]*`ovm_"))))
+                                           (not (or (looking-at "[ \t]*`ovm_") 
+                                 (looking-at "[ \t]*`vmm_")))))
                       (throw 'nesting 'directive))
            ;; indent structs as if there were module level
            (if (verilog-in-struct-p)
@@ -4338,6 +4401,14 @@
                                       (beginning-of-line)
                                       (verilog-forward-syntactic-ws)
                                       (throw 'nesting 'statement)))))
+                             ((match-end 3) ; assert block
+                              (setq elsec (1- elsec))
+                              (verilog-beg-of-statement) ;; doesn't get to 
beginning
+                              (if (looking-at (concat "\\(" verilog-label-re 
"\\)?"
+                                                      
"\\(assert\\|assume\\|cover\\)\\s-+property\\>"))
+                                  (throw 'nesting 'statement) ; We don't need 
an endproperty for these
+                                (throw 'nesting 'block)        ;We still need 
a endproperty
+                                ))
                              (t ; endblock
                                ; try to leap back to matching outward block by 
striding across
                                ; indent level changing tokens then immediately
@@ -4345,34 +4416,34 @@
                               (let (( reg) (nest 1))
 ;;      verilog-ends =>  
else|if|end|join(_any|_none|)|endcase|endclass|endtable|endspecify|endfunction|endtask|endgenerate|endgroup
                                 (cond
-                                 ((match-end 3) ; end
+                                 ((match-end 4) ; end
                                   ;; Search back for matching begin
                                   (setq reg 
"\\(\\<begin\\>\\)\\|\\(\\<end\\>\\)" ))
-                                 ((match-end 4) ; endcase
+                                 ((match-end 5) ; endcase
                                   ;; Search back for matching case
                                   (setq reg 
"\\(\\<randcase\\>\\|\\<case[xz]?\\>[^:]\\)\\|\\(\\<endcase\\>\\)" ))
-                                 ((match-end 5) ; endfunction
+                                 ((match-end 6) ; endfunction
                                   ;; Search back for matching function
                                   (setq reg 
"\\(\\<function\\>\\)\\|\\(\\<endfunction\\>\\)" ))
-                                 ((match-end 6) ; endtask
+                                 ((match-end 7) ; endtask
                                   ;; Search back for matching task
                                   (setq reg 
"\\(\\<task\\>\\)\\|\\(\\<endtask\\>\\)" ))
-                                 ((match-end 7) ; endspecify
+                                 ((match-end 8) ; endspecify
                                   ;; Search back for matching specify
                                   (setq reg 
"\\(\\<specify\\>\\)\\|\\(\\<endspecify\\>\\)" ))
-                                 ((match-end 8) ; endtable
+                                 ((match-end 9) ; endtable
                                   ;; Search back for matching table
                                   (setq reg 
"\\(\\<table\\>\\)\\|\\(\\<endtable\\>\\)" ))
-                                 ((match-end 9) ; endgenerate
+                                 ((match-end 10) ; endgenerate
                                   ;; Search back for matching generate
                                   (setq reg 
"\\(\\<generate\\>\\)\\|\\(\\<endgenerate\\>\\)" ))
-                                 ((match-end 10) ; joins
+                                 ((match-end 11) ; joins
                                   ;; Search back for matching fork
                                   (setq reg 
"\\(\\<fork\\>\\)\\|\\(\\<join\\(_any\\|none\\)?\\>\\)" ))
-                                 ((match-end 11) ; class
+                                 ((match-end 12) ; class
                                   ;; Search back for matching class
                                   (setq reg 
"\\(\\<class\\>\\)\\|\\(\\<endclass\\>\\)" ))
-                                 ((match-end 12) ; covergroup
+                                 ((match-end 13) ; covergroup
                                   ;; Search back for matching covergroup
                                   (setq reg 
"\\(\\<covergroup\\>\\)\\|\\(\\<endgroup\\>\\)" )))
                                 (catch 'skip
@@ -4442,7 +4513,7 @@
 
           ((equal (char-after) ?\})
            (let ((there (verilog-at-close-constraint-p)))
-             (if there ;; we are at the } that closes a constraing.  Find the 
{ that opens it
+             (if there ;; we are at the } that closes a constraint.  Find the 
{ that opens it
                  (progn
                    (forward-char 1)
                    (backward-list 1)
@@ -4624,6 +4695,9 @@
      ((looking-at verilog-ovm-end-re)
       ;; 12: Search back for matching sequence
       (setq reg (concat "\\(" verilog-ovm-begin-re "\\|" verilog-ovm-end-re 
"\\)")))
+     ((looking-at verilog-vmm-end-re)
+      ;; 12: Search back for matching sequence
+      (setq reg (concat "\\(" verilog-vmm-begin-re "\\|" verilog-vmm-end-re 
"\\)")))
      ((looking-at "\\<endinterface\\>")
       ;; 12: Search back for matching interface
       (setq reg "\\(\\<interface\\>\\)\\|\\(\\<endinterface\\>\\)" ))
@@ -4751,6 +4825,16 @@
          t)
         ((looking-at verilog-ovm-end-re)
          t)
+     ;; JBA find VMM macros
+     ((looking-at verilog-vmm-statement-re)
+      nil )
+     ((looking-at verilog-vmm-begin-re)
+      t)
+     ((looking-at verilog-vmm-end-re)
+      nil)
+     ;; JBA trying to catch macro lines with no ; at end
+     ((looking-at "\\<`")
+      nil)
         (t
          (goto-char back)
          (cond
@@ -5475,7 +5559,7 @@
               (cond
                ((looking-at myre)
                 (goto-char (match-beginning 2))
-                (if (not (verilog-parenthesis-depth)) ;; ignore parenthsized 
exprs
+                (if (not (verilog-parenthesis-depth)) ;; ignore parenthesized 
exprs
                     (if (eq (char-after) ?=)
                         (indent-to (1+ ind))   ; line up the = of the <= with 
surrounding =
                       (indent-to ind)
@@ -5607,7 +5691,7 @@
       (while (progn (setq e (marker-position edpos))
                    (< (point) e))
        (if (and (verilog-re-search-forward myre e 'move)
-                (not (verilog-parenthesis-depth))) ;; skip parenthsized exprs
+                (not (verilog-parenthesis-depth))) ;; skip parenthesized exprs
            (progn
              (goto-char (match-beginning 2))
              (verilog-backward-syntactic-ws)
@@ -6645,8 +6729,14 @@
         ((looking-at "\\s-*\\([a-zA-Z0-9`_$]+\\|\\\\[^ \t\n\f]+\\)")
          (goto-char (match-end 0))
          (setq keywd (match-string 1))
-         (when (string-match "^\\\\" keywd)
+         (when (string-match "^\\\\" (match-string 1))
            (setq keywd (concat keywd " ")))  ;; Escaped ID needs space at end
+         ;; Add any :: package names to same identifier
+         (while (looking-at "\\s-*::\\s-*\\([a-zA-Z0-9`_$]+\\|\\\\[^ 
\t\n\f]+\\)")
+           (goto-char (match-end 0))
+           (setq keywd (concat keywd "::" (match-string 1)))
+           (when (string-match "^\\\\" (match-string 1))
+             (setq keywd (concat keywd " "))))  ;; Escaped ID needs space at 
end
          (cond ((equal keywd "input")
                 (setq vec nil enum nil  rvalue nil  newsig nil  signed nil  
typedefed nil  multidim nil  sig-paren paren
                       expect-signal 'sigs-in  io t  modport nil))
@@ -7917,7 +8007,7 @@
             (nth 3 fass))
            (t
             ;; Read from file
-            ;; Clear then restore any hilighting to make emacs19 happy
+            ;; Clear then restore any highlighting to make emacs19 happy
             (let ((fontlocked (when (and (boundp 'font-lock-mode)
                                          font-lock-mode)
                                 (font-lock-mode 0)
@@ -8756,7 +8846,7 @@
   "Insert , etc before first ever port in this instant, as part of 
\\[verilog-auto-inst]."
   ;; Do we need a trailing comma?
   ;; There maybe a ifdef or something similar before us.  What a mess.  Thus
-  ;; to avoid trouble we only insert on preceeding ) or *.
+  ;; to avoid trouble we only insert on preceding ) or *.
   ;; Insert first port on new line
   (insert "\n")  ;; Must insert before search, so point will move forward if 
insert comma
   (save-excursion
@@ -10067,7 +10157,7 @@
 Limitations:
   AUTORESET will not clear memories.
 
-  AUTORESET uses <= if there are any <= assigmnents in the block,
+  AUTORESET uses <= if there are any <= assignments in the block,
   else it uses =.
 
 /*AUTORESET*/ presumes that any signals mentioned between the previous
@@ -11143,7 +11233,7 @@
   (interactive)
   (let ((reporter-prompt-for-summary-p t))
     (reporter-submit-bug-report
-     "address@hidden"
+     "address@hidden, address@hidden"
      (concat "verilog-mode v" verilog-mode-version)
      '(
        verilog-align-ifelse
@@ -11185,23 +11275,22 @@
      nil nil
      (concat "Hi Mac,
 
-I want to report a bug.  I've read the `Bugs' section of `Info' on
-Emacs, so I know how to make a clear and unambiguous report.  To get
-to that Info section, I typed
-
-M-x info RET m " invocation-name " RET m bugs RET
+I want to report a bug.
 
 Before I go further, I want to say that Verilog mode has changed my life.
 I save so much time, my files are colored nicely, my co workers respect
 my coding ability... until now.  I'd really appreciate anything you
 could do to help me out with this minor deficiency in the product.
 
-If you have bugs with the AUTO functions, please CC the AUTOAUTHOR Wilson
-Snyder (address@hidden) and/or see http://www.veripool.org.
-You may also want to look at the Verilog-Mode FAQ, see
+I've taken a look at the Verilog-Mode FAQ at
 http://www.veripool.org/verilog-mode-faq.html.
 
-To reproduce the bug, start a fresh Emacs via " invocation-name "
+And, I've considered filing the bug on the issue tracker at
+http://www.veripool.org/verilog-mode-bugs
+since I realize that public bugs are easier for you to track,
+and for others to search, but would prefer to email.
+
+So, to reproduce the bug, start a fresh Emacs via " invocation-name "
 -no-init-file -no-site-file'.  In a new buffer, in Verilog mode, type
 the code included below.
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]