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
Gesendet: Sonntag, 7. Mai 2023 10:17
An: Cyril Arnould
Cc: 63251@debbugs.gnu.org; Reto Zimmermann; Eli Zaretskii
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@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.