Subject: bug#37632: closed (Re: [PATCH] Support GNU make error messages in compile mode.)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 05 Oct 2019 19:35:02 +0000

Your bug report

#37484: [PATCH] Support GNU make error messages in compile mode.

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
37484: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=37484
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [PATCH] Support GNU make error messages in compile mode.
From: Paul Eggert <[email-masked]>
To: Paul Smith <[email-masked]>
Cc: [email-masked]
Date: Sat, 5 Oct 2019 12:34:37 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Thanks for the updated patch. 'make check' worked for me, and I installed it 
into the Emacs master patch and am closing the bug report.

Subject: [PATCH] Support GNU make error messages in compile mode.
From: Paul Smith <[email-masked]>
To: [email-masked]
Date: Sat, 5 Oct 2019 09:38:11 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

* 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.
---
 lisp/progmodes/compile.el            | 6 ++++++
 test/lisp/progmodes/compile-tests.el | 8 +++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 83efb3e029..50370a4f3a 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -274,6 +274,12 @@ compilation-error-regexp-alist-alist
     (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 8e59a5401b..08a369e7b5 100644
--- a/test/lisp/progmodes/compile-tests.el
+++ b/test/lisp/progmodes/compile-tests.el
@@ -180,6 +180,12 @@ compile-tests--test-regexps-data
      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 @@ compile-test-error-regexps
       (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.
-- 
2.18.0