summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2020-02-14 23:38:24 +0100
committerMattias EngdegÄrd <mattiase@acm.org>2020-02-17 11:23:41 +0100
commit39410cfc5a7a2a721f9f50e36d2d48dc33980e08 (patch)
treea40131c66b1caf4bce330c0bcd783d3e88999b8b
parent96a269d045091bcf7ed424a7a039385727f6e694 (diff)
downloademacs-39410cfc5a7a2a721f9f50e36d2d48dc33980e08.tar.gz
Speed up 'msft' and 'watcom' compilation error regexps
They have similar structure, and both suffer from being able to match leading spaces in multiple ways which leads to bad performance when backtracking (bug#39595). * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Improved 'msft' and 'watcom' regexps.
-rw-r--r--lisp/progmodes/compile.el4
1 files changed, 2 insertions, 2 deletions
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 9959c829dfd..21c3153b8a3 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -221,7 +221,7 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
;; considered before EDG.
;; The message may be a "warning", "error", or "fatal error" with
;; an error code, or "see declaration of" without an error code.
- "^ *\\([0-9]+>\\)?\\(\\(?:[a-zA-Z]:\\)?[^:(\t\n]+\\)(\\([0-9]+\\)) ?\
+ "^ *\\([0-9]+>\\)?\\(\\(?:[a-zA-Z]:\\)?[^ :(\t\n][^:(\t\n]*\\)(\\([0-9]+\\)) ?\
: \\(?:see declaration\\|\\(?:warnin\\(g\\)\\|[a-z ]+\\) C[0-9]+:\\)"
2 3 nil (4))
@@ -455,7 +455,7 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?"
"^\\([^, \n\t]+\\), line \\([0-9]+\\), char \\([0-9]+\\)[:., (-]" 1 2 3)
(watcom
- "^[ \t]*\\(\\(?:[a-zA-Z]:\\)?[^:(\t\n]+\\)(\\([0-9]+\\)): ?\
+ "^[ \t]*\\(\\(?:[a-zA-Z]:\\)?[^ :(\t\n][^:(\t\n]*\\)(\\([0-9]+\\)): ?\
\\(?:\\(Error! E[0-9]+\\)\\|\\(Warning! W[0-9]+\\)\\):"
1 2 nil (4))