Velocity Reviews

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

BlackHelicopter 02-11-2013 04:47 AM

Emacs VHDL-mode Next-Error, Previous-Error, and First-Error are not working...?
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.

BlackHelicopter 02-11-2013 03:49 PM

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?

BlackHelicopter 02-12-2013 01:12 AM

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:

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


All times are GMT. The time now is 05:06 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.