emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[nongnu] elpa/rust-mode 2e671d9 040/486: revisions to emacs compilation


From: ELPA Syncer
Subject: [nongnu] elpa/rust-mode 2e671d9 040/486: revisions to emacs compilation regexp, more readable and robust.
Date: Sat, 7 Aug 2021 09:24:44 -0400 (EDT)

branch: elpa/rust-mode
commit 2e671d96c816312bd1ffc4221d225a51c2be35cd
Author: Felix S. Klock II <pnkfelix@pnkfx.org>
Commit: Felix S. Klock II <pnkfelix@pnkfx.org>

    revisions to emacs compilation regexp, more readable and robust.
---
 rust-mode.el | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/rust-mode.el b/rust-mode.el
index efe9f51..af1c28b 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -229,15 +229,23 @@ The initializer is `DEFAULT-TAB-WIDTH'.")
 ;; regexp (which is broken on a few edge cases), add our own 'rust
 ;; compilation error regexp and use it instead.
 (defvar rustc-compilation-regexps
-  (let ((re (concat "^\\([^ \n]+\\):\\([0-9]+\\):\\([0-9]+\\): "
-                    "\\([0-9]+\\):\\([0-9]+\\) "
-                    "\\(?:[Ee]rror\\|\\([Ww]arning\\)\\):")))
-    (cons re '(1 (2 . 4) (3 . 5) (6))))
+  (let ((file "\\([^ \n]+\\)")
+        (start-line "\\([0-9]+\\)")
+        (start-col  "\\([0-9]+\\)")
+        (end-line   "\\([0-9]+\\)")
+        (end-col    "\\([0-9]+\\)")
+        (error-or-warning "\\(?:[Ee]rror\\|\\([Ww]arning\\)\\)"))
+    (let ((re (concat "^" file ":" start-line ":" start-col
+                      ": " end-line ":" end-col
+                      " \\(?:[Ee]rror\\|\\([Ww]arning\\)\\):")))
+      (cons re '(1 (2 . 4) (3 . 5) (6)))))
   "Specifications for matching errors in rustc invocations.
 See `compilation-error-regexp-alist for help on their format.")
 
-(add-to-list 'compilation-error-regexp-alist-alist
-             (cons 'rustc rustc-compilation-regexps))
-(add-to-list 'compilation-error-regexp-alist 'rustc)
+(eval-after-load 'compile
+  '(progn
+     (add-to-list 'compilation-error-regexp-alist-alist
+                  (cons 'rustc rustc-compilation-regexps))
+     (add-to-list 'compilation-error-regexp-alist 'rustc)))
 
 ;;; rust-mode.el ends here



reply via email to

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