Emacs VHDL-mode Next-Error, Previous-Error, and First-Error are not working...?

Joined
Jun 3, 2010
Messages
14
Reaction score
0
Hi guys.

I'm currently using EmacsW32 23.1 and vhdl-mode 3.34.2 and am encountering the following issue.

I am able to compile my design using altera-modelsim within emacs however when I try to click on an error from the compilation results in emacs, it doesn't take me to the line in my vhdl code?

I almost feel like its ignoring the Regexp information in vhdl-mode. And the funny part is when I add the follow to my .emacs file:
'(vhdl-compile-use-local-error-regexp t)
(add-to-list 'compilation-error-regexp-alist '("** Error: \\(.+\\)(\\([0-9]*\\)):" 1 2))

the error highlights just fine and I can go to the line number.

There are a number of questions that pop into my head like: could it be due to Windows, something with Regexp, a configuration or makefile issue? I can't figure this out.
 
Last edited:
Joined
Jun 3, 2010
Messages
14
Reaction score
0
I've now tried this on a couple different versions of emacs and still get the same results.

Does anyone actually have this functionality working? If so, would you mind telling me what versions of emacs and vhdl-mode you are using?
 
Joined
Jun 3, 2010
Messages
14
Reaction score
0
Wow.. finally got the damn thing working. It only took an entire day. ::banghead:

It appears there's a bug/typo in the ModelSim Compile Regexp in vhdl-mode v3.34.2 (and previous versions).

Here's the default:
\(ERROR\|WARNING\|\*\* Error\|\*\* Warning\)[^:]*:\( *[[0-9]+]\)? \([^ \t\n]+\)(\([0-9]+\)):
and from that..
File subexp index: 3 = \([^ \t\n]+\)
Line subexp index: 4 = \([0-9]+\)

The File subexp part appears incorrect so I changed it to \(.+\) which I found in this thread: http://www.velocityreviews.com/forums/t365482-xemacs-vhdl-mode-goto-error.html

So I go on to hit 'set for current session'.. oh great it works! Then I hit 'save for future sessions' and re-open emacs to double-check that it worked, and.. nothing?!

Long story short, it appears there's some kind of intermittent issue where 'set for current session' makes it work (sometimes) and 'save for future sessions' doesn't work at all, for me.

I then find the 'Vhdl Compile' group shortcut at the bottom of the Customize Options page and I run across "Vhdl Compile Use Local Error Regexp", I toggle the setting to 'Off'. And now it works.. perfect.:adore:

So, to recap, here are the settings I used to get it working:
Regexp: \(ERROR\|WARNING\|\*\* Error\|\*\* Warning\)[^:]*:\( *[[0-9]+]\)? \(.+\)(\([0-9]+\)):
File subexp index: 3
Line subexp index: 4
Vhdl Compile Use Local Error Regexp (under Vhdl Compile group): Off

Enjoy!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,013
Latest member
KatriceSwa

Latest Threads

Top