GNU bug report logs - #63251
28.2; vhdl-mode contribution

Previous Next

Package: emacs;

Reported by: Cyril Arnould <cyril.arnould <at> outlook.com>

Date: Wed, 3 May 2023 19:46:01 UTC

Severity: normal

Found in version 28.2

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 63251 in the body.
You can then email your comments to 63251 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Wed, 03 May 2023 19:46:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Cyril Arnould <cyril.arnould <at> outlook.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 03 May 2023 19:46:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Cyril Arnould <cyril.arnould <at> outlook.com>
To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org>
Subject: 28.2; vhdl-mode contribution
Date: Wed, 3 May 2023 19:40:18 +0000
[Message part 1 (text/plain, inline)]
Following bug#62508, I've taken a bit of a closer look at the compiler
regexp for ModelSim. I've modified it so that it can differentiate
between Errors, Warnings and Notes when highlighting. I also make use of
Xilinx Vivado at work, for which I've added a new compiler entry:


--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -286,7 +286,7 @@ vhdl-compiler-alist
     ;;    counter_rtl.vhd(29):Conditional signal assignment line__29
     ("ModelSim" "vcom" "-93 -work \\1" "make" "-f \\1"
      nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "modelsim"
-     ("^\\(ERROR\\|WARNING\\|\\*\\* Error\\|\\*\\* Warning\\)[^:]*:\\( *\\[[0-9]+]\\| ([^)]+)\\)? \\([^ \t\n]+\\)(\\([0-9]+\\)):" 3 4 nil)
+     ("^\\(?:\\(?1:ERROR\\|\\*\\* Error\\)\\|\\(?2:WARNING\\|\\*\\* Warning\\)\\|\\(?3:NOTE\\|\\*\\* Note\\)\\)[^:]*:\\( *\\[[0-9]+]\\| ([^)]+)\\)? \\(?4:[^ \t\n]+\\)(\\(?5:[0-9]+\\)):" 4 5 nil (2 . 3))
      ("" 0)
      ("\\1/_primary.dat" "\\2/\\1.dat" "\\1/_primary.dat"
       "\\1/_primary.dat" "\\1/body.dat" downcase))
@@ -385,6 +385,13 @@ vhdl-compiler-alist
      nil "mkdir \\1" "./" "work/" "Makefile" "xilinx"
      ("^ERROR:HDLParsers:[0-9]+ - \"\\([^ \t\n]+\\)\" Line \\([0-9]+\\)\\." 1 2 nil) ("" 0)
      nil)
+    ;; Xilinx Vivado:
+    ;; ERROR: [VRFC 10-1412] syntax error near o_idle [test.vhd:23]
+    ("Xilinx Vivado" "xvhdl" "" "make" "-f \\1"
+     nil "mkdir \\1" "./" "work" "Makefile" "vivado"
+     ("^\\(?:\\(?1:ERROR\\)\\|\\(?2:WARNING\\)\\|\\(?3:INFO\\)\\): \\(.+\\) \\[\\(?4:[^ \t\n]+\\):\\(?5:[0-9]+\\)\\]" 4 5 nil (2 . 3)) ("" 0)
+     ("\\1/entity" "\\2/\\1" "\\1/configuration"
+      "\\1/package" "\\1/body" downcase))
     )
   "List of available VHDL compilers and their properties.
Each list entry specifies the following items for a compiler:


The patch was generated from the emacs master branch. I would greatly
appreciate it if these changes could find their way in some form into a
future emacs release.

Cyril


In GNU Emacs 28.2 (build 2, x86_64-w64-mingw32)
of 2022-10-11 built on fv-az277-711
Repository revision: b35f9af313a5d5c42988eb5a7751209b4234a67e
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 10.0.19044
System Description: Microsoft Windows 10 Pro (v10.0.2009.19044.2846)

Configured using:
'configure --prefix=/ucrt64 --host=x86_64-w64-mingw32
--build=x86_64-w64-mingw32 --with-modules --without-dbus
--without-compress-install --with-native-compilation
'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe'
CPPFLAGS=-D__USE_MINGW_ANSI_STDIO=1 LDFLAGS=-pipe'

Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LIBXML2 MODULES NATIVE_COMP NOTIFY
W32NOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS XPM
ZLIB

Important settings:
  value of $LANG: en_GB
  locale-coding-system: cp1252

Major mode: Outline

Minor modes in effect:
  bug-reference-mode: t
  display-line-numbers-mode: t
  override-global-mode: t
  delete-selection-mode: t
  tabbar-mwheel-mode: t
  tabbar-mode: t
  global-so-long-mode: t
  global-flycheck-mode: t
  flycheck-mode: t
  cua-mode: t
  company-tng-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Load-path shadows:
~/.lisp/load/vhdl-mode hides c:/msys64/ucrt64/share/emacs/28.2/lisp/progmodes/vhdl-mode

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail
rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail comp comp-cstr warnings rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils bug-reference noutline
outline grep compile text-property-search comint ring time-date vc-git
diff-mode vc-dispatcher display-line-numbers cl-extra use-package
use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key use-package-core server delsel tabbar
easy-mmode so-long flycheck ansi-color find-func help-mode rx dash
cua-base company-tng company edmacro kmacro pcase cus-load tex-site info
package browse-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util mailcap url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x map url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer cl-generic
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads w32notify
w32 multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 188555 94726)
(symbols 48 14756 152)
(strings 32 47401 16490)
(string-bytes 1 1658309)
(vectors 16 27316)
(vector-slots 8 484534 272322)
(floats 8 77 281)
(intervals 56 371 432)
(buffers 992 15))
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Thu, 04 May 2023 05:17:02 GMT) Full text and rfc822 format available.

Message #8 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Cyril Arnould <cyril.arnould <at> outlook.com>, Reto Zimmermann <reto <at> gnu.org>
Cc: 63251 <at> debbugs.gnu.org
Subject: Re: bug#63251: 28.2; vhdl-mode contribution
Date: Thu, 04 May 2023 08:16:47 +0300
> From: Cyril Arnould <cyril.arnould <at> outlook.com>
> Date: Wed, 3 May 2023 19:40:18 +0000
> 
> Following bug#62508, I've taken a bit of a closer look at the compiler
> regexp for ModelSim. I've modified it so that it can differentiate
> between Errors, Warnings and Notes when highlighting. I also make use of
> Xilinx Vivado at work, for which I've added a new compiler entry:
> 
> 
> --- a/lisp/progmodes/vhdl-mode.el
> +++ b/lisp/progmodes/vhdl-mode.el
> @@ -286,7 +286,7 @@ vhdl-compiler-alist
>      ;;    counter_rtl.vhd(29):Conditional signal assignment line__29
>      ("ModelSim" "vcom" "-93 -work \\1" "make" "-f \\1"
>       nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "modelsim"
> -     ("^\\(ERROR\\|WARNING\\|\\*\\* Error\\|\\*\\* Warning\\)[^:]*:\\( *\\[[0-9]+]\\| ([^)]+)\\)? \\([^ \t\n]+\\)(\\([0-9]+\\)):" 3 4 nil)
> +     ("^\\(?:\\(?1:ERROR\\|\\*\\* Error\\)\\|\\(?2:WARNING\\|\\*\\* Warning\\)\\|\\(?3:NOTE\\|\\*\\* Note\\)\\)[^:]*:\\( *\\[[0-9]+]\\| ([^)]+)\\)? \\(?4:[^ \t\n]+\\)(\\(?5:[0-9]+\\)):" 4 5 nil (2 . 3))
>       ("" 0)
>       ("\\1/_primary.dat" "\\2/\\1.dat" "\\1/_primary.dat"
>        "\\1/_primary.dat" "\\1/body.dat" downcase))
> @@ -385,6 +385,13 @@ vhdl-compiler-alist
>       nil "mkdir \\1" "./" "work/" "Makefile" "xilinx"
>       ("^ERROR:HDLParsers:[0-9]+ - \"\\([^ \t\n]+\\)\" Line \\([0-9]+\\)\\." 1 2 nil) ("" 0)
>       nil)
> +    ;; Xilinx Vivado:
> +    ;; ERROR: [VRFC 10-1412] syntax error near o_idle [test.vhd:23]
> +    ("Xilinx Vivado" "xvhdl" "" "make" "-f \\1"
> +     nil "mkdir \\1" "./" "work" "Makefile" "vivado"
> +     ("^\\(?:\\(?1:ERROR\\)\\|\\(?2:WARNING\\)\\|\\(?3:INFO\\)\\): \\(.+\\) \\[\\(?4:[^ \t\n]+\\):\\(?5:[0-9]+\\)\\]" 4 5 nil (2 . 3)) ("" 0)
> +     ("\\1/entity" "\\2/\\1" "\\1/configuration"
> +      "\\1/package" "\\1/body" downcase))
>      )
>    "List of available VHDL compilers and their properties.
> Each list entry specifies the following items for a compiler:
> 
> 
> The patch was generated from the emacs master branch. I would greatly
> appreciate it if these changes could find their way in some form into a
> future emacs release.

Reto, any comments on these changes?

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Thu, 04 May 2023 13:57:01 GMT) Full text and rfc822 format available.

Message #11 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Reto Zimmermann <reto <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>, Cyril Arnould <cyril.arnould <at> outlook.com>
Cc: 63251 <at> debbugs.gnu.org
Subject: Re: bug#63251: 28.2; vhdl-mode contribution
Date: Thu, 4 May 2023 15:56:42 +0200
On 2023-05-04 07:16, Eli Zaretskii wrote:
>> From: Cyril Arnould <cyril.arnould <at> outlook.com>
>> Date: Wed, 3 May 2023 19:40:18 +0000
>>
>> Following bug#62508, I've taken a bit of a closer look at the compiler
>> regexp for ModelSim. I've modified it so that it can differentiate
>> between Errors, Warnings and Notes when highlighting. I also make use of
>> Xilinx Vivado at work, for which I've added a new compiler entry:
>>
>>
>> --- a/lisp/progmodes/vhdl-mode.el
>> +++ b/lisp/progmodes/vhdl-mode.el
>> @@ -286,7 +286,7 @@ vhdl-compiler-alist
>>       ;;    counter_rtl.vhd(29):Conditional signal assignment line__29
>>       ("ModelSim" "vcom" "-93 -work \\1" "make" "-f \\1"
>>        nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "modelsim"
>> -     ("^\\(ERROR\\|WARNING\\|\\*\\* Error\\|\\*\\* Warning\\)[^:]*:\\( *\\[[0-9]+]\\| ([^)]+)\\)? \\([^ \t\n]+\\)(\\([0-9]+\\)):" 3 4 nil)
>> +     ("^\\(?:\\(?1:ERROR\\|\\*\\* Error\\)\\|\\(?2:WARNING\\|\\*\\* Warning\\)\\|\\(?3:NOTE\\|\\*\\* Note\\)\\)[^:]*:\\( *\\[[0-9]+]\\| ([^)]+)\\)? \\(?4:[^ \t\n]+\\)(\\(?5:[0-9]+\\)):" 4 5 nil (2 . 3))
>>        ("" 0)
>>        ("\\1/_primary.dat" "\\2/\\1.dat" "\\1/_primary.dat"
>>         "\\1/_primary.dat" "\\1/body.dat" downcase))
>> @@ -385,6 +385,13 @@ vhdl-compiler-alist
>>        nil "mkdir \\1" "./" "work/" "Makefile" "xilinx"
>>        ("^ERROR:HDLParsers:[0-9]+ - \"\\([^ \t\n]+\\)\" Line \\([0-9]+\\)\\." 1 2 nil) ("" 0)
>>        nil)
>> +    ;; Xilinx Vivado:
>> +    ;; ERROR: [VRFC 10-1412] syntax error near o_idle [test.vhd:23]
>> +    ("Xilinx Vivado" "xvhdl" "" "make" "-f \\1"
>> +     nil "mkdir \\1" "./" "work" "Makefile" "vivado"
>> +     ("^\\(?:\\(?1:ERROR\\)\\|\\(?2:WARNING\\)\\|\\(?3:INFO\\)\\): \\(.+\\) \\[\\(?4:[^ \t\n]+\\):\\(?5:[0-9]+\\)\\]" 4 5 nil (2 . 3)) ("" 0)
>> +     ("\\1/entity" "\\2/\\1" "\\1/configuration"
>> +      "\\1/package" "\\1/body" downcase))
>>       )
>>     "List of available VHDL compilers and their properties.
>> Each list entry specifies the following items for a compiler:
>>
>>
>> The patch was generated from the emacs master branch. I would greatly
>> appreciate it if these changes could find their way in some form into a
>> future emacs release.
> Reto, any comments on these changes?
>
> Thanks.
The changes look good to me.

Thanks,
Reto





Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Fri, 05 May 2023 05:47:01 GMT) Full text and rfc822 format available.

Notification sent to Cyril Arnould <cyril.arnould <at> outlook.com>:
bug acknowledged by developer. (Fri, 05 May 2023 05:47:02 GMT) Full text and rfc822 format available.

Message #16 received at 63251-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Reto Zimmermann <reto <at> gnu.org>
Cc: 63251-done <at> debbugs.gnu.org, cyril.arnould <at> outlook.com
Subject: Re: bug#63251: 28.2; vhdl-mode contribution
Date: Fri, 05 May 2023 08:47:11 +0300
> Date: Thu, 4 May 2023 15:56:42 +0200
> Cc: 63251 <at> debbugs.gnu.org
> From: Reto Zimmermann <reto <at> gnu.org>
> 
> > Reto, any comments on these changes?
> >
> > Thanks.
> The changes look good to me.

Thanks, installed on the emacs-29 branch, and closing.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Sat, 06 May 2023 09:23:01 GMT) Full text and rfc822 format available.

Message #19 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Mattias Engdegård <mattias.engdegard <at> gmail.com>
To: 63251 <at> debbugs.gnu.org
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 Cyril Arnould <cyril.arnould <at> outlook.com>
Subject: bug#63251: 28.2; vhdl-mode contribution
Date: Sat, 6 May 2023 11:22:44 +0200
> Following bug#62508, I've taken a bit of a closer look at the compiler
> regexp for ModelSim. I've modified it so that it can differentiate
> between Errors, Warnings and Notes when highlighting. I also make use of
> Xilinx Vivado at work, for which I've added a new compiler entry:

Sorry, but computer says no. The modified vhdl-compiler-alist value does not match its declared type.

You can easily check this by running `M-x customize-variable vhdl-compiler-alist`; it will show the contents as a single big text field and say (mismatch).
If the value matches the type, it would have shown the value structurally.

Another check is to run `make -C test test-custom-opts`, which checks the values of all defcustom variables in Emacs.

In this case it seems to be the `(2 . 3)` values at the end of the error message sublists. Remove them and the value matches the type.
If those (2 . 3) are important, perhaps you want to change the type instead but you would have to maintain compatibility somehow. I see there is a lot of code dealing with changes to the type of that variable in vhdl-mode.el.








Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Sat, 06 May 2023 12:54:01 GMT) Full text and rfc822 format available.

Message #22 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Cyril Arnould <cyril.arnould <at> outlook.com>
To: Mattias Engdegård <mattias.engdegard <at> gmail.com>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>
Subject: AW: bug#63251: 28.2; vhdl-mode contribution
Date: Sat, 6 May 2023 12:53:23 +0000
[Message part 1 (text/plain, inline)]
Forgot to hit «Reply to all»

Oh, did not realize that. Yes, the (2 . 3) is important, it’s the
TYPE that determines whether the message is highlighted as an
INFO, WARNING or ERROR. From compilation-error-regexp-alist:

Each elt has the form (REGEXP FILE [LINE COLUMN TYPE HYPERLINK
HIGHLIGHT...]).

TYPE is 2 or nil for a real error or 1 for warning or 0 for info.
TYPE can also be of the form (WARNING . INFO).  In that case this
will be equivalent to 1 if the WARNING’th subexpression matched
or else equivalent to 0 if the INFO’th subexpression matched,
or else equivalent to 2 if neither of them matched.
See ‘compilation-error-face’, ‘compilation-warning-face’,
‘compilation-info-face’ and ‘compilation-skip-threshold’.

I’ll try to take a look into modifying the type of the
vhdl-compiler-alist.


Von: Mattias Engdegård<mailto:mattias.engdegard <at> gmail.com>
Gesendet: Samstag, 6. Mai 2023 11:22
An: 63251 <at> debbugs.gnu.org<mailto:63251 <at> debbugs.gnu.org>
Cc: Reto Zimmermann<mailto:reto <at> gnu.org>; Eli Zaretskii<mailto:eliz <at> gnu.org>; Cyril Arnould<mailto:cyril.arnould <at> outlook.com>
Betreff: bug#63251: 28.2; vhdl-mode contribution

> Following bug#62508, I've taken a bit of a closer look at the compiler
> regexp for ModelSim. I've modified it so that it can differentiate
> between Errors, Warnings and Notes when highlighting. I also make use of
> Xilinx Vivado at work, for which I've added a new compiler entry:

Sorry, but computer says no. The modified vhdl-compiler-alist value does not match its declared type.

You can easily check this by running `M-x customize-variable vhdl-compiler-alist`; it will show the contents as a single big text field and say (mismatch).
If the value matches the type, it would have shown the value structurally.

Another check is to run `make -C test test-custom-opts`, which checks the values of all defcustom variables in Emacs.

In this case it seems to be the `(2 . 3)` values at the end of the error message sublists. Remove them and the value matches the type.
If those (2 . 3) are important, perhaps you want to change the type instead but you would have to maintain compatibility somehow. I see there is a lot of code dealing with changes to the type of that variable in vhdl-mode.el.




[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Sat, 06 May 2023 22:13:02 GMT) Full text and rfc822 format available.

Message #25 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Cyril Arnould <cyril.arnould <at> outlook.com>
To: Mattias Engdegård <mattias.engdegard <at> gmail.com>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>
Subject: AW: bug#63251: 28.2; vhdl-mode contribution
Date: Sat, 6 May 2023 22:11:50 +0000
[Message part 1 (text/plain, inline)]
Ok, I hope the attached patch takes care of things. This time
it's based on the emacs-29 branch.

- I've updated the docstring with a description of the TYPE,
  pretty much copied from compile.el. Feel free to change it of
  course.

- I've added TYPE to the vhdl-compiler definition with the
  appropriate choices for Info/Warning/Error and the dotted
  pair. I'm not sure if sexp was the correct choice for the
  dotted pair, is there a better alternative? At any rate, it
  seems to work.

- All other compiler entries now have TYPE nil, i.e. an error.

- I added another entry to the backwards compatibility code, all
  it took was a slight modification of the entry before
  that. I've tested it by saving a custom vhdl-compiler-alist and
  then updating the vhdl-mode.el, it automatically inserted nil
  into the customization without touching the other values.

- Unrelated to the changes above, I've also updated the Xilinx
  Vivado compiler entry's library directory, I got an error
  message that it must end with '/'.

Since this introduces changes in the vhdl-compiler type, I guess
it would be appropriate to increment the vhdl-version number?


Von: Cyril Arnould<mailto:cyril.arnould <at> outlook.com>
Gesendet: Samstag, 6. Mai 2023 14:53
An: Mattias Engdegård<mailto:mattias.engdegard <at> gmail.com>; 63251 <at> debbugs.gnu.org<mailto:63251 <at> debbugs.gnu.org>
Cc: Reto Zimmermann<mailto:reto <at> gnu.org>; Eli Zaretskii<mailto:eliz <at> gnu.org>
Betreff: AW: bug#63251: 28.2; vhdl-mode contribution

Forgot to hit «Reply to all»

Oh, did not realize that. Yes, the (2 . 3) is important, it’s the
TYPE that determines whether the message is highlighted as an
INFO, WARNING or ERROR. From compilation-error-regexp-alist:

Each elt has the form (REGEXP FILE [LINE COLUMN TYPE HYPERLINK
HIGHLIGHT...]).

TYPE is 2 or nil for a real error or 1 for warning or 0 for info.
TYPE can also be of the form (WARNING . INFO).  In that case this
will be equivalent to 1 if the WARNING’th subexpression matched
or else equivalent to 0 if the INFO’th subexpression matched,
or else equivalent to 2 if neither of them matched.
See ‘compilation-error-face’, ‘compilation-warning-face’,
‘compilation-info-face’ and ‘compilation-skip-threshold’.

I’ll try to take a look into modifying the type of the
vhdl-compiler-alist.


Von: Mattias Engdegård<mailto:mattias.engdegard <at> gmail.com>
Gesendet: Samstag, 6. Mai 2023 11:22
An: 63251 <at> debbugs.gnu.org<mailto:63251 <at> debbugs.gnu.org>
Cc: Reto Zimmermann<mailto:reto <at> gnu.org>; Eli Zaretskii<mailto:eliz <at> gnu.org>; Cyril Arnould<mailto:cyril.arnould <at> outlook.com>
Betreff: bug#63251: 28.2; vhdl-mode contribution

> Following bug#62508, I've taken a bit of a closer look at the compiler
> regexp for ModelSim. I've modified it so that it can differentiate
> between Errors, Warnings and Notes when highlighting. I also make use of
> Xilinx Vivado at work, for which I've added a new compiler entry:

Sorry, but computer says no. The modified vhdl-compiler-alist value does not match its declared type.

You can easily check this by running `M-x customize-variable vhdl-compiler-alist`; it will show the contents as a single big text field and say (mismatch).
If the value matches the type, it would have shown the value structurally.

Another check is to run `make -C test test-custom-opts`, which checks the values of all defcustom variables in Emacs.

In this case it seems to be the `(2 . 3)` values at the end of the error message sublists. Remove them and the value matches the type.
If those (2 . 3) are important, perhaps you want to change the type instead but you would have to maintain compatibility somehow. I see there is a lot of code dealing with changes to the type of that variable in vhdl-mode.el.




[Message part 2 (text/html, inline)]
[fix-vhdl-compiler-customization.patch (application/octet-stream, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Sun, 07 May 2023 08:18:02 GMT) Full text and rfc822 format available.

Message #28 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Mattias Engdegård <mattias.engdegard <at> gmail.com>
To: Cyril Arnould <cyril.arnould <at> outlook.com>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Subject: Re: bug#63251: 28.2; vhdl-mode contribution
Date: Sun, 7 May 2023 10:17:03 +0200
The vhdl-mode maintainers need to look at your patch more closely; I just have some minor remarks.

7 maj 2023 kl. 00.11 skrev Cyril Arnould <cyril.arnould <at> outlook.com>:

> - I've added TYPE to the vhdl-compiler definition with the
>   appropriate choices for Info/Warning/Error and the dotted
>   pair. I'm not sure if sexp was the correct choice for the
>   dotted pair, is there a better alternative?

There is (cons ...) which would be more precise, see the manual.

The new doc string says that a TYPE of 2 is allowed but the type spec doesn't allow it.
Either allow both 2 and nil or change the docs to only mention one of them.

> - I added another entry to the backwards compatibility code, all
>   it took was a slight modification of the entry before
>   that.

That's fine, but I'd be a bit more careful with the destructive in-place changes and quoted list constants. (Think of what happens if later code performs an in-place change of that nil you added.)
This isn't performance-critical-code, we can afford consing here.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Sun, 07 May 2023 15:41:01 GMT) Full text and rfc822 format available.

Message #31 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Cyril Arnould <cyril.arnould <at> outlook.com>
To: Mattias Engdegård <mattias.engdegard <at> gmail.com>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Subject: AW: bug#63251: 28.2; vhdl-mode contribution
Date: Sun, 7 May 2023 15:40:12 +0000
[Message part 1 (text/plain, inline)]
Thanks for the feedback.

> There is (cons ...) which would be more precise, see the manual.

I had tried (cons …) instead of (sexp …), but that just resulted in
the customization menu breaking again if one of the compilers was set
to a dotted list.

> The new doc string says that a TYPE of 2 is allowed but the type spec doesn't allow it.
> Either allow both 2 and nil or change the docs to only mention one of them.

Makes sense. It’s probably more user-friendly (not to mention easier)
to just allow one of them.

> Think of what happens if later code performs an in-place change of that nil you added.

I am by no means an expert when it comes to elisp, I don’t know what
kind of problems this could cause. Would using 2 rather than nil make
more sense for this? I’ve checked compile.el, and internally they
remap nil to 2 and use that, so 2 would also be more explicit I guess.

I've modifided the patch to use 2 rather than nil (exclusively).


Von: Mattias Engdegård<mailto:mattias.engdegard <at> gmail.com>
Gesendet: Sonntag, 7. Mai 2023 10:17
An: Cyril Arnould<mailto:cyril.arnould <at> outlook.com>
Cc: 63251 <at> debbugs.gnu.org<mailto:63251 <at> debbugs.gnu.org>; Reto Zimmermann<mailto:reto <at> gnu.org>; Eli Zaretskii<mailto:eliz <at> gnu.org>
Betreff: Re: bug#63251: 28.2; vhdl-mode contribution

The vhdl-mode maintainers need to look at your patch more closely; I just have some minor remarks.

7 maj 2023 kl. 00.11 skrev Cyril Arnould <cyril.arnould <at> outlook.com>:

> - I've added TYPE to the vhdl-compiler definition with the
>   appropriate choices for Info/Warning/Error and the dotted
>   pair. I'm not sure if sexp was the correct choice for the
>   dotted pair, is there a better alternative?

There is (cons ...) which would be more precise, see the manual.

The new doc string says that a TYPE of 2 is allowed but the type spec doesn't allow it.
Either allow both 2 and nil or change the docs to only mention one of them.

> - I added another entry to the backwards compatibility code, all
>   it took was a slight modification of the entry before
>   that.

That's fine, but I'd be a bit more careful with the destructive in-place changes and quoted list constants. (Think of what happens if later code performs an in-place change of that nil you added.)
This isn't performance-critical-code, we can afford consing here.

[Message part 2 (text/html, inline)]
[fix-vhdl-compiler-customization-2.patch (application/octet-stream, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Sun, 07 May 2023 15:57:01 GMT) Full text and rfc822 format available.

Message #34 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Cyril Arnould <cyril.arnould <at> outlook.com>
To: Mattias Engdegård <mattias.engdegard <at> gmail.com>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Subject: AW: bug#63251: 28.2; vhdl-mode contribution
Date: Sun, 7 May 2023 15:56:45 +0000
[Message part 1 (text/plain, inline)]
Very sorry, I just noticed that I messed up the previous patch. Third time’s the charm.

________________________________
Von: Mattias Engdegård <mattiasengdegard <at> gmail.com> im Auftrag von Mattias Engdegård <mattias.engdegard <at> gmail.com>
Gesendet: Sunday, May 7, 2023 10:17:03 AM
An: Cyril Arnould <cyril.arnould <at> outlook.com>
Cc: 63251 <at> debbugs.gnu.org <63251 <at> debbugs.gnu.org>; Reto Zimmermann <reto <at> gnu.org>; Eli Zaretskii <eliz <at> gnu.org>
Betreff: Re: bug#63251: 28.2; vhdl-mode contribution

The vhdl-mode maintainers need to look at your patch more closely; I just have some minor remarks.

7 maj 2023 kl. 00.11 skrev Cyril Arnould <cyril.arnould <at> outlook.com>:

> - I've added TYPE to the vhdl-compiler definition with the
>   appropriate choices for Info/Warning/Error and the dotted
>   pair. I'm not sure if sexp was the correct choice for the
>   dotted pair, is there a better alternative?

There is (cons ...) which would be more precise, see the manual.

The new doc string says that a TYPE of 2 is allowed but the type spec doesn't allow it.
Either allow both 2 and nil or change the docs to only mention one of them.

> - I added another entry to the backwards compatibility code, all
>   it took was a slight modification of the entry before
>   that.

That's fine, but I'd be a bit more careful with the destructive in-place changes and quoted list constants. (Think of what happens if later code performs an in-place change of that nil you added.)
This isn't performance-critical-code, we can afford consing here.

[Message part 2 (text/html, inline)]
[fix-vhdl-compiler-customization-3.patch (application/octet-stream, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Sun, 07 May 2023 16:24:02 GMT) Full text and rfc822 format available.

Message #37 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Mattias Engdegård <mattias.engdegard <at> gmail.com>
To: Cyril Arnould <cyril.arnould <at> outlook.com>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Subject: Re: bug#63251: 28.2; vhdl-mode contribution
Date: Sun, 7 May 2023 18:22:56 +0200
7 maj 2023 kl. 17.40 skrev Cyril Arnould <cyril.arnould <at> outlook.com>:

> I had tried (cons …) instead of (sexp …), but that just resulted in
> the customization menu breaking again if one of the compilers was set
> to a dotted list.

Why would they be set to a dotted list? Can you give an example?
I tried

			      (cons :tag "Warning and Info"
                                    (natnum :tag "Warning subexp index")
                                    (natnum :tag "Info subexp index   "))

instead of the (sexp ...) and it seems to work alright.

> > Think of what happens if later code performs an in-place change of that nil you added.
>  
> I am by no means an expert when it comes to elisp, I don’t know what
> kind of problems this could cause.

What I meant was that the code

  (let ((tmp-alist vhdl-compiler-alist))
    (while tmp-alist
      (setcdr (nthcdr 3 (nth 11 (car tmp-alist)))
	      '(2 . nil))
      (setq tmp-alist (cdr tmp-alist))))

modifies the existing list structure instead of creating a new one based on the old. This can lead to surprises if parts of the structure being mutated is shared with structure elsewhere. Now this code probably does work, but it's a bit brittle, and it takes some work for the reader to understand that it's OK. Contrast it to something like (untested!)

  (setq vhdl-compiler-alist
        (mapcar (lambda (entry)
                  ;; Add a `2' to the end of the list that is element #11.
                  (append (take 11 entry)
                          (append (nth 11 entry) (list 2))
                          (nthcdr 12 entry)))
                vhdl-compiler-alist))

where there is no mutation of the list structure, nor any sharing of a program constant whose accidental mutation might have very confusing consequences. (`take` is new in Emacs 29 but you can work around it by using `butlast` instead if the code needs to work with older Emacs versions.)






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Sun, 07 May 2023 17:49:02 GMT) Full text and rfc822 format available.

Message #40 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Cyril Arnould <cyril.arnould <at> outlook.com>
To: Mattias Engdegård <mattias.engdegard <at> gmail.com>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Subject: AW: bug#63251: 28.2; vhdl-mode contribution
Date: Sun, 7 May 2023 17:48:48 +0000
[Message part 1 (text/plain, inline)]
> Why would they be set to a dotted list? Can you give an example?

Oh, sorry, I meant dotted pair, not list. So the (2 . 3) from the
ModelSim compiler entry, for example.

> I tried
>
>                               (cons :tag "Warning and Info"
>                                     (natnum :tag "Warning subexp index")
>                                     (natnum :tag "Info subexp index   "))
>
> instead of the (sexp ...) and it seems to work alright.

I agree, the above code seems to be the better option. I would
change the «Warning and Info» text though, seen as the
compilation command can differentiate between Warnings, Infos AND
Errors using the expression. Maybe «Type detection»? Or «Type
detection via regexp»?

> What I meant was that the code
>
>   (let ((tmp-alist vhdl-compiler-alist))
>     (while tmp-alist
>       (setcdr (nthcdr 3 (nth 11 (car tmp-alist)))
>               '(2 . nil))
>       (setq tmp-alist (cdr tmp-alist))))
>
> modifies the existing list structure instead of creating a new one based on the old. This can lead to surprises if parts of the structure being mutated is shared with structure elsewhere. Now this code probably does work, but it's a bit brittle, and it takes some work for the reader to understand that it's OK. Contrast it to something like (untested!)
>
>   (setq vhdl-compiler-alist
>         (mapcar (lambda (entry)
>                   ;; Add a `2' to the end of the list that is element #11.
>                   (append (take 11 entry)
>                           (append (nth 11 entry) (list 2))
>                           (nthcdr 12 entry)))
>                 vhdl-compiler-alist))
>
> where there is no mutation of the list structure, nor any sharing of a program constant whose accidental mutation might have very confusing consequences. (`take` is new in Emacs 29 but you can work around it by using `butlast` instead if the code needs to work with older Emacs versions.)

I have to admit this is going over my head a bit, but thanks for
explaining. I'll let it up to the maintainers to decide upon the
backwards compatibility code, I'm fine either way. Couldn't test
your changes though as I'm still on Emacs 28.2.


Von: Mattias Engdegård<mailto:mattias.engdegard <at> gmail.com>
Gesendet: Sonntag, 7. Mai 2023 18:22
An: Cyril Arnould<mailto:cyril.arnould <at> outlook.com>
Cc: 63251 <at> debbugs.gnu.org<mailto:63251 <at> debbugs.gnu.org>; Reto Zimmermann<mailto:reto <at> gnu.org>; Eli Zaretskii<mailto:eliz <at> gnu.org>
Betreff: Re: bug#63251: 28.2; vhdl-mode contribution

7 maj 2023 kl. 17.40 skrev Cyril Arnould <cyril.arnould <at> outlook.com>:

> I had tried (cons …) instead of (sexp …), but that just resulted in
> the customization menu breaking again if one of the compilers was set
> to a dotted list.

Why would they be set to a dotted list? Can you give an example?
I tried

                              (cons :tag "Warning and Info"
                                    (natnum :tag "Warning subexp index")
                                    (natnum :tag "Info subexp index   "))

instead of the (sexp ...) and it seems to work alright.

> > Think of what happens if later code performs an in-place change of that nil you added.
>
> I am by no means an expert when it comes to elisp, I don’t know what
> kind of problems this could cause.

What I meant was that the code

  (let ((tmp-alist vhdl-compiler-alist))
    (while tmp-alist
      (setcdr (nthcdr 3 (nth 11 (car tmp-alist)))
              '(2 . nil))
      (setq tmp-alist (cdr tmp-alist))))

modifies the existing list structure instead of creating a new one based on the old. This can lead to surprises if parts of the structure being mutated is shared with structure elsewhere. Now this code probably does work, but it's a bit brittle, and it takes some work for the reader to understand that it's OK. Contrast it to something like (untested!)

  (setq vhdl-compiler-alist
        (mapcar (lambda (entry)
                  ;; Add a `2' to the end of the list that is element #11.
                  (append (take 11 entry)
                          (append (nth 11 entry) (list 2))
                          (nthcdr 12 entry)))
                vhdl-compiler-alist))

where there is no mutation of the list structure, nor any sharing of a program constant whose accidental mutation might have very confusing consequences. (`take` is new in Emacs 29 but you can work around it by using `butlast` instead if the code needs to work with older Emacs versions.)


[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Sun, 07 May 2023 17:55:02 GMT) Full text and rfc822 format available.

Message #43 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Mattias Engdegård <mattias.engdegard <at> gmail.com>
To: Cyril Arnould <cyril.arnould <at> outlook.com>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Subject: Re: bug#63251: 28.2; vhdl-mode contribution
Date: Sun, 7 May 2023 19:53:50 +0200
7 maj 2023 kl. 19.48 skrev Cyril Arnould <cyril.arnould <at> outlook.com>:

> I would
> change the «Warning and Info» text though, seen as the
> compilation command can differentiate between Warnings, Infos AND
> Errors using the expression. Maybe «Type detection»? Or «Type
> detection via regexp»?

No opinion here.

> Couldn't test your changes though as I'm still on Emacs 28.2.

Replace (take 11 entry) with (butlast 3 entry) and it will work with any Emacs version.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Sun, 07 May 2023 18:58:02 GMT) Full text and rfc822 format available.

Message #46 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Cyril Arnould <cyril.arnould <at> outlook.com>
To: Mattias Engdegård <mattias.engdegard <at> gmail.com>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Subject: AW: bug#63251: 28.2; vhdl-mode contribution
Date: Sun, 7 May 2023 18:56:59 +0000
[Message part 1 (text/plain, inline)]
I ran into some issues, but got it to work with the following:

;; option `vhdl-compiler-alist' changed format (3.38.1)
(when (= (length (nth 11 (car vhdl-compiler-alist))) 4)
    (setq vhdl-compiler-alist
        (mapcar (lambda (entry)
                  ;; Add a `2' to the end of the list that is element #11.
                  (append (butlast entry 3)
                          (list (append (nth 11 entry) (list 2)))
                          (nthcdr 12 entry)))
                vhdl-compiler-alist))
  (customize-save-variable 'vhdl-compiler-alist vhdl-compiler-alist))


Von: Mattias Engdegård<mailto:mattias.engdegard <at> gmail.com>
Gesendet: Sonntag, 7. Mai 2023 19:53
An: Cyril Arnould<mailto:cyril.arnould <at> outlook.com>
Cc: 63251 <at> debbugs.gnu.org<mailto:63251 <at> debbugs.gnu.org>; Reto Zimmermann<mailto:reto <at> gnu.org>; Eli Zaretskii<mailto:eliz <at> gnu.org>
Betreff: Re: bug#63251: 28.2; vhdl-mode contribution

7 maj 2023 kl. 19.48 skrev Cyril Arnould <cyril.arnould <at> outlook.com>:

> I would
> change the «Warning and Info» text though, seen as the
> compilation command can differentiate between Warnings, Infos AND
> Errors using the expression. Maybe «Type detection»? Or «Type
> detection via regexp»?

No opinion here.

> Couldn't test your changes though as I'm still on Emacs 28.2.

Replace (take 11 entry) with (butlast 3 entry) and it will work with any Emacs version.

[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Mon, 08 May 2023 08:16:02 GMT) Full text and rfc822 format available.

Message #49 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Mattias Engdegård <mattias.engdegard <at> gmail.com>
To: Cyril Arnould <cyril.arnould <at> outlook.com>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Subject: Re: bug#63251: 28.2; vhdl-mode contribution
Date: Mon, 8 May 2023 10:15:31 +0200
7 maj 2023 kl. 20.56 skrev Cyril Arnould <cyril.arnould <at> outlook.com>:

> I ran into some issues, but got it to work with the following:

Cyril, you are already better than me at this!





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Tue, 09 May 2023 16:17:01 GMT) Full text and rfc822 format available.

Message #52 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Cyril Arnould <cyril.arnould <at> outlook.com>
To: Mattias Engdegård <mattias.engdegard <at> gmail.com>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Subject: AW: bug#63251: 28.2; vhdl-mode contribution
Date: Tue, 9 May 2023 16:16:20 +0000
[Message part 1 (text/plain, inline)]
Following the discussion on the emacs-devel mailing list, here is
the updated patch based on the emacs-29 branch.

- Update vhdl-compiler definition and docstring to include the
  message type.

- Increment vhdl-version to 3.38.5 because of the above
  change. Skip several versions due to divergent development.

- Set the type of all other vhdl-compiler-alist entries to nil to
  explicitly declare them as error messages.

- Update the Xilinx Vivado compiler entry's library directory, it
  must end with '/'.

By defining the error message type to be nil rather than 2, we
can forego the backwards compatibility code.
[Message part 2 (text/html, inline)]
[fix-vhdl-compiler-customization-4.patch (application/octet-stream, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Tue, 09 May 2023 16:42:02 GMT) Full text and rfc822 format available.

Message #55 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Mattias Engdegård <mattias.engdegard <at> gmail.com>
To: Cyril Arnould <cyril.arnould <at> outlook.com>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Subject: Re: bug#63251: 28.2; vhdl-mode contribution
Date: Tue, 9 May 2023 18:41:39 +0200
9 maj 2023 kl. 18.16 skrev Cyril Arnould <cyril.arnould <at> outlook.com>:

> By defining the error message type to be nil rather than 2, we
> can forego the backwards compatibility code.
> <fix-vhdl-compiler-customization-4.patch>

Looks fine (although I had hoped to establish a precedent for less mutation in the updating code...).

Actually there is another argument to include updating code: subsequent changes will likely rely on existing values to conform strictly to the previous type and will likely botch any updating of values that don't.

For example, if yet another value is added to the entry, then it cannot just be appended to each entry because that entry might be too short because of the incomplete previous update.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Tue, 09 May 2023 17:13:02 GMT) Full text and rfc822 format available.

Message #58 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Cyril Arnould <cyril.arnould <at> outlook.com>
To: Mattias Engdegård <mattias.engdegard <at> gmail.com>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Subject: AW: bug#63251: 28.2; vhdl-mode contribution
Date: Tue, 9 May 2023 17:11:56 +0000
[Message part 1 (text/plain, inline)]
> subsequent changes will likely rely on existing values to conform strictly to the previous type and will likely botch any updating of values that don't.

I've thought about that, since compilation-error-regexp also
accepts HYPERLINK and HIGHLIGHT after TYPE. But if we were to
implement those in vhdl-mode, I'd say that nil should remain a
viable option for them as well, which is what they currently
default to.

If it does become a problem with future updates anyway, backward
compatibility code could still be implemented after the fact. I'd
prefer to leave it aside for now if it's not strictly necessary,
seen as it could bring more problems than it solves.

[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#63251; Package emacs. (Tue, 09 May 2023 17:30:02 GMT) Full text and rfc822 format available.

Message #61 received at 63251 <at> debbugs.gnu.org (full text, mbox):

From: Mattias Engdegård <mattias.engdegard <at> gmail.com>
To: Cyril Arnould <cyril.arnould <at> outlook.com>
Cc: Reto Zimmermann <reto <at> gnu.org>, Eli Zaretskii <eliz <at> gnu.org>,
 "63251 <at> debbugs.gnu.org" <63251 <at> debbugs.gnu.org>
Subject: Re: bug#63251: 28.2; vhdl-mode contribution
Date: Tue, 9 May 2023 19:28:58 +0200
9 maj 2023 kl. 19.11 skrev Cyril Arnould <cyril.arnould <at> outlook.com>:

> If it does become a problem with future updates anyway, backward
> compatibility code could still be implemented after the fact. I'd
> prefer to leave it aside for now if it's not strictly necessary,
> seen as it could bring more problems than it solves.

That's fine.






bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 07 Jun 2023 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 295 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.