emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 5d1d00c: Add a new compile error regexp for Clang i


From: Philipp Stephani
Subject: [Emacs-diffs] master 5d1d00c: Add a new compile error regexp for Clang includes
Date: Sun, 18 Dec 2016 20:59:32 +0000 (UTC)

branch: master
commit 5d1d00c34123aad92cffd913152987de05c5e713
Author: Philipp Stephani <address@hidden>
Commit: Philipp Stephani <address@hidden>

    Add a new compile error regexp for Clang includes
    
    Clang uses a slight variation of GCC's include format, causing includes
    to be treated as warnings instead of informational messages.  Use a new
    regular expression instead.
    
    * lisp/progmodes/compile.el
    (compilation-error-regexp-alist-alist): New element
    `clang-include' for Clang-style "included from" lines.
    * test/lisp/progmodes/compile-tests.el
    (compile-tests--test-regexps-data): Add unit test.
---
 lisp/progmodes/compile.el            |    7 +++++++
 test/lisp/progmodes/compile-tests.el |    3 +++
 2 files changed, 10 insertions(+)

diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index fc7056c..7f20e79 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -230,6 +230,13 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
      nil 1 nil 2 0
      (2 (compilation-face '(3))))
 
+    (clang-include
+     ,(rx bol "In file included from "
+          (group (+ (not (any ?\n ?:)))) ?:
+          (group (+ (any (?0 . ?9)))) ?:
+          eol)
+     1 2 nil 0)
+
     (gcc-include
      "^\\(?:In file included \\|                 \\|\t\\)from \
 \\([0-9]*[^0-9\n]\\(?:[^\n :]\\| [^-/\n]\\|:[^ \n]\\)*?\\):\
diff --git a/test/lisp/progmodes/compile-tests.el 
b/test/lisp/progmodes/compile-tests.el
index 631174f..9f61c20 100644
--- a/test/lisp/progmodes/compile-tests.el
+++ b/test/lisp/progmodes/compile-tests.el
@@ -83,6 +83,9 @@
      1 nil 302 "\\lib\\python\\Products\\PythonScripts\\PythonScript.py")
     ("File \"/tmp/foo.py\", line 10"
      1 nil 10 "/tmp/foo.py")
+    ;; clang-include
+    ("In file included from foo.cpp:2:"
+     1 nil 2 "foo.cpp" 0)
     ;; cmake cmake-info
     ("CMake Error at CMakeLists.txt:23 (hurz):"
      1 nil 23 "CMakeLists.txt")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]