summaryrefslogtreecommitdiff
path: root/rust-mode.el
diff options
context:
space:
mode:
authorFelix S. Klock II <pnkfelix@pnkfx.org>2013-08-10 21:07:51 +0200
committerFelix S. Klock II <pnkfelix@pnkfx.org>2013-08-25 14:15:03 +0200
commit5488368b5b75722795ad2e578f74c0f19f47ec93 (patch)
tree5e2731b4f77e7e8d260d38162022d24da01ba492 /rust-mode.el
parentf962be47bad22b9fc3a37e14201de4ec85796b00 (diff)
downloadrust-mode-5488368b5b75722795ad2e578f74c0f19f47ec93.tar.gz
compilation error regexp specific to rustc.
Fix #6887.
Diffstat (limited to 'rust-mode.el')
-rw-r--r--rust-mode.el15
1 files changed, 15 insertions, 0 deletions
diff --git a/rust-mode.el b/rust-mode.el
index ecb223f..efe9f51 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -225,4 +225,19 @@ The initializer is `DEFAULT-TAB-WIDTH'.")
(provide 'rust-mode)
+;; Issue #6887: Rather than inheriting the 'gnu compilation error
+;; 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))))
+ "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)
+
;;; rust-mode.el ends here