From 4c44026c141100262a535eaa1ca62bf11fce9ece Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sun, 8 May 2011 21:24:00 -0400 Subject: [PATCH] Various fixes to compilation-error-regexp-alist-alist. * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Fix the ant regexp to handle end-line and end-column info from jikes. Re-introduce maven regexp. Give the ruby-Test::Unit regexp a higher priority to avoid clobbering by gnu. --- lisp/ChangeLog | 7 +++++++ lisp/progmodes/compile.el | 26 ++++++++++++++++---------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 60b462e106b..a04afa93930 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2011-05-09 Chong Yidong + + * progmodes/compile.el (compilation-error-regexp-alist-alist): Fix + the ant regexp to handle end-line and end-column info from jikes. + Re-introduce maven regexp. Give the ruby-Test::Unit regexp a + higher priority to avoid clobbering by gnu. + 2011-05-08 Chong Yidong * cus-face.el (custom-declare-face): Call custom-theme-recalc-face diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 830de7d6244..60ad7cb0e9e 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -126,6 +126,9 @@ and a string describing how the process finished.") (defvar compilation-num-errors-found) +;; If you make any changes to `compilation-error-regexp-alist-alist', +;; be sure to run the ERT test in test/automated/compile-tests.el. + (defvar compilation-error-regexp-alist-alist '((absoft "^\\(?:[Ee]rror on \\|[Ww]arning on\\( \\)\\)?[Ll]ine[ \t]+\\([0-9]+\\)[ \t]+\ @@ -138,8 +141,8 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) " in line \\([0-9]+\\) of file \\([^ \n]+[^. \n]\\)\\.? " 2 1) (ant - "^[ \t]*\\[[^] \n]+\\][ \t]*\\([^: \n]+\\):\\([0-9]+\\):\\(?:\\([0-9]+\\):[0-9]+:[0-9]+:\\)?\ -\\( warning\\)?" 1 2 3 (4)) + "^[ \t]*\\[[^] \n]+\\][ \t]*\\([^: \n]+\\):\\([0-9]+\\):\\(?:\\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\):\\)?\ +\\( warning\\)?" 1 (2 . 4) (3 . 5) (4)) (bash "^\\([^: \n\t]+\\): line \\([0-9]+\\):" 1 2) @@ -194,6 +197,14 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) (jikes-file "^\\(?:Found\\|Issued\\) .* compiling \"\\(.+\\)\":$" 1 nil nil 0) + + + ;; This used to be pathologically slow on long lines (Bug#3441), + ;; due to matching filenames via \\(.*?\\). This might be faster. + (maven + ;; Maven is a popular free software build tool for Java. + "\\([0-9]*[^0-9\n]\\(?:[^\n :]\\| [^-/\n]\\|:[^ \n]\\)*?\\):\\[\\([0-9]+\\),\\([0-9]+\\)\\] " 1 2 3) + (jikes-line "^ *\\([0-9]+\\)\\.[ \t]+.*\n +\\(<-*>\n\\*\\*\\* \\(?:Error\\|Warnin\\(g\\)\\)\\)" nil 1 nil 2 0 @@ -205,6 +216,9 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) \\([0-9]+\\)\\(?::\\([0-9]+\\)\\)?\\(?:\\(:\\)\\|\\(,\\|$\\)\\)?" 1 2 3 (4 . 5)) + (ruby-Test::Unit + "^[\t ]*\\[\\([^\(].*\\):\\([1-9][0-9]*\\)\\(\\]\\)?:in " 1 2) + (gnu ;; The first line matches the program name for @@ -257,11 +271,6 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) (end-of-line) nil))) - ;; This regexp is pathologically slow on long lines (Bug#3441). - ;; (maven - ;; ;; Maven is a popular build tool for Java. Maven is Free Software. - ;; "\\(.*?\\):\\[\\([0-9]+\\),\\([0-9]+\\)\\]" 1 2 3) - ;; Should be lint-1, lint-2 (SysV lint) (mips-1 " (\\([0-9]+\\)) in \\([^ \n]+\\)" 2 1) @@ -302,9 +311,6 @@ during global destruction\\.$\\)" 1 2) "\\(?:Parse\\|Fatal\\) error: \\(.*\\) in \\(.*\\) on line \\([0-9]+\\)" 2 3 nil nil) - (ruby-Test::Unit - "[\t ]*\\[\\([^\(].*\\):\\([1-9][0-9]*\\)\\(\\]\\)?:$" 1 2) - (rxp "^\\(?:Error\\|Warnin\\(g\\)\\):.*\n.* line \\([0-9]+\\) char\ \\([0-9]+\\) of file://\\(.+\\)" -- 2.39.5