changeset 63815:015343385a78

(compilation-next-error-function): Don't switch buffers; operate on the current buffer.
author Richard M. Stallman <rms@gnu.org>
date Tue, 28 Jun 2005 18:57:00 +0000
parents db398a23f0d0
children af4dc212b013
files lisp/progmodes/compile.el
diffstat 1 files changed, 45 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/compile.el	Tue Jun 28 18:55:48 2005 +0000
+++ b/lisp/progmodes/compile.el	Tue Jun 28 18:57:00 2005 +0000
@@ -493,25 +493,60 @@
 ;; backward-compatibility alias
 (put 'compilation-info-face 'face-alias 'compilation-info)
 
+(defface compilation-error-file-name
+  '((default :inherit font-lock-warning-face)
+    (((supports :underline t)) :underline t))
+  "Face for displaying file names in compilation errors."
+  :group 'font-lock-highlighting-faces
+  :version "22.1")
+
+(defface compilation-warning-file-name
+  '((default :inherit font-lock-warning-face)
+    (((supports :underline t)) :underline t))
+  "Face for displaying file names in compilation errors."
+  :group 'font-lock-highlighting-faces
+  :version "22.1")
+
+(defface compilation-info-file-name
+  '((default :inherit compilation-info)
+    (((supports :underline t)) :underline t))
+  "Face for displaying file names in compilation errors."
+  :group 'font-lock-highlighting-faces
+  :version "22.1")
+
+(defface compilation-line-number
+  '((default :inherit font-lock-variable-name-face)
+    (((supports :underline t)) :underline t))
+  "Face for displaying file names in compilation errors."
+  :group 'font-lock-highlighting-faces
+  :version "22.1")
+
+(defface compilation-column-number
+  '((default :inherit font-lock-type-face)
+    (((supports :underline t)) :underline t))
+  "Face for displaying file names in compilation errors."
+  :group 'font-lock-highlighting-faces
+  :version "22.1")
+
 (defvar compilation-message-face nil
   "Face name to use for whole messages.
 Faces `compilation-error-face', `compilation-warning-face',
 `compilation-info-face', `compilation-line-face' and
 `compilation-column-face' get prepended to this, when applicable.")
 
-(defvar compilation-error-face 'font-lock-warning-face
+(defvar compilation-error-face 'compilation-error-file-name
   "Face name to use for file name in error messages.")
 
-(defvar compilation-warning-face 'compilation-warning
+(defvar compilation-warning-face 'compilation-warning-file-name
   "Face name to use for file name in warning messages.")
 
-(defvar compilation-info-face 'compilation-info
+(defvar compilation-info-face 'compilation-info-file-name
   "Face name to use for file name in informational messages.")
 
-(defvar compilation-line-face 'font-lock-variable-name-face
+(defvar compilation-line-face 'compilation-line-number
   "Face name to use for line number in message.")
 
-(defvar compilation-column-face 'font-lock-type-face
+(defvar compilation-column-face 'compilation-column-number
   "Face name to use for column number in message.")
 
 ;; same faces as dired uses
@@ -1342,8 +1377,9 @@
     (force-mode-line-update)
     (if (and opoint (< opoint omax))
 	(goto-char opoint))
-    (if compilation-finish-function
-	(funcall compilation-finish-function (current-buffer) msg))
+    (with-no-warnings
+      (if compilation-finish-function
+	  (funcall compilation-finish-function (current-buffer) msg)))
     (let ((functions compilation-finish-functions))
       (while functions
 	(funcall (car functions) (current-buffer) msg)
@@ -1501,8 +1537,9 @@
 
 ;;;###autoload
 (defun compilation-next-error-function (n &optional reset)
+  "Advance to the next error message and visit the file where the error was.
+This is the value of `next-error-function' in Compilation buffers."
   (interactive "p")
-  (set-buffer (compilation-find-buffer))
   (when reset
     (setq compilation-current-error nil))
   (let* ((columns compilation-error-screen-columns) ; buffer's local value