summaryrefslogtreecommitdiff
path: root/lisp/progmodes
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2012-10-14 09:40:05 +0200
committerEli Zaretskii <eliz@gnu.org>2012-10-14 09:40:05 +0200
commit8111f5e6f05228e36496f3bdccad711f569acb9b (patch)
treec096c4b0c4bac69b893ef81156d9e06d3631c5d8 /lisp/progmodes
parent9760c73c668269cd8de4625b0137d574551c98e5 (diff)
downloademacs-8111f5e6f05228e36496f3bdccad711f569acb9b.tar.gz
Adapt compile.el to changes in MSVC diagnostics format.
lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Adjust the msft regexp to the output of Studio 2010, and move msft before edg-1. See the discussion on emacs-devel, http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00579.html, for the details. etc/compilation.txt (msft): Add error messages in new Studio 2010 format. test/automated/compile-tests.el (compile-tests--test-regexps-data): Add data for msft's new format.
Diffstat (limited to 'lisp/progmodes')
-rw-r--r--lisp/progmodes/compile.el9
1 files changed, 9 insertions, 0 deletions
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 09fba380f15..10fd7a75eaa 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -171,6 +171,15 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
"\\(?:^cucumber\\(?: -p [^[:space:]]+\\)?\\|#\\)\
\\(?: \\)\\([^\(].*\\):\\([1-9][0-9]*\\)" 1 2)
+ (msft
+ ;; Must be before edg-1, so that MSVC's longer messages are
+ ;; 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]+\\)) ?\
+: \\(?:see declaration\\|\\(?:warnin\\(g\\)\\|[a-z ]+\\) C[0-9]+:\\)"
+ 2 3 nil (4))
+
(edg-1
"^\\([^ \n]+\\)(\\([0-9]+\\)): \\(?:error\\|warnin\\(g\\)\\|remar\\(k\\)\\)"
1 2 nil (3 . 4))