emacs-diffs
[Top][All Lists]
Advanced

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

master ef5e078: Stricter gradle-kotlin message pattern


From: Mattias Engdegård
Subject: master ef5e078: Stricter gradle-kotlin message pattern
Date: Wed, 9 Dec 2020 13:44:17 -0500 (EST)

branch: master
commit ef5e0785aee978c55abaecf44ba63867ff3598c4
Author: Mattias Engdegård <mattiase@acm.org>
Commit: Mattias Engdegård <mattiase@acm.org>

    Stricter gradle-kotlin message pattern
    
    * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
    Rule 'gradle-kotlin': don't be more forgiving than necessary; we know
    exactly what the output looks like (see
    https://github.com/JetBrains/kotlin/commit/\
    ffe8ae3840d7b9bdc82170c8181031f05ced68bd) and there is no reason to
    risk mismatches or expensive backtracking (bug#18109).  Recognise
    'info' level messages.  Convert to rx.
---
 lisp/progmodes/compile.el | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 310b332..d229315 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -241,11 +241,20 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
     ;; GradleStyleMessagerRenderer.kt in kotlin sources, see
     ;; https://youtrack.jetbrains.com/issue/KT-34683).
     (gradle-kotlin
-     ,(concat
-       "^\\(?:\\(w\\)\\|.\\): *"            ;type
-       "\\(\\(?:[A-Za-z]:\\)?[^:\n]+\\): *" ;file
-       "(\\([0-9]+\\), *\\([0-9]+\\))")     ;line, column
-     2 3 4 (1))
+     ,(rx bol
+          (| (group "w")                ; 1: warning
+             (group (in "iv"))          ; 2: info
+             "e")                       ; error
+          ": "
+          (group                        ; 3: file
+           (? (in "A-Za-z") ":")
+           (+ (not (in "\n:"))))
+          ": ("
+          (group (+ digit))             ; 4: line
+          ", "
+          (group (+ digit))             ; 5: column
+          "): ")
+     3 4 5 (1 . 2))
 
     (iar
      
"^\"\\(.*\\)\",\\([0-9]+\\)\\s-+\\(?:Error\\|Warnin\\(g\\)\\)\\[[0-9]+\\]:"



reply via email to

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