diff lisp/progmodes/compile.el @ 55990:c6610cef9b75

(compilation-set-window-height): Rearrange the save-* functions because a buffer can have several current point in different windows. (compilation-error-regexp-alist-alist): Recognize {standard input} GNU messages (for gcc --pipe) and more kinds of Oracle messages.
author Daniel Pfeiffer <occitan@esperanto.org>
date Tue, 08 Jun 2004 21:36:37 +0000
parents 5e730ddfd23a
children 0faa9af73cb1
line wrap: on
line diff
--- a/lisp/progmodes/compile.el	Tue Jun 08 21:34:18 2004 +0000
+++ b/lisp/progmodes/compile.el	Tue Jun 08 21:36:37 2004 +0000
@@ -210,7 +210,7 @@
 
     (gnu
      "^\\(?:[[:alpha:]][-[:alnum:].]+: ?\\)?\
-\\([/.]*[a-zA-Z]:?[^ \t\n:]*\\): ?\
+\\([/.]*[a-zA-Z]:?[^ \t\n:]*\\|{standard input}\\): ?\
 \\([0-9]+\\)\\([.:]?\\)\\([0-9]+\\)?\
 \\(?:-\\(?:\\([0-9]+\\)\\3\\)?\\.?\\([0-9]+\\)?\\)?:\
 \\(?: *\\(\\(?:Future\\|Runtime\\)?[Ww]arning\\|W:\\)\\|\
@@ -242,7 +242,9 @@
 : \\(?:error\\|warnin\\(g\\)\\) C[0-9]+:" 1 2 nil (3))
 
     (oracle
-     "^Semantic error at line \\([0-9]+\\), column \\([0-9]+\\), file \\(.*\\):$"
+     "^\\(?:Semantic error\\|Error\\|PCC-[0-9]+:\\).* line \\([0-9]+\\)\
+\\(?:\\(?:,\\| at\\)? column \\([0-9]+\\)\\)?\
+\\(?:,\\| in\\| of\\)? file \\(.*?\\):?$"
      3 1 2)
 
     (perl
@@ -988,13 +990,11 @@
 	 ;; If window is alone in its frame, aside from a minibuffer,
 	 ;; don't change its height.
 	 (not (eq window (frame-root-window (window-frame window))))
-	 ;; This save-current-buffer prevents us from changing the current
-	 ;; buffer, which might not be the same as the selected window's buffer.
-	 (save-current-buffer
+	 ;; Stef said that doing the saves in this order is safer:
+	 (save-excursion
 	   (save-selected-window
-	     (save-excursion
-	       (select-window window)
-	       (enlarge-window (- height (window-height)))))))))
+	     (select-window window)
+	     (enlarge-window (- height (window-height))))))))
 
 (defvar compilation-menu-map
   (let ((map (make-sparse-keymap "Errors")))