# HG changeset patch # User Vinicius Jose Latorre # Date 1194892145 0 # Node ID b182750e235e952f14a8998a75bb2a6acf50c4f9 # Parent 1fa61031bef4a8da7aa29e8cc7b99ec127ff0bd8 Insert patterns from compilation-perl.el and compilation-weblint.el files. diff -r 1fa61031bef4 -r b182750e235e lisp/ChangeLog --- a/lisp/ChangeLog Mon Nov 12 18:27:10 2007 +0000 +++ b/lisp/ChangeLog Mon Nov 12 18:29:05 2007 +0000 @@ -1,3 +1,8 @@ +2007-11-12 Vinicius Jose Latorre + + * progmodes/compile.el (compilation-error-regexp-alist-alist): Insert + patterns from compilation-perl.el and compilation-weblint.el files. + 2007-11-12 Dan Nicolaescu * progmodes/compilation-perl.el: diff -r 1fa61031bef4 -r b182750e235e lisp/progmodes/compile.el --- a/lisp/progmodes/compile.el Mon Nov 12 18:27:10 2007 +0000 +++ b/lisp/progmodes/compile.el Mon Nov 12 18:29:05 2007 +0000 @@ -339,6 +339,57 @@ nil 2 nil 2 nil (0 'default t) (1 compilation-error-face prepend) (2 compilation-line-face prepend)) + + (compilation-perl--Pod::Checker + ;; podchecker error messages, per Pod::Checker. + ;; The style is from the Pod::Checker::poderror() function, eg. + ;; *** ERROR: Spurious text after =cut at line 193 in file foo.pm + ;; + ;; Plus end_pod() can give "at line EOF" instead of a + ;; number, so for that match "on line N" which is the + ;; originating spot, eg. + ;; *** ERROR: =over on line 37 without closing =back at line EOF in file bar.pm + ;; + ;; Plus command() can give both "on line N" and "at line N"; + ;; the latter is desired and is matched because the .* is + ;; greedy. + ;; *** ERROR: =over on line 1 without closing =back (at head1) at line 3 in file x.pod + ;; + "^\\*\\*\\* \\(?:ERROR\\|\\(WARNING\\)\\).* \\(?:at\\|on\\) line \ +\\([0-9]+\\) \\(?:.* \\)?in file \\([^ \t\n]+\\)" + 3 2 nil (1)) + (compilation-perl--Test + ;; perl Test module error messages. + ;; Style per the ok() function "$context", eg. + ;; # Failed test 1 in foo.t at line 6 + ;; + "^# Failed test [0-9]+ in \\([^ \t\r\n]+\\) at line \\([0-9]+\\)" + 1 2) + (compilation-perl--Test::Harness + ;; perl Test::Harness output, eg. + ;; NOK 1# Test 1 got: "1234" (t/foo.t at line 46) + ;; + ;; Test::Harness is slightly designed for tty output, since + ;; it prints CRs to overwrite progress messages, but if you + ;; run it in with M-x compile this pattern can at least step + ;; through the failures. + ;; + "^.*NOK.* \\([^ \t\r\n]+\\) at line \\([0-9]+\\)" + 1 2) + (compilation-weblint + ;; The style comes from HTML::Lint::Error::as_string(), eg. + ;; index.html (13:1) Unknown element + ;; + ;; The pattern only matches filenames without spaces, since that + ;; should be usual and should help reduce the chance of a false + ;; match of a message from some unrelated program. + ;; + ;; This message style is quite close to the "ibm" entry which is + ;; for IBM C, though that ibm bit doesn't put a space after the + ;; filename. + ;; + "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) " + 1 2 3) ) "Alist of values for `compilation-error-regexp-alist'.")