[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 8ebf041: Make the 'cucumber' compilation pattern work without 'om
From: |
Mattias Engdegård |
Subject: |
master 8ebf041: Make the 'cucumber' compilation pattern work without 'omake' |
Date: |
Fri, 27 Nov 2020 10:17:27 -0500 (EST) |
branch: master
commit 8ebf041d5f54d9ae0dd360d9d3b3f82c5c7e3106
Author: Mattias Engdegård <mattiase@acm.org>
Commit: Mattias Engdegård <mattiase@acm.org>
Make the 'cucumber' compilation pattern work without 'omake'
When 'omake' is included in compilation-error-regexp-alist, which it
still is by default, then all other rules are modified to match with
an extra leading 6 spaces as well. The 'cucumber' pattern relied on
this in order to work as intended.
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Extend the 'cucumber' pattern so that it works even when 'omake'
is not included. Move it below the 'gnu' rule so that it doesn't
match anything else.
---
lisp/progmodes/compile.el | 15 +++++++++++----
test/lisp/progmodes/compile-tests.el | 2 ++
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index de9c9a2..787f5d5 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -214,10 +214,6 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
"^\"\\([^,\" \n\t]+\\)\", line \\([0-9]+\\)\
\\(?:[(. pos]+\\([0-9]+\\))?\\)?[:.,; (-]\\( warning:\\|[-0-9 ]*(W)\\)?" 1 2 3
(4))
- (cucumber
- "\\(?:^cucumber\\(?: -p [^[:space:]]+\\)?\\|#\\)\
-\\(?: \\)\\([^(].*\\):\\([1-9][0-9]*\\)" 1 2)
-
(msft
;; Must be before edg-1, so that MSVC's longer messages are
;; considered before EDG.
@@ -399,6 +395,17 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
(regexp "[0-9][0-9][0-9]")))
1 (2 . 4) (3 . 5) (6 . 7))
+ (cucumber
+ ,(rx (| (: bol
+ (| (: "cucumber" (? " -p " (+ (not space))))
+ " "))
+ "#")
+ " "
+ (group (not "(") (* nonl)) ; file
+ ":"
+ (group (in "1-9") (* (in "0-9")))) ; line
+ 1 2)
+
(lcc
"^\\(?:E\\|\\(W\\)\\), \\([^(\n]+\\)(\\([0-9]+\\),[ \t]*\\([0-9]+\\)"
2 3 4 (1))
diff --git a/test/lisp/progmodes/compile-tests.el
b/test/lisp/progmodes/compile-tests.el
index 0288cba..74d7c76 100644
--- a/test/lisp/progmodes/compile-tests.el
+++ b/test/lisp/progmodes/compile-tests.el
@@ -124,6 +124,8 @@
;; cucumber
(cucumber "Scenario: undefined step # features/cucumber.feature:3"
29 nil 3 "features/cucumber.feature")
+ ;; This rule is actually handled by the `cucumber' pattern but when
+ ;; `omake' is included, then `gnu' matches it first.
(gnu " /home/gusev/.rvm/foo/bar.rb:500:in `_wrap_assertion'"
1 nil 500 "/home/gusev/.rvm/foo/bar.rb")
;; edg-1 edg-2
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 8ebf041: Make the 'cucumber' compilation pattern work without 'omake',
Mattias Engdegård <=