diff options
author | Jostein Kjønigsen <jostein@secure.kjonigsen.net> | 2015-09-20 15:46:28 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2015-09-20 15:46:28 -0400 |
commit | bf006d59e665e1289c8b4fd4fb519d478b5d87d6 (patch) | |
tree | 83fecbee99dca103c3d9b371e3daced47208fa1e /lisp | |
parent | 65d5ebdf4c824bef68816a651c51d73d4c623413 (diff) | |
download | emacs-bf006d59e665e1289c8b4fd4fb519d478b5d87d6.tar.gz emacs-bf006d59e665e1289c8b4fd4fb519d478b5d87d6.tar.bz2 emacs-bf006d59e665e1289c8b4fd4fb519d478b5d87d6.zip |
(compilation-error-regexp-alist-alist): Tone down guile-file
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Make guile-file a bit less enthusiastic (bug#21496).
Copyright-paperwork-exempt: yes
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/progmodes/compile.el | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index f9c097e00ec..9cb367aa633 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -477,7 +477,29 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?" ;; "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) " 1 2 3) - (guile-file "^In \\(.+\\):\n" 1) + + ;; Guile compilation yields file-headers in the following format: + ;; + ;; In sourcefile.scm: + ;; + ;; We need to catch those, but we also need to be aware that Emacs + ;; byte-compilation yields compiler headers in similar form of + ;; those: + ;; + ;; In toplevel form: + ;; In end of data: + ;; + ;; We want to catch the Guile file-headers but not the Emacs + ;; byte-compilation headers, because that will cause next-error + ;; and prev-error to break, because the files "toplevel form" and + ;; "end of data" does not exist. + ;; + ;; To differentiate between these two cases, we require that the + ;; file-match must always contain an extension. + ;; + ;; We should also only treat this as "info", not "error", because + ;; we do not know what lines will follow. + (guile-file "^In \\(.+\\..+\\):\n" 1 nil nil 0) (guile-line "^ *\\([0-9]+\\): *\\([0-9]+\\)" nil 1 2) ) "Alist of values for `compilation-error-regexp-alist'.") |