From 062b6094139edb8345c2f6ba82f8fe129ccaaf62 Mon Sep 17 00:00:00 2001 From: Ryan Barrett Date: Mon, 4 Jun 2012 10:36:24 -0400 Subject: [PATCH] misc/emacs: make compilation-mode's next-error understand test failure output. specifically, adds a go-test element to compilation-error-regexp-alist[-alist]. Fixes #3629. R=golang-dev, rsc, sameer CC=golang-dev, jba https://golang.org/cl/6197091 --- misc/emacs/go-mode.el | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/misc/emacs/go-mode.el b/misc/emacs/go-mode.el index 2f20415010f..4d6d736faaf 100644 --- a/misc/emacs/go-mode.el +++ b/misc/emacs/go-mode.el @@ -729,7 +729,20 @@ functions, and some types. It also provides indentation that is (set (make-local-variable 'comment-end) "") ;; Go style - (setq indent-tabs-mode t)) + (setq indent-tabs-mode t) + + ;; Handle unit test failure output in compilation-mode + ;; + ;; Note the final t argument to add-to-list for append, ie put these at the + ;; *ends* of compilation-error-regexp-alist[-alist]. We want go-test to be + ;; handled first, otherwise other elements will match that don't work, and + ;; those alists are traversed in *reverse* order: + ;; http://lists.gnu.org/archive/html/bug-gnu-emacs/2001-12/msg00674.html + (when (and (boundp 'compilation-error-regexp-alist) + (boundp 'compilation-error-regexp-alist-alist)) + (add-to-list 'compilation-error-regexp-alist 'go-test t) + (add-to-list 'compilation-error-regexp-alist-alist + '(go-test . ("^\t+\\([^()\t\n]+\\):\\([0-9]+\\):? .*$" 1 2)) t))) ;;;###autoload (add-to-list 'auto-mode-alist (cons "\\.go$" #'go-mode))