unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: emacs-29 a2d4cd06f45: Improve VHDL mode highlighting
       [not found] ` <20230505054533.D680AC1BECD@vcs2.savannah.gnu.org>
@ 2023-05-09  7:53   ` Michael Albinus
  2023-05-09  8:16     ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Albinus @ 2023-05-09  7:53 UTC (permalink / raw)
  To: emacs-devel; +Cc: Cyril Arnould

Eli Zaretskii <eliz@gnu.org> writes:

>     Improve VHDL mode highlighting
>     
>     * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist): Differentiate
>     between ModelSim errors, warnings, and notes when highlighting
>     them.  Add a new entry for Xilinx Vivado.  (Bug#63251)

It looks that this his added a new error in the tests. Try

--8<---------------cut here---------------start------------->8---
make -C test test-custom-opts
[...]
The following options might have problems:
variable: vhdl-compiler-alist
   value: (("ADVance MS" "vacom" "-work \\1" "make" "-f \\1" nil "valib \\1; vamap \\2 \\1" "./" "work/" "Makefile" "adms" ("^\\s-+\\([0-9]+\\):\\s-+" nil 1 nil) ("^Compiling file \\(.+\\)" 1) ("ENTI/\\1.vif" "ARCH/\\1-\\2.vif" "CONF/\\1.vif" "PACK/\\1.vif" "BODY/\\1.vif" upcase)) ("Aldec" "vcom" "-work \\1" "make" "-f \\1" nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "aldec" ("^.* ERROR [^:]+: \".*\" \"\\([^ 	
]+\\)\" \\([0-9]+\\) \\([0-9]+\\)" 1 2 3) ("" 0) nil) ("Cadence Leapfrog" "cv" "-work \\1 -file" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "leapfrog" ("^duluth: \\*E,[0-9]+ (\\([^ 	
]+\\),\\([0-9]+\\)):" 1 2 nil) ("" 0) ("\\1/entity" "\\2/\\1" "\\1/configuration" "\\1/package" "\\1/body" downcase)) ("Cadence NC" "ncvhdl" "-work \\1" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "ncvhdl" ("^ncvhdl_p: \\*E,\\w+ (\\([^ 	
]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3) ("" 0) ("\\1/entity/pc.db" "\\2/\\1/pc.db" "\\1/configuration/pc.db" "\\1/package/pc.db" "\\1/body/pc.db" downcase)) ("GHDL" "ghdl" "-i --workdir=\\1 --ieee=synopsys -fexplicit " "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "ghdl" ("^ghdl_p: \\*E,\\w+ (\\([^ 	
]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3) ("" 0) ("\\1/entity" "\\2/\\1" "\\1/configuration" "\\1/package" "\\1/body" downcase)) ("IBM Compiler" "g2tvc" "-src" "precomp" "\\1" nil "mkdir \\1" "./" "work/" "Makefile" "ibm" ("^[0-9]+ COACHDL.*: File: \\([^ 	
]+\\), *line.column: \\([0-9]+\\).\\([0-9]+\\)" 1 2 3) (" " 0) nil) ("Ikos" "analyze" "-l \\1" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "ikos" ("^E L\\([0-9]+\\)/C\\([0-9]+\\):" nil 1 2) ("^analyze +\\(.+ +\\)*\\(.+\\)$" 2) nil) ("ModelSim" "vcom" "-93 -work \\1" "make" "-f \\1" nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "modelsim" ("^\\(?:\\(?1:ERROR\\|\\*\\* Error\\)\\|\\(?2:WARNING\\|\\*\\* Warning\\)\\|\\(?3:NOTE\\|\\*\\* Note\\)\\)[^:]*:\\( *\\[[0-9]+]\\| ([^)]+)\\)? \\(?4:[^ 	
]+\\)(\\(?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)) ("LEDA ProVHDL" "provhdl" "-w \\1 -f" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "provhdl" ("^\\([^ 	
:]+\\):\\([0-9]+\\): " 1 2 nil) ("" 0) ("ENTI/\\1.vif" "ARCH/\\1-\\2.vif" "CONF/\\1.vif" "PACK/\\1.vif" "BODY/BODY-\\1.vif" upcase)) ("Quartus" "make" "-work \\1" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "quartus" ("^\\(Error\\|Warning\\): .* \\([^ 	
]+\\)(\\([0-9]+\\))" 2 3 nil) ("" 0) nil) ("QuickHDL" "qvhcom" "-work \\1" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "quickhdl" ("^\\(ERROR\\|WARNING\\)[^:]*: \\([^ 	
]+\\)(\\([0-9]+\\)):" 2 3 nil) ("" 0) ("\\1/_primary.dat" "\\2/\\1.dat" "\\1/_primary.dat" "\\1/_primary.dat" "\\1/body.dat" downcase)) ("Savant" "scram" "-publish-cc -design-library-name \\1" "make" "-f \\1" nil "mkdir \\1" "./" "work._savant_lib/" "Makefile" "savant" ("^\\([^ 	
:]+\\):\\([0-9]+\\): " 1 2 nil) ("" 0) ("\\1_entity.vhdl" "\\2_secondary_units._savant_lib/\\2_\\1.vhdl" "\\1_config.vhdl" "\\1_package.vhdl" "\\1_secondary_units._savant_lib/\\1_package_body.vhdl" downcase)) ("Simili" "vhdlp" "-work \\1" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "simili" ("^\\(Error\\|Warning\\): \\w+: \\([^ 	
]+\\): (line \\([0-9]+\\)): " 2 3 nil) ("" 0) ("\\1/prim.var" "\\2/_\\1.var" "\\1/prim.var" "\\1/prim.var" "\\1/_body.var" downcase)) ("Speedwave" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "speedwave" ("^ *ERROR\\[[0-9]+]::File \\([^ 	
]+\\) Line \\([0-9]+\\):" 1 2 nil) ("" 0) nil) ("Synopsys" "vhdlan" "-nc -work \\1" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "synopsys" ("^\\*\\*Error: vhdlan,[0-9]+ \\([^ 	
]+\\)(\\([0-9]+\\)):" 1 2 nil) ("" 0) ("\\1.sim" "\\2__\\1.sim" "\\1.sim" "\\1.sim" "\\1__.sim" upcase)) ("Synopsys Design Compiler" "vhdlan" "-nc -spc -work \\1" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "synopsys_dc" ("^\\*\\*Error: vhdlan,[0-9]+ \\([^ 	
]+\\)(\\([0-9]+\\)):" 1 2 nil) ("" 0) ("\\1.syn" "\\2__\\1.syn" "\\1.syn" "\\1.syn" "\\1__.syn" upcase)) ("Synplify" "n/a" "n/a" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "synplify" ("^@[EWN]:\"\\([^ 	
]+\\)\":\\([0-9]+\\):\\([0-9]+\\):" 1 2 3) ("" 0) nil) ("Vantage" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "vantage" ("^\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil) ("^ *Compiling \"\\(.+\\)\" " 1) nil) ("VeriBest" "vc" "vhdl" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "veribest" ("^ +\\([0-9]+\\): +[^ ]" nil 1 nil) ("" 0) nil) ("Viewlogic" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "viewlogic" ("^\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil) ("^ *Compiling \"\\(.+\\)\" " 1) nil) ("Xilinx XST" "xflow" "" "make" "-f \\1" nil "mkdir \\1" "./" "work/" "Makefile" "xilinx" ("^ERROR:HDLParsers:[0-9]+ - \"\\([^ 	
]+\\)\" Line \\([0-9]+\\)\\." 1 2 nil) ("" 0) nil) ("Xilinx Vivado" "xvhdl" "" "make" "-f \\1" nil "mkdir \\1" "./" "work" "Makefile" "vivado" ("^\\(?:\\(?1:ERROR\\)\\|\\(?2:WARNING\\)\\|\\(?3:INFO\\)\\): \\(.+\\) \\[\\(?4:[^ 	
]+\\):\\(?5:[0-9]+\\)\\]" 4 5 nil (2 . 3)) ("" 0) ("\\1/entity" "\\2/\\1" "\\1/configuration" "\\1/package" "\\1/body" downcase)))
    type: (repeat (list :tag "Compiler" :indent 2 (string :tag "Compiler name      ") (string :tag "Compile command    ") (string :tag "Compile options    " "-work \\1") (string :tag "Make command       " "make") (string :tag "Make options       " "-f \\1") (choice :tag "Generate Makefile  " (const :tag "Built-in function" nil) (string :tag "Command" "vmake \\2 > \\1")) (string :tag "Library command    " "mkdir \\1") (directory :tag "Compile directory  " :validate vhdl-widget-directory-validate "./") (directory :tag "Library directory  " :validate vhdl-widget-directory-validate "work/") (file :tag "Makefile name      " "Makefile") (string :tag "ID string          ") (list :tag "Error message" :indent 4 (regexp :tag "Regexp           ") (choice :tag "File subexp      " (integer :tag "Index") (const :tag "No file name" nil)) (integer :tag "Line subexp index") (choice :tag "Column subexp    " (integer :tag "Index") (const :tag "No column number" nil))) (list :tag "File message" :indent 4 (regexp :tag "Regexp           ") (integer :tag "File subexp index")) (choice :tag "Unit-to-file name mapping" :format "%t: %[Value Menu%] %v
" (const :tag "Not defined" nil) (list :tag "To string" :indent 4 (string :tag "Entity           " "\\1.vhd") (string :tag "Architecture     " "\\2_\\1.vhd") (string :tag "Configuration    " "\\1.vhd") (string :tag "Package          " "\\1.vhd") (string :tag "Package Body     " "\\1_body.vhd") (choice :tag "Case adjustment  " (const :tag "None" identity) (const :tag "Upcase" upcase) (const :tag "Downcase" downcase))))))
--8<---------------cut here---------------end--------------->8---

Best regards, Michael.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: emacs-29 a2d4cd06f45: Improve VHDL mode highlighting
  2023-05-09  7:53   ` emacs-29 a2d4cd06f45: Improve VHDL mode highlighting Michael Albinus
@ 2023-05-09  8:16     ` Eli Zaretskii
  2023-05-09 11:51       ` AW: " Cyril Arnould
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2023-05-09  8:16 UTC (permalink / raw)
  To: Michael Albinus, cyril.arnould; +Cc: emacs-devel

> From: Michael Albinus <michael.albinus@gmx.de>
> Cc: Cyril Arnould <cyril.arnould@outlook.com>
> Date: Tue, 09 May 2023 09:53:21 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >     Improve VHDL mode highlighting
> >     
> >     * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist): Differentiate
> >     between ModelSim errors, warnings, and notes when highlighting
> >     them.  Add a new entry for Xilinx Vivado.  (Bug#63251)
> 
> It looks that this his added a new error in the tests. Try

There's a new patch in the works, but I'm waiting for the dust to
settle on that discussion before installing.

Cyril, are you done discussing this, or do I need to wait some more?
If you are done, could you please post the fix I should install on the
emacs-29 branch?



^ permalink raw reply	[flat|nested] 7+ messages in thread

* AW: emacs-29 a2d4cd06f45: Improve VHDL mode highlighting
  2023-05-09  8:16     ` Eli Zaretskii
@ 2023-05-09 11:51       ` Cyril Arnould
  2023-05-09 14:37         ` Reto Zimmermann
  0 siblings, 1 reply; 7+ messages in thread
From: Cyril Arnould @ 2023-05-09 11:51 UTC (permalink / raw)
  To: Eli Zaretskii, Michael Albinus, Reto Zimmermann,
	Mattias Engdegård
  Cc: emacs-devel@gnu.org

[-- Attachment #1: Type: text/plain, Size: 1005 bytes --]

> Cyril, are you done discussing this, or do I need to wait some more?

I was actually hoping to get Reto's and/or your input on two
points, the first one being:

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

I've seen that on Reto's website, the latest vhdl-version number
is 3.38.4, while in the emacs repository it's at 3.38.1. I'm not
sure if this is intentional or if it simply hasn't been tracked
in emacs. If development is not intended to diverge, we could
skip ahead to 3.38.5 or 3.39.1.

The second point is that we now have two solutions for backwards
compatibility code. There's my original solution which is a
slight modification of already established backwards
compatibility code. Alternatively, there's the solution
elaborated with Mattias which should be safer but is less
tested. If using a more "experimental" solution is no problem
then we can go ahead with the new approach.


[-- Attachment #2: Type: text/html, Size: 2130 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: AW: emacs-29 a2d4cd06f45: Improve VHDL mode highlighting
  2023-05-09 11:51       ` AW: " Cyril Arnould
@ 2023-05-09 14:37         ` Reto Zimmermann
  2023-05-09 15:48           ` AW: " Cyril Arnould
  0 siblings, 1 reply; 7+ messages in thread
From: Reto Zimmermann @ 2023-05-09 14:37 UTC (permalink / raw)
  To: Cyril Arnould, Eli Zaretskii, Michael Albinus,
	Mattias Engdegård
  Cc: emacs-devel@gnu.org

[-- Attachment #1: Type: text/plain, Size: 1812 bytes --]

On 2023-05-09 13:51, Cyril Arnould wrote:
> > Cyril, are you done discussing this, or do I need to wait some more?
>
> I was actually hoping to get Reto's and/or your input on two
> points, the first one being:
>
> > Since this introduces changes in the vhdl-compiler type, I guess
> > it would be appropriate to increment the vhdl-version number?
>
> I've seen that on Reto's website, the latest vhdl-version number
> is 3.38.4, while in the emacs repository it's at 3.38.1. I'm not
> sure if this is intentional or if it simply hasn't been tracked
> in emacs. If development is not intended to diverge, we could
> skip ahead to 3.38.5 or 3.39.1.

Development has already diverged.  I have in the meantime fixed numerous 
indentation bugs and added support for VHDL'18, among other changes.  I 
know this is not ideal, but I was not able to approve of all the changes 
that have been made on Emacs side some time ago, without sufficient 
testing.  I'm in the process of integrating most of these changes in my 
code though.  I will also release 3.39.1 myself soon.

So I would suggest to release your changes under 3.38.5.

> The second point is that we now have two solutions for backwards
> compatibility code. There's my original solution which is a
> slight modification of already established backwards
> compatibility code. Alternatively, there's the solution
> elaborated with Mattias which should be safer but is less
> tested. If using a more "experimental" solution is no problem
> then we can go ahead with the new approach.

I'm not sure why backwards compatibility code is needed here.  The only 
change here is that an additional element (cons) is added to a sub-list, 
which however can be nil when no warning/info syntax is present.  On my 
side it works without compatibility code.

Reto

[-- Attachment #2: Type: text/html, Size: 3229 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* AW: AW: emacs-29 a2d4cd06f45: Improve VHDL mode highlighting
  2023-05-09 14:37         ` Reto Zimmermann
@ 2023-05-09 15:48           ` Cyril Arnould
  2023-05-10  7:26             ` Cyril Arnould
  0 siblings, 1 reply; 7+ messages in thread
From: Cyril Arnould @ 2023-05-09 15:48 UTC (permalink / raw)
  To: Reto Zimmermann, Eli Zaretskii, Michael Albinus,
	Mattias Engdegård
  Cc: emacs-devel@gnu.org

[-- Attachment #1: Type: text/plain, Size: 2715 bytes --]

> So I would suggest to release your changes under 3.38.5.

Will do.

> I'm not sure why backwards compatibility code is needed here.

I hadn't considered that. If we define Error to be 2 in the type,
the compatibility code *is* needed not to break the customization
menu with previously saved customizations. If we define it as nil
though, saved customizations appear normal in the menu. So I will
update the patch with Error to be nil exclusively and forego the
backwards compatibility code. Thanks!


Von: Reto Zimmermann<mailto:reto@gnu.org>
Gesendet: Dienstag, 9. Mai 2023 16:38
An: Cyril Arnould<mailto:cyril.arnould@outlook.com>; Eli Zaretskii<mailto:eliz@gnu.org>; Michael Albinus<mailto:michael.albinus@gmx.de>; Mattias Engdegård<mailto:mattias.engdegard@gmail.com>
Cc: emacs-devel@gnu.org<mailto:emacs-devel@gnu.org>
Betreff: Re: AW: emacs-29 a2d4cd06f45: Improve VHDL mode highlighting

On 2023-05-09 13:51, Cyril Arnould wrote:

> Cyril, are you done discussing this, or do I need to wait some more?

I was actually hoping to get Reto's and/or your input on two
points, the first one being:

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

I've seen that on Reto's website, the latest vhdl-version number
is 3.38.4, while in the emacs repository it's at 3.38.1. I'm not
sure if this is intentional or if it simply hasn't been tracked
in emacs. If development is not intended to diverge, we could
skip ahead to 3.38.5 or 3.39.1.

Development has already diverged.  I have in the meantime fixed numerous indentation bugs and added support for VHDL'18, among other changes.  I know this is not ideal, but I was not able to approve of all the changes that have been made on Emacs side some time ago, without sufficient testing.  I'm in the process of integrating most of these changes in my code though.  I will also release 3.39.1 myself soon.

So I would suggest to release your changes under 3.38.5.


The second point is that we now have two solutions for backwards
compatibility code. There's my original solution which is a
slight modification of already established backwards
compatibility code. Alternatively, there's the solution
elaborated with Mattias which should be safer but is less
tested. If using a more "experimental" solution is no problem
then we can go ahead with the new approach.

I'm not sure why backwards compatibility code is needed here.  The only change here is that an additional element (cons) is added to a sub-list, which however can be nil when no warning/info syntax is present.  On my side it works without compatibility code.

Reto


[-- Attachment #2: Type: text/html, Size: 6220 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: AW: emacs-29 a2d4cd06f45: Improve VHDL mode highlighting
  2023-05-09 15:48           ` AW: " Cyril Arnould
@ 2023-05-10  7:26             ` Cyril Arnould
  2023-05-13 13:52               ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Cyril Arnould @ 2023-05-10  7:26 UTC (permalink / raw)
  To: Reto Zimmermann, Eli Zaretskii, Michael Albinus,
	Mattias Engdegård
  Cc: emacs-devel@gnu.org

[-- Attachment #1: Type: text/plain, Size: 212 bytes --]

Just to confirm here, I believe we've settled upon

fix-vhdl-compiler-customization-4.patch<https://debbugs.gnu.org/cgi/bugreport.cgi?filename=fix-vhdl-compiler-customization-4.patch;bug=63251;msg=52;att=2>


[-- Attachment #2: Type: text/html, Size: 465 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: emacs-29 a2d4cd06f45: Improve VHDL mode highlighting
  2023-05-10  7:26             ` Cyril Arnould
@ 2023-05-13 13:52               ` Eli Zaretskii
  0 siblings, 0 replies; 7+ messages in thread
From: Eli Zaretskii @ 2023-05-13 13:52 UTC (permalink / raw)
  To: Cyril Arnould; +Cc: reto, michael.albinus, mattias.engdegard, emacs-devel

> From: Cyril Arnould <cyril.arnould@outlook.com>
> CC: "emacs-devel@gnu.org" <emacs-devel@gnu.org>
> Date: Wed, 10 May 2023 07:26:52 +0000
> 
> Just to confirm here, I believe we've settled upon
> fix-vhdl-compiler-customization-4.patch

Thanks, installed.



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-05-13 13:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <168326553347.14898.7329669431232347477@vcs2.savannah.gnu.org>
     [not found] ` <20230505054533.D680AC1BECD@vcs2.savannah.gnu.org>
2023-05-09  7:53   ` emacs-29 a2d4cd06f45: Improve VHDL mode highlighting Michael Albinus
2023-05-09  8:16     ` Eli Zaretskii
2023-05-09 11:51       ` AW: " Cyril Arnould
2023-05-09 14:37         ` Reto Zimmermann
2023-05-09 15:48           ` AW: " Cyril Arnould
2023-05-10  7:26             ` Cyril Arnould
2023-05-13 13:52               ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).