2012-02-02 2 views
3

이맥스를 vhdl 모드의 다음 에러, 이전 에러, 첫번째 에러로 점프 할 수 없습니다.Emacs VHDL이 에러로 점프

우분투에서 최근 vhdl-mode 3.33.28을 사용하는 FSF Emacs 23.3.1을 사용하고 있습니다. 내가 ModelSim을 컴파일 할 수 있으며 I 컴파일러 오류 목록을 얻을 : 나는 그것을 이런 식으로 사용하면

\*\* Error: \([a-zA-Z\/_.]*\)(\([0-9]*\)).* 

: 나는 (컴파일러 설정에서) 오류 정규 표현식을 적용하려고

-- Loading package standard 
-- ... 
-- Compiling entity foo 
** Error: path/foo.vhd(22): (vcom-1136) Unknown identifier "std_olgic". 

간단한 하나를 나는 그것이 오류를 제대로 구문 분석 볼 수 있습니다

sed "s/\*\* Error: \([a-zA-Z\/_.]*\)(\([0-9]*\)).*/\1 \2/" ... 
path/foo.vhd 22 

나는 1과 2에 각각 "파일 subexp 지수"와 "선 subexp 인덱스를"변경되었지만 여전히 오류가 주위를 뛰어 수 없습니다.

+0

이 기능은 emacs23에서는 지원되지 않지만 emacs21에서는 꽤 오래된 것 같습니다. – user1131562

답변

1

Emacs 정규 표현식에서 괄호를 문자열 (explanation)로 이중 이스케이프 처리해야합니다. 이런 식으로 뭔가를 시도 : \*\* Error: \\([a-zA-Z0-9/_.]+\\)(\\([0-9]+\\)).*

+0

Thx가 답장을 보내지 만 여전히 작동하지 않습니다. 그것은 내가 regexp에 넣어 상관없이 완전히 비활성화되어있는 것 같습니다. – user1131562

2

다음 설정 오래된 주제를 범프 나

'(vhdl-compile-use-local-error-regexp t) 
(add-to-list 'compilation-error-regexp-alist '("** Error: \\(.+\\)(\\([0-9]*\\)):" 1 2)) 
0

죄송이 버그를 해결하지만, 난 그냥이 문제에 달려 나를 위해 운동하는 일이있어.

여기에 내가 얻을하는 데 사용되는 설정이 작동 할 수 있습니다

정규 표현식 :

\(ERROR\|WARNING\|\*\* Error\|\*\* Warning\)[^:]*:\(*[[0-9]+]\)? \(.+\)(\([0-9]+\)): 

파일 subexp 지수 : 3

라인 subexp 지수 : 4

VHDL 컴파일 사용 로컬 오류 Regexp (Vhdl 컴파일 그룹에서) : 해제

그리고 여기 '그것에 대해 내 이야기를 S : http://www.velocityreviews.com/forums/t957495-emacs-vhdl-mode-next-error-previous-error-and-first-error-are-not-working.html

: P

희망이 도움이!