emacs-diffs
[Top][All Lists]
Advanced

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

emacs-27 39410cf 2/3: Speed up 'msft' and 'watcom' compilation error reg


From: Mattias Engdegård
Subject: emacs-27 39410cf 2/3: Speed up 'msft' and 'watcom' compilation error regexps
Date: Mon, 17 Feb 2020 05:30:37 -0500 (EST)

branch: emacs-27
commit 39410cfc5a7a2a721f9f50e36d2d48dc33980e08
Author: Mattias Engdegård <address@hidden>
Commit: Mattias Engdegård <address@hidden>

    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.
---
 lisp/progmodes/compile.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 9959c82..21c3153 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))
 



reply via email to

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