diff options
| author | Wilson Snyder | 2013-05-16 09:11:38 -0700 |
|---|---|---|
| committer | Glenn Morris | 2013-05-16 09:11:38 -0700 |
| commit | bc8bc17d74b9667eae5abe6c6e5ef114634a7090 (patch) | |
| tree | 5de7db2fae9bb40c8f17354086e5f980c7c87753 | |
| parent | b54b47cd07875e4d44c64a19774dd49dcb708388 (diff) | |
| download | emacs-bc8bc17d74b9667eae5abe6c6e5ef114634a7090.tar.gz emacs-bc8bc17d74b9667eae5abe6c6e5ef114634a7090.zip | |
Sync with upstream verilog-mode r840.
* lisp/progmodes/verilog-mode.el (verilog-mode-version)
(verilog-mode-release-date): Update.
(verilog-auto-lineup, verilog-auto-reset): Doc fixes.
(verilog-sig-tieoff): Fix string error on
AUTORESET with colon define, bug594. Reported by Andrew Hou.
(verilog-read-decls): Fix parameters confusing
AUTOINST interfaces, bug565. Reported by Leith Johnson.
| -rw-r--r-- | lisp/ChangeLog | 11 | ||||
| -rw-r--r-- | lisp/progmodes/verilog-mode.el | 38 |
2 files changed, 36 insertions, 13 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a33796ce24f..796652554ff 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,14 @@ | |||
| 1 | 2013-05-16 Wilson Snyder <wsnyder@wsnyder.org> | ||
| 2 | |||
| 3 | Sync with upstream verilog-mode r840. | ||
| 4 | * progmodes/verilog-mode.el (verilog-mode-version) | ||
| 5 | (verilog-mode-release-date): Update. | ||
| 6 | (verilog-auto-lineup, verilog-auto-reset): Doc fixes. | ||
| 7 | (verilog-sig-tieoff): Fix string error on | ||
| 8 | AUTORESET with colon define, bug594. Reported by Andrew Hou. | ||
| 9 | (verilog-read-decls): Fix parameters confusing | ||
| 10 | AUTOINST interfaces, bug565. Reported by Leith Johnson. | ||
| 11 | |||
| 1 | 2013-05-16 Eli Zaretskii <eliz@gnu.org> | 12 | 2013-05-16 Eli Zaretskii <eliz@gnu.org> |
| 2 | 13 | ||
| 3 | * subr.el (reveal-filename): New function. | 14 | * subr.el (reveal-filename): New function. |
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el index b36c6d02753..ed911fcbba2 100644 --- a/lisp/progmodes/verilog-mode.el +++ b/lisp/progmodes/verilog-mode.el | |||
| @@ -123,9 +123,9 @@ | |||
| 123 | ;;; Code: | 123 | ;;; Code: |
| 124 | 124 | ||
| 125 | ;; This variable will always hold the version number of the mode | 125 | ;; This variable will always hold the version number of the mode |
| 126 | (defconst verilog-mode-version (substring "$$Revision: 820 $$" 12 -3) | 126 | (defconst verilog-mode-version (substring "$$Revision: 840 $$" 12 -3) |
| 127 | "Version of this Verilog mode.") | 127 | "Version of this Verilog mode.") |
| 128 | (defconst verilog-mode-release-date (substring "$$Date: 2012-09-17 20:43:10 -0400 (Mon, 17 Sep 2012) $$" 8 -3) | 128 | (defconst verilog-mode-release-date (substring "$$Date: 2013-01-03 05:29:05 -0800 (Thu, 03 Jan 2013) $$" 8 -3) |
| 129 | "Release date of this Verilog mode.") | 129 | "Release date of this Verilog mode.") |
| 130 | (defconst verilog-mode-release-emacs t | 130 | (defconst verilog-mode-release-emacs t |
| 131 | "If non-nil, this version of Verilog mode was released with Emacs itself.") | 131 | "If non-nil, this version of Verilog mode was released with Emacs itself.") |
| @@ -501,7 +501,7 @@ entry \"Fontify Buffer\"). XEmacs: turn off and on font locking." | |||
| 501 | "Type of statements to lineup across multiple lines. | 501 | "Type of statements to lineup across multiple lines. |
| 502 | If 'all' is selected, then all line ups described below are done. | 502 | If 'all' is selected, then all line ups described below are done. |
| 503 | 503 | ||
| 504 | If 'declaration', then just declarations are lined up with any | 504 | If 'declarations', then just declarations are lined up with any |
| 505 | preceding declarations, taking into account widths and the like, | 505 | preceding declarations, taking into account widths and the like, |
| 506 | so or example the code: | 506 | so or example the code: |
| 507 | reg [31:0] a; | 507 | reg [31:0] a; |
| @@ -1129,9 +1129,9 @@ won't merge conflict." | |||
| 1129 | 1129 | ||
| 1130 | (defcustom verilog-auto-inst-interfaced-ports nil | 1130 | (defcustom verilog-auto-inst-interfaced-ports nil |
| 1131 | "Non-nil means include interfaced ports in AUTOINST expansions." | 1131 | "Non-nil means include interfaced ports in AUTOINST expansions." |
| 1132 | :version "24.3" ;; rev773, default change rev815 | ||
| 1132 | :group 'verilog-mode-auto | 1133 | :group 'verilog-mode-auto |
| 1133 | :type 'boolean | 1134 | :type 'boolean) |
| 1134 | :version "24.3") | ||
| 1135 | (put 'verilog-auto-inst-interfaced-ports 'safe-local-variable 'verilog-booleanp) | 1135 | (put 'verilog-auto-inst-interfaced-ports 'safe-local-variable 'verilog-booleanp) |
| 1136 | 1136 | ||
| 1137 | (defcustom verilog-auto-input-ignore-regexp nil | 1137 | (defcustom verilog-auto-input-ignore-regexp nil |
| @@ -1158,8 +1158,8 @@ See the \\[verilog-faq] for examples on using this." | |||
| 1158 | (defcustom verilog-auto-template-warn-unused nil | 1158 | (defcustom verilog-auto-template-warn-unused nil |
| 1159 | "Non-nil means report warning if an AUTO_TEMPLATE line is not used. | 1159 | "Non-nil means report warning if an AUTO_TEMPLATE line is not used. |
| 1160 | This feature is not supported before Emacs 21.1 or XEmacs 21.4." | 1160 | This feature is not supported before Emacs 21.1 or XEmacs 21.4." |
| 1161 | :version "24.3" ;;rev787 | ||
| 1161 | :group 'verilog-mode-auto | 1162 | :group 'verilog-mode-auto |
| 1162 | :version "24.3" | ||
| 1163 | :type 'boolean) | 1163 | :type 'boolean) |
| 1164 | (put 'verilog-auto-template-warn-unused 'safe-local-variable 'verilog-booleanp) | 1164 | (put 'verilog-auto-template-warn-unused 'safe-local-variable 'verilog-booleanp) |
| 1165 | 1165 | ||
| @@ -1230,14 +1230,14 @@ For example, \"_t$\" matches typedefs named with _t, as in the C language." | |||
| 1230 | 1230 | ||
| 1231 | (defcustom verilog-before-save-font-hook nil | 1231 | (defcustom verilog-before-save-font-hook nil |
| 1232 | "Hook run before `verilog-save-font-mods' removes highlighting." | 1232 | "Hook run before `verilog-save-font-mods' removes highlighting." |
| 1233 | :version "24.3" ;;rev735 | ||
| 1233 | :group 'verilog-mode-auto | 1234 | :group 'verilog-mode-auto |
| 1234 | :version "24.3" | ||
| 1235 | :type 'hook) | 1235 | :type 'hook) |
| 1236 | 1236 | ||
| 1237 | (defcustom verilog-after-save-font-hook nil | 1237 | (defcustom verilog-after-save-font-hook nil |
| 1238 | "Hook run after `verilog-save-font-mods' restores highlighting." | 1238 | "Hook run after `verilog-save-font-mods' restores highlighting." |
| 1239 | :version "24.3" ;;rev735 | ||
| 1239 | :group 'verilog-mode-auto | 1240 | :group 'verilog-mode-auto |
| 1240 | :version "24.3" | ||
| 1241 | :type 'hook) | 1241 | :type 'hook) |
| 1242 | 1242 | ||
| 1243 | (defvar verilog-imenu-generic-expression | 1243 | (defvar verilog-imenu-generic-expression |
| @@ -7773,9 +7773,12 @@ Tieoff value uses `verilog-active-low-regexp' and | |||
| 7773 | ;; Else presume verilog-auto-reset-widths is true | 7773 | ;; Else presume verilog-auto-reset-widths is true |
| 7774 | (t | 7774 | (t |
| 7775 | (let* ((width (verilog-sig-width sig))) | 7775 | (let* ((width (verilog-sig-width sig))) |
| 7776 | (if (string-match "^[0-9]+$" width) | 7776 | (cond ((not width) |
| 7777 | (concat width (if (verilog-sig-signed sig) "'sh0" "'h0")) | 7777 | "`0/*NOWIDTH*/") |
| 7778 | (concat "{" width "{1'b0}}"))))))) | 7778 | ((string-match "^[0-9]+$" width) |
| 7779 | (concat width (if (verilog-sig-signed sig) "'sh0" "'h0"))) | ||
| 7780 | (t | ||
| 7781 | (concat "{" width "{1'b0}}")))))))) | ||
| 7779 | 7782 | ||
| 7780 | ;; | 7783 | ;; |
| 7781 | ;; Dumping | 7784 | ;; Dumping |
| @@ -7956,6 +7959,7 @@ Return an array of [outputs inouts inputs wire reg assign const]." | |||
| 7956 | vec expect-signal keywd newsig rvalue enum io signed typedefed multidim | 7959 | vec expect-signal keywd newsig rvalue enum io signed typedefed multidim |
| 7957 | modport | 7960 | modport |
| 7958 | varstack tmp) | 7961 | varstack tmp) |
| 7962 | ;;(if dbg (setq dbg (concat dbg (format "\n\nverilog-read-decls START PT %s END %s\n" (point) end-mod-point)))) | ||
| 7959 | (save-excursion | 7963 | (save-excursion |
| 7960 | (verilog-beg-of-defun-quick) | 7964 | (verilog-beg-of-defun-quick) |
| 7961 | (setq sigs-const (verilog-read-auto-constants (point) end-mod-point)) | 7965 | (setq sigs-const (verilog-read-auto-constants (point) end-mod-point)) |
| @@ -8010,7 +8014,7 @@ Return an array of [outputs inouts inputs wire reg assign const]." | |||
| 8010 | (setq paren (1- paren)) | 8014 | (setq paren (1- paren)) |
| 8011 | (forward-char 1) | 8015 | (forward-char 1) |
| 8012 | (when (< paren sig-paren) | 8016 | (when (< paren sig-paren) |
| 8013 | (setq expect-signal nil))) ; ) that ends variables inside v2k arg list | 8017 | (setq expect-signal nil rvalue nil))) ; ) that ends variables inside v2k arg list |
| 8014 | ((looking-at "\\s-*\\(\\[[^]]+\\]\\)") | 8018 | ((looking-at "\\s-*\\(\\[[^]]+\\]\\)") |
| 8015 | (goto-char (match-end 0)) | 8019 | (goto-char (match-end 0)) |
| 8016 | (cond (newsig ; Memory, not just width. Patch last signal added's memory (nth 3) | 8020 | (cond (newsig ; Memory, not just width. Patch last signal added's memory (nth 3) |
| @@ -12458,12 +12462,20 @@ used on the right hand side of assignments. | |||
| 12458 | 12462 | ||
| 12459 | By default, AUTORESET will include the width of the signal in the | 12463 | By default, AUTORESET will include the width of the signal in the |
| 12460 | autos, SystemVerilog designs may want to change this. To control | 12464 | autos, SystemVerilog designs may want to change this. To control |
| 12461 | this behavior, see `verilog-auto-reset-widths'. | 12465 | this behavior, see `verilog-auto-reset-widths'. In some cases |
| 12466 | AUTORESET must use a '0 assignment and it will print NOWIDTH; use | ||
| 12467 | `verilog-auto-reset-widths' unbased to prevent this. | ||
| 12462 | 12468 | ||
| 12463 | AUTORESET ties signals to deasserted, which is presumed to be zero. | 12469 | AUTORESET ties signals to deasserted, which is presumed to be zero. |
| 12464 | Signals that match `verilog-active-low-regexp' will be deasserted by tying | 12470 | Signals that match `verilog-active-low-regexp' will be deasserted by tying |
| 12465 | them to a one. | 12471 | them to a one. |
| 12466 | 12472 | ||
| 12473 | AUTORESET may try to reset arrays or structures that cannot be | ||
| 12474 | reset by a simple assignment, resulting in compile errors. This | ||
| 12475 | is a feature to be taken as a hint that you need to reset these | ||
| 12476 | signals manually (or put them into a \"`ifdef NEVER signal<=`0; | ||
| 12477 | `endif\" so Verilog-Mode ignores them.) | ||
| 12478 | |||
| 12467 | An example: | 12479 | An example: |
| 12468 | 12480 | ||
| 12469 | always @(posedge clk or negedge reset_l) begin | 12481 | always @(posedge clk or negedge reset_l) begin |