Hi
I've sent a bugreport:
4689: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=4689
Emacs Bug Tracking System
Here a workaround patch I found to make the regex match again:
Changing in mode-compile.el from
------------------------------------------------
(defvar perl-compilation-error-regexp-alist
;; Contributed by Martin Jost
'(
;; PERL 4
("in file \\([^ ]+\\) at line \\([0-9]+\\).*" 1 2)
;; PERL 5 Blubber at FILE line XY, <XY> line ab.
("at \\([^ ]+\\) line \\([0-9]+\\)," 1 2)
;; PERL 5 Blubber at FILE line XY.
("at \\([^ ]+\\) line \\([0-9]+\\)." 1 2)
)
;; This look like a paranoiac regexp: could anybody find a better
one? (which WORK).
;;'(("^[^\n]* \\(file\\|at\\) \\([^ \t\n]+\\) [^\n]*line \\([0-9]+\\
+)
[\\.,]" 2 3))
"Alist that specifies how to match errors in perl output.
See variable compilation-error-regexp-alist for more details.")
------------------------------------------------
to
------------------------------------------------
(defvar perl-compilation-error-regexp-alist
;; Contributed by Martin Jost
'(
;; PERL 4
("^[^\n]* in file \\([^ ]+\\) at line \\([0-9]+\\).*" 1 2)
;; PERL 5 Blubber at FILE line XY, <XY> line ab.
("^[^\n]* at \\([^ ]+\\) line \\([0-9]+\\)," 1 2)
;; PERL 5 Blubber at FILE line XY.
("^[^\n]* at \\([^ ]+\\) line \\([0-9]+\\)." 1 2)
)
;; This look like a paranoiac regexp: could anybody find a better
one? (which WORK).
;;'(("^[^\n]* \\(file\\|at\\) \\([^ \t\n]+\\) [^\n]*line \\([0-9]+\\
+)
[\\.,]" 2 3))
"Alist that specifies how to match errors in perl output.
See variable compilation-error-regexp-alist for more details.")
------------------------------------------------
fixes the problem in emacs 23! 8)
(Plz note: the WHOLE error line gets underlined now)
UPDATE: The former patch only works for perl-mode. This is a patch for cperl-mode.el Version 6.2
(defvar cperl-compilation-error-regexp-alist-lanx-patch
'(
;; PERL 4
("^[^\n]* in file \\([^ ]+\\) at line \\([0-9]+\\).*" 1 2)
;; PERL 5 Blubber at FILE line XY, <XY> line ab.
("^[^\n]* at \\([^ ]+\\) line \\([0-9]+\\)," 1 2)
;; PERL 5 Blubber at FILE line XY.
("^[^\n]* at \\([^ ]+\\) line \\([0-9]+\\)." 1 2)
)
"Alist that specifies how to match errors in perl output.")
(if (fboundp 'eval-after-load)
(eval-after-load
"mode-compile"
'(setq perl-compilation-error-regexp-alist
cperl-compilation-error-regexp-alist-lanx-patch)))
|