* lisp/progmodes/verilog-mode.el (verilog-mode-version): Update.
(verilog-auto-end-comment-lines-re, verilog-end-block-ordered-re)
(verilog-set-auto-endcomments): Automatically comment property/
endproperty blocks to match other similar blocks like sequence/
endsequence, function/endfunction, etc. Reported by Alex Reed.
(verilog-set-auto-endcomments): Fix end comments for functions of
type void, etc. Detect the function- or task-name when
auto-commenting blocks that lack an explicit portlist.
Reported by Alex Reed.
(verilog-nameable-item-re): Fix nameable items that can have an
end-identifier to include endchecker, endgroup, endprogram,
endproperty, and endsequence. Reported by Alex Reed.
(verilog-preprocessor-re, verilog-beg-of-statement):
Fix indentation of property/endproperty around pre-processor
directives. Reported by Alex Reed.
(verilog-label-be): When auto-commenting a buffer, consider
auto-comments on all known keywords (not just a subset thereof).
Reported by Alex Reed.
(verilog-beg-of-statement): Fix labeling do-while blocks, bug842.
Reported by Alex Reed.
(verilog-beg-of-statement-1, verilog-at-constraint-p):
Fix hanging with many curly-bracket pairs, bug663.
(verilog-do-indent): Fix electric tab deleting form-feeds.
Note caused by indent-line-to deleting tabls pre 24.5.
(verilog-auto-output, verilog-auto-input, verilog-auto-inout)
(verilog-auto-inout-module, verilog-auto-inout-in): Doc fixes.
(verilog-read-always-signals, verilog-auto-sense-sigs)
(verilog-auto-reset): Fix AUTORESET with always_comb and always_latch,
bug844. Reported by Greg Hilton.
Author: Alex Reed <acreed4@gmail.com> (tiny change)
* lisp/progmodes/verilog-mode.el (verilog-no-indent-begin-re):
Fix `verilog-indent-begin-after-if' nil not honoring 'forever',
'foreach', and 'do' keywords.
(verilog-endcomment-reason-re, verilog-beg-of-statement):
Fix labeling do-while blocks, bug842.
(verilog-backward-token): Fix indenting sensitivity lists with named
events, bug840.
* lisp/progmodes/verilog-mode.el (verilog-mode-version): Bump.
(verilog-menu): Add AUTOINSERTLAST.
(verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
is nil, fix indenting initial/final to match always statements, bug825.
Reported by Tim Clapp.
(verilog-extended-complete-re): Fix indentation of DPI-C imports,
bug557. Reported by ZeDong Mao and Jason Forkey.
(verilog-read-decls): Fix parsing typed interfaces.
Fix AUTOINOUTMODPORT missing types. Reported by Stephan Bourduas.
(verilog-auto-arg-ports): Fix verilog-auto-arg-format single.
(verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY, bug793.
Reported by Pierre-David Pfister.
(verilog-auto-insert-lisp): Doc fix.
(verilog-auto-insert-last, verilog-auto): Add AUTOINSERTLAST to
allow post-AUTO user fixups, bug826. Reported by Dennis Muhlestein.
(verilog-sk-ovm-class, verilog-sk-uvm-object)
(verilog-sk-uvm-component): Fix missing string keyword in class
skeletons, bug824. Reported by eldad faruhi.
* lisp/progmodes/verilog-mode.el (verilog-mode-version): Bump.
(verilog-auto-arg-format): New option, to support newlines in AUTOARG.
(verilog-type-font-keywords): Add nor.
(verilog-batch-execute-func): Force reading of Local Variables.
Fix printing "no changes to be saved" with verilog-batch.
(verilog-auto-arg-ports): Doc fix.
Add verilog-auto-arg-format to support newlines in AUTOARG.
(verilog-auto-arg): Doc fix.
* mail/unrmail.el (unrmail-mbox-format): Choice is mboxo, not mboxro.
* woman.el (woman-mark-horizontal-position):
Rename from woman-mark-horizonal-position. Use changed.
Change all regexps to use things like \_< and \_>.
* lisp/progmodes/ada-mode.el (ada-mode-abbrev-table): Consolidate declaration.
(ada-mode-syntax-table, ada-mode-symbol-syntax-table): Initialize in
the declaration.
(ada-create-syntax-table): Remove.
(ada-capitalize-word): Don't mess with the syntax of "_" since it
already has the right syntax nowadays.
(ada-goto-next-word): Don't change the syntax of "_".
* lisp/progmodes/autoconf.el (autoconf-definition-regexp)
(autoconf-font-lock-keywords, autoconf-current-defun-function):
Handle a _ with symbol syntax.
(autoconf-mode): Don't change the syntax-table for imenu and font-lock.
* lisp/progmodes/vera-mode.el (vera-underscore-is-part-of-word):
* lisp/progmodes/prolog.el (prolog-underscore-wordchar-flag)
(prolog-char-quote-workaround):
* lisp/progmodes/cperl-mode.el (cperl-under-as-char):
* lisp/progmodes/vhdl-mode.el (vhdl-underscore-is-part-of-word):
Mark as obsolete.
(vhdl-mode-syntax-table, vhdl-mode-ext-syntax-table): Initialize in
their declaration.
(vhdl-mode-syntax-table-init): Remove.
* lisp/progmodes/ld-script.el (ld-script-mode-syntax-table): Use symbol
syntax for "_".
(ld-script-font-lock-keywords):
Change regexps to use things like \_< and \_>.
* lisp/progmodes/m4-mode.el (m4-mode-syntax-table): Add comment on last change.
* lisp/font-lock.el (lisp-font-lock-keywords-2): Don't highlight obsolete
with-wrapper-hook.
* lisp/mh-e/mh-comp.el (mh-regexp-in-field-p): Minor simplification.
* verilog-mode.el (verilog-auto-ascii-enum, verilog-auto-inout)
(verilog-auto-input, verilog-auto-insert-lisp)
(verilog-auto-output, verilog-auto-output-every, verilog-auto-reg)
(verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-undef)
(verilog-auto-unused, verilog-auto-wire)
(verilog-forward-or-insert-line): Fix AUTOs with no trailing
newline. Reported by Andrew Jones.
(verilog-auto-inst) Support expanding $clog2 in AUTOINST.
Reported by Brad Dobbie.
(verilog-batch-delete-trailing-whitespace): Create
verilog-batch-delete-trailing-whitespace. Reported by Brad
Dobbie.
(verilog-auto-inout-param): Support AUTOINOUTPARAM for copying
parameters from another module. Reported by Dan Katz.
(verilog-auto, verilog-auto-assign-modport)
(verilog-auto-inout-modport): Add AUTOASSIGNMODPORT and
AUTOINOUTMODPORT for UVM interface module shell generation.
Reported by Brad Dobbie.
(verilog-auto-inst-interfaced-ports): Make default nil, as more
standard behavior.
(verilog-auto): Fix AUTO parameters with parenthesis arguments.
Reported by Matt Martin.
* progmodes/verilog-mode.el (font-lock-keywords):
Fix mis-highligting auto. Reported by Craig Barner.
(verilog-auto, verilog-auto-undef): Add AUTOUNDEF to remove
defines from global name space. Reported by Dan Dever.
(verilog-auto-reset, verilog-auto-reset-widths)
(verilog-auto-tieoff): Support using unbased numbers for
AUTORESET and AUTOTIEOFF.
(verilog-submit-bug-report): Update variable list.
(verilog-read-auto-params): Fix AUTOINPUT regexps containing
parenthesis from not matching. Reported by Michael Rytting.
(verilog-auto-template-lint): Fix hash error when linting modules
with no used templates.
(verilog-warn, verilog-warn-error)
(verilog-warn-fatal): When non-interactive report multiple
warnings before exiting. Suggested by Brad Dobbie.
(verilog-auto-template-lint, verilog-auto-template-warn-unused)
(verilog-read-auto-template): Add `verilog-auto-template-warn-unused'
to report unused template errors. Reported by Brad Dobbie.
(verilog-read-decls): Fix AUTOWIRE etc on supply0, supply1 type
nets, bug438. Reported by Vns Blore.
(verilog-auto-inout-module, verilog-auto-reg)
(verilog-read-decls, verilog-read-sub-decls-sig)
(verilog-signals-edit-wire-reg, verilog-signals-with):
Fix passing of Verilog data types in ANSI input/output ports
such as "output logic" into the AUTOs. Special case "wire" and
"reg" for backwards compatibility presuming Verilog 2001.
(verilog-auto-ascii-enum): Add "auto enum" as alias.
(verilog-preprocess): Fix replication of preprocess output.
Reported by Brad Dobbie.
(verilog-auto-inst-interfaced-ports):
Create verilog-auto-inst-interfaced-ports, bug429.
Reported by Julian Gorfajn.
(verilog-after-save-font-hook)
(verilog-before-save-font-hook): New variable.
(verilog-modi-cache-results, verilog-save-font-mod-hooked)
(verilog-save-font-mods): Wrap disabling fontification, reported
by David Rogoff.
(verilog-do-indent, verilog-pretty-declarations-auto)
(verilog-sk-def-reg): Fix obeying `verilog-auto-lineup', bug305.
Reported by Pierre-David Pfister.
(verilog-set-auto-endcomments): Fix endtask auto comments outside
of class declarations, bug292. Reported by Kevin Heilman.
(verilog-read-decls): Fix 'parameter type' not appearing in
AUTOINSTPARAM, bug340. Reported by Jonathan Greenlaw.
(verilog-auto-logic): Fix when AUTOLOGIC present to properly do
AUTOINPUTs, bug411. Reported by Jonathan Greenlaw.
(verilog-read-auto-lisp): Avoid syntax-ppss warning on AUTOLISP.
Reported by David Kravitz.
* progmodes/verilog-mode.el (verilog-pretty-expr): Don't line up
assignment with tests in ifs and for loops.
(verilog-extended-complete-re, verilog-complete-reg): Change so
that DPI inport functions don't look like fuction declarations.
(verilog-pretty-expr): Don't line up assignment
operations to the test and increment in if and for loops
(verilog-extended-complete-re, verilog-complete-reg): Change so
that DPI inport functions don't look like fuction declarations
* lisp/progmodes/verilog-mode.el (verilog-mode): Check whether
which-func-modes is t before adding verilog-mode.
Reported by Andy Moreton <andrewjmoreton@gmail.com>.
* lisp/mh-e/mh-folder.el (top): Check whether which-func-modes
is t before adding mh-folder-mode.
* progmodes/verilog-mode.el (verilog-pretty-expr): Rework
verilog-pretty-expr to handle new assignment operators in system
verilog, such as += *= and the like.
(verilog-assignment-operator-re): Regular expression to find the
assigment operator in a verilog assignment.
(verilog-assignment-operation-re): Regular expression to find an
assignment statement for pretty-expr.
(verilog-in-attribute-p): Query returns true if point is in an
attribute context; used to skip these for expression line up from
pretty-expr.
(verilog-in-parameter-p): Query returns true if point is in an
parameter definition context; used to skip these for expression
line up from pretty-expr.
(verilog-in-parenthesis-p): Query returns true if point is in a
parenthetical expression, specifically ( ) but not [ ] or { };
used by pretty-expr.
(verilog-just-one-space): If there is no space, don't add one.
(verilog-get-lineup-indent-2): Specifically skip just attribute
contexts for expression lineup, rather than skipping all
parenthetical expressions.
(verilog-calculate-indent): Fix comment, and fix indent.
(verilog-do-indent): Indent declarations in lists (suggested by
Joachim Lechner).
(verilog-mode-abbrev-table): Populate abbrev mode with the various
skeleton items.
(verilog-sk-ovm-class): Add skeleton for OVM classes (reported
by Alain Mellan).
* verilog-mode.el (verilog-read-defines): Fix reading parameters
with embedded comments. Reported by Ray Stevens.
(verilog-calc-1, verilog-fork-wait-re) (verilog-forward-sexp,
verilog-wait-fork-re): Fix indentation of "wait fork", bug407.
Reported by Tim Holt.
(verilog-auto): Fix AUTOing a upper module then AUTOing module
instantiated by upper module causing wrong expansion until AUTOed a
second time. Reported by K C Buckenmaier.
(verilog-diff-auto): Fix showing .* as a difference when
`verilog-auto-star-save' off. Reported by Dan Dever.
(verilog-auto-reset, verilog-read-always-signals)
(verilog-auto-reset-blocking-in-non): Fix AUTORESET including
temporary signals in reset list if
verilog-auto-reset-blocking-in-non is nil, and match assignment
style to each signal's assignment type, bug381. Reported by
Thomas Esposito.
(verilog-sk-uvm-class, verilog-uvm-begin-re, verilog-uvm-end-re)
(verilog-uvm-statement-re): Support UVM indentation and
highlighting, with old OVM keywords only.
(verilog-auto-tieoff, verilog-auto-tieoff-declaration): Support
AUTOTIEOFF creating non-wire data types. Suggested by Jonathan
Greenlaw.
(verilog-auto-insert-lisp, verilog-delete-to-paren)
(verilog-forward-sexp-cmt, verilog-forward-sexp-ign-cmt)
(verilog-inject-sense, verilog-read-inst-pins)
(verilog-read-sub-decls, verilog-read-sub-decls-line): Fix
mismatching parenthesis inside commented out code when deleting
AUTOINST, bug383. Reported by Jonathan Greenlaw.
(verilog-auto-ascii-enum): Fix AUTOASCIIENUM one-hot with
non-numeric vector width. Reported by Alex Reed.
(verilog-auto-ascii-enum): Add "onehot" option to work around not
detecting signals with parameter widths. Reported by Alex Reed.
(verilog-auto-delete-trailing-whitespace): With
`verilog-auto-delete-trailing-whitespace' remove trailing
whitespace in auto expansion, bug371. Reported by Brad Dobbie.
(verilog-run-hooks, verilog-scan-cache-flush, verilog-syntax-ppss):
Fix verilog-scan-cache corruption when running user AUTO expansion
hooks that call indentation routines.
(verilog-simplify-range-expression): Fix typo ignoring lower case
identifiers.
(verilog-delete-auto): Fix delete-autos to also remove user created
automatics, as long as they start with AUTO.
(verilog-batch-diff-auto, verilog-diff-auto)
(verilog-diff-function): Add `verilog-diff-auto' and bind to
"C-c?" to report differences in AUTO expansion, ignoring spaces.
(verilog-backward-syntactic-ws-quick, verilog-beg-of-defun-quick)
(verilog-in-paren-quick, verilog-re-search-backward-quick)
(verilog-re-search-forward-quick, verilog-syntax-ppss): Fix
calling `syntax-ppss' when inside auto expansions as the ppss hook
is disabled and its cache will get corrupt, causing AUTOS not to
expand. Instead use only -quick functions.
(verilog-scan-region): Fix scanning over escaped quotes.
(verilog-inside-comment-or-string-p, verilog-inside-comment-p)
(verilog-re-search-backward-quick)
(verilog-re-search-forward-quick, verilog-scan): verilog-scan and
related functions now ignore strings, to fix misparsing of strings
with magic comments embedded in them.
(verilog-read-auto-template): Fix
'verilog-auto-inst-template-numbers' with extra newline before (.
Reported by Brad Dobbie.
(verilog-read-auto-template): Fix
'verilog-auto-inst-template-numbers' with comments. Reported by
Brad Dobbie.
(verilog-auto-inst, verilog-auto-inst-param)
(verilog-auto-inst-sort): Add 'verilog-auto-inst-sort' to reduce
merge conflicts with AUTOINST, bug358. Reported by Brad Dobbie.
(verilog-auto-inst-template-numbers): Add 'lhs' policy for
debugging templates without merge conflicts, bug357. Reported by
Brad Dobbie.
(verilog-read-auto-template): Fix
verilog-auto-inst-template-numbers with multiple templates.
Reported by Brad Dobbie.
(verilog-define-abbrev): Fix verilog-mode abbrevs to be system
abbrevs so user won't be asked to save.
(verilog-read-auto-lisp-present): Fix to start at beginning of
buffer in case called outside of verilog-auto.
(verilog-simplify-range-expression): Fix AUTOWIRE expanding "X-1+1"
to "X-2". Reported by Matthew Myers.
(verilog-auto, verilog-auto-inout-in): Add AUTOINOUTIN for creating
all inputs from module templates. Reported by Leith Johnson.
(verilog-module-inside-filename-p): Fix locating programs as with
modules.
(verilog-auto-inst-port): Fix vl-width expressions when using
verilog-auto-inst-param-value, bug331. Reported by Julian Gorfajn.
(verilog-decls-get-regs, verilog-decls-get-signals,
verilog-decls-get-vars, verilog-decls-get-wires, verilog-decls-new,
verilog-modi-cache-add-vars, verilog-modi-cache-add-wires,
verilog-read-decls): Combine reg and wire structures into one var
structure to represent SystemVerilog concepts.
(verilog-auto-ascii-enum, verilog-auto-logic, verilog-auto-reg)
(verilog-auto-reg-input, verilog-auto-tieoff, verilog-auto-wire)
(verilog-auto-wire-type, verilog-insert-definition): Add
verilog-auto-wire-type and AUTOLOGIC to support using
SystemVerilog "logic" keyword instead of "wire"/"reg".
(verilog-auto-reg-input, verilog-decls-get-signals): Fix AUTOWIRE
to declares outputs that also have assignments (presumably in an
ifdef or generate if so there's not a driver conflict). Reported
by Matthew Myers.
(verilog-auto-declare-nettype, verilog-insert-definition): Add
verilog-auto-declare-nettype to fix declarations using
`default_nettype none. Reported by Julian Gorfajn.
(verilog-read-always-signals-recurse, verilog-read-decls)
(verilog-read-sub-decls-gate): Fix infinite loop with (*) and
malformed end statement, bug325. Reported by Joshua Wise and
Andrew Drake.
(verilog-auto-star-safe, verilog-delete-auto-star-implicit)
(verilog-inst-comment-re): Fix not deleting Interfaced comment
when expanding .* in interfaces, bug320. Reported by Pierre-David
Pfister.
(verilog-read-module-name): Fix import statements between module
name and open parenthesis, bug317. Reported by Pierre-David
Pfister.
(verilog-simplify-range-expression): Fix simplification of
multiplications inside AUTOWIRE connections, bug303.
(verilog-auto-inst-port): Support parameter expansion in
multidimensional arrays.
(verilog-read-decls): Fix AUTOREG etc looking for "endproperty"
after "assert property". Reported by Julian Gorfajn.
(verilog-simplify-range-expression): Fix "couldn't merge" errors
with multiplication, bug303.
(verilog-read-decls): Fix parsing of unsigned data types, bug302.