diff lisp/simple.el @ 259:11cf20601dec r20-5b28

Import from CVS: tag r20-5b28
author cvs
date Mon, 13 Aug 2007 10:23:02 +0200
parents 157b30c96d03
children 8efd647ea9ca
line wrap: on
line diff
--- a/lisp/simple.el	Mon Aug 13 10:22:10 2007 +0200
+++ b/lisp/simple.el	Mon Aug 13 10:23:02 2007 +0200
@@ -3880,7 +3880,19 @@
 	      (not (eq (marker-buffer warning-marker) buffer)))
       (setq warning-marker (make-marker))
       (set-marker warning-marker 1 buffer))
-    (set-window-start (display-buffer buffer) warning-marker)
+    (if temp-buffer-show-function
+        (let ((show-buffer (get-buffer-create "*Warnings-Show*")))
+          (save-excursion
+            (set-buffer show-buffer)
+            (setq buffer-read-only nil)
+            (erase-buffer))
+          (save-excursion
+            (set-buffer buffer)
+            (copy-to-buffer show-buffer
+                            (marker-position warning-marker)
+                            (point-max)))
+          (funcall temp-buffer-show-function show-buffer))
+      (set-window-start (display-buffer buffer) warning-marker))
     (set-marker warning-marker (point-max buffer) buffer)))
 
 (defun emacs-name ()