From: Paul Smith Date: Sat, 5 Oct 2019 19:29:04 +0000 (-0700) Subject: Support GNU make error messages in compile mode. X-Git-Tag: emacs-27.0.90~1262 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e72e4990f99c5d56502d304f448a410bb17d12d7;p=emacs.git Support GNU make error messages in compile mode. * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Match GNU make error messages. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Test GNU make error message matching. (compile-test-error-regexps): Update count of infos found. --- diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 83efb3e0295..50370a4f3ac 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -274,6 +274,12 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) (ruby-Test::Unit "^[\t ]*\\[\\([^(].*\\):\\([1-9][0-9]*\\)\\(\\]\\)?:in " 1 2) + (gmake + ;; Set GNU make error messages as INFO level. + ;; It starts with the name of the make program which is variable, + ;; so don't try to match it. + ": \\*\\*\\* \\[\\(\\(.+?\\):\\([0-9]+\\): .+\\)\\]" 2 3 nil 0 1) + (gnu ;; The first line matches the program name for diff --git a/test/lisp/progmodes/compile-tests.el b/test/lisp/progmodes/compile-tests.el index 8e59a5401bb..08a369e7b54 100644 --- a/test/lisp/progmodes/compile-tests.el +++ b/test/lisp/progmodes/compile-tests.el @@ -180,6 +180,12 @@ 1 0 31 "/usr/include/c++/3.3/backward/iostream.h") (" from test_clt.cc:1:" 1 nil 1 "test_clt.cc") + ;; gmake + ("make: *** [Makefile:20: all] Error 2" 12 nil 20 "Makefile" 0) + ("make[4]: *** [sub/make.mk:19: all] Error 127" 15 nil 19 "sub/make.mk" 0) + ("gmake[4]: *** [sub/make.mk:19: all] Error 2" 16 nil 19 "sub/make.mk" 0) + ("gmake-4.3[4]: *** [make.mk:1119: all] Error 2" 20 nil 1119 "make.mk" 0) + ("Make-4.3: *** [make.INC:1119: dir/all] Error 2" 16 nil 1119 "make.INC" 0) ;; gnu ("foo.c:8: message" 1 nil 8 "foo.c") ("../foo.c:8: W: message" 1 nil 8 "../foo.c") @@ -409,7 +415,7 @@ The test data is in `compile-tests--test-regexps-data'." (mapc #'compile--test-error-line compile-tests--test-regexps-data) (should (eq compilation-num-errors-found 87)) (should (eq compilation-num-warnings-found 32)) - (should (eq compilation-num-infos-found 21))))) + (should (eq compilation-num-infos-found 26))))) (ert-deftest compile-test-grep-regexps () "Test the `grep-regexp-alist' regexps.