Subject: bug#37484: 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: Sun, 22 Sep 2019 16:28:18 -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.
---
 lisp/progmodes/compile.el            | 6 ++++++
 test/lisp/progmodes/compile-tests.el | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index f0b34c702c..a98aa0c8e5 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 0d4f7f2ff2..61e1cd110d 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" 5 nil 20 "Makefile" 0)
+    ("make[4]: *** [sub/make.mk:19: all] Error 127" 8 nil 19 "sub/make.mk" 0)
+    ("gmake[4]: *** [sub/make.mk:19: all] Error 2" 9 nil 19 "sub/make.mk" 0)
+    ("gmake-4.3[4]: *** [make.mk:1119: all] Error 2" 13 nil 1119 "make.mk" 0)
+    ("Make-4.3: *** [make.INC:1119: dir/all] Error 2" 9 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")
-- 
2.18.0