diff options
| author | Jostein Kjønigsen | 2015-09-20 15:46:28 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2015-09-20 15:46:28 -0400 |
| commit | bf006d59e665e1289c8b4fd4fb519d478b5d87d6 (patch) | |
| tree | 83fecbee99dca103c3d9b371e3daced47208fa1e | |
| parent | 65d5ebdf4c824bef68816a651c51d73d4c623413 (diff) | |
| download | emacs-bf006d59e665e1289c8b4fd4fb519d478b5d87d6.tar.gz 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
| -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]+\\)\\)?" | |||
| 477 | ;; | 477 | ;; |
| 478 | "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) " | 478 | "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) " |
| 479 | 1 2 3) | 479 | 1 2 3) |
| 480 | (guile-file "^In \\(.+\\):\n" 1) | 480 | |
| 481 | ;; Guile compilation yields file-headers in the following format: | ||
| 482 | ;; | ||
| 483 | ;; In sourcefile.scm: | ||
| 484 | ;; | ||
| 485 | ;; We need to catch those, but we also need to be aware that Emacs | ||
| 486 | ;; byte-compilation yields compiler headers in similar form of | ||
| 487 | ;; those: | ||
| 488 | ;; | ||
| 489 | ;; In toplevel form: | ||
| 490 | ;; In end of data: | ||
| 491 | ;; | ||
| 492 | ;; We want to catch the Guile file-headers but not the Emacs | ||
| 493 | ;; byte-compilation headers, because that will cause next-error | ||
| 494 | ;; and prev-error to break, because the files "toplevel form" and | ||
| 495 | ;; "end of data" does not exist. | ||
| 496 | ;; | ||
| 497 | ;; To differentiate between these two cases, we require that the | ||
| 498 | ;; file-match must always contain an extension. | ||
| 499 | ;; | ||
| 500 | ;; We should also only treat this as "info", not "error", because | ||
| 501 | ;; we do not know what lines will follow. | ||
| 502 | (guile-file "^In \\(.+\\..+\\):\n" 1 nil nil 0) | ||
| 481 | (guile-line "^ *\\([0-9]+\\): *\\([0-9]+\\)" nil 1 2) | 503 | (guile-line "^ *\\([0-9]+\\): *\\([0-9]+\\)" nil 1 2) |
| 482 | ) | 504 | ) |
| 483 | "Alist of values for `compilation-error-regexp-alist'.") | 505 | "Alist of values for `compilation-error-regexp-alist'.") |