]> git.eshelyaron.com Git - emacs.git/commitdiff
Simplify `gnu` compilation-mode regexp
authorMattias Engdegård <mattiase@acm.org>
Mon, 22 Nov 2021 18:07:32 +0000 (19:07 +0100)
committerMattias Engdegård <mattiase@acm.org>
Mon, 22 Nov 2021 18:11:55 +0000 (19:11 +0100)
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Remove the pattern ostensibly added for Ruby, because at closer
inspection it could never have matched anything.  This lessens the
performance impact of the pattern added for GCC's -fanalyzer,
now slightly tweaked.

lisp/progmodes/compile.el

index c0e16ce35155204322f8cf904d0d8b4df25e34b9..2d4070c389c1e6c6efa8271b961a9e34e4d28204 100644 (file)
@@ -346,15 +346,10 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
        ;;     PROGRAM:SOURCE-FILE-NAME:LINENO: MESSAGE
        ;; which is used for non-interactive programs other than
        ;; compilers (e.g. the "jade:" entry in compilation.txt).
-       (? (| (regexp "[[:alpha:]][-[:alnum:].]+: ?")
-             ;; FIXME: This pattern was added for handling messages
-             ;; from Ruby, but it is unclear whether it is actually
-             ;; used since the gcc-include rule above seems to cover
-             ;; it.
-             (regexp "[ \t]+\\(?:in \\|from\\)")
+       (? (| (: alpha (+ (in ?. ?- alnum)) ":" (? " "))
              ;; Skip indentation generated by tools like GCC's
              ;; -fanalyzer.
-             (: (+ space) "|")))
+             (: (+ (in " \t")) "|")))
 
        ;; File name group.
        (group-n 1