diff lisp/progmodes/compile.el @ 16042:18414e324084

(compilation-finish-functions): New variable. (compilation-handle-exit): Run compilation-finish-functions.
author Richard M. Stallman <rms@gnu.org>
date Sun, 01 Sep 1996 20:23:30 +0000
parents 01518892abad
children 39556b6d7c6e
line wrap: on
line diff
--- a/lisp/progmodes/compile.el	Sun Sep 01 19:52:14 1996 +0000
+++ b/lisp/progmodes/compile.el	Sun Sep 01 20:23:30 1996 +0000
@@ -80,6 +80,12 @@
 It is called with two arguments: the compilation buffer, and a string
 describing how the process finished.")
 
+;;;###autoload
+(defvar compilation-finish-functions nil
+  "*Functions to call when a compilation process finishes.
+Each function is called with two arguments: the compilation buffer,
+and a string describing how the process finished.")
+
 (defvar compilation-last-buffer nil
   "The most recent compilation buffer.
 A buffer becomes most recent when its compilation is started
@@ -613,7 +619,11 @@
     (if (and opoint (< opoint omax))
 	(goto-char opoint))
     (if compilation-finish-function
-	(funcall compilation-finish-function (current-buffer) msg))))
+	(funcall compilation-finish-function (current-buffer) msg))
+    (let ((functions compilation-finish-functions))
+      (while functions
+	(funcall (car functions) (current-buffer) msg)
+	(setq functions (cdr functions))))))
 
 ;; Called when compilation process changes state.
 (defun compilation-sentinel (proc msg)