changeset 11730:084c36d46615

(pp-eval-expression): Update use of temp-buffer-show-function.
author Richard M. Stallman <rms@gnu.org>
date Sun, 07 May 1995 00:38:42 +0000
parents 230cc184d96b
children b8d3aea195cd
files lisp/emacs-lisp/pp.el
diffstat 1 files changed, 15 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/pp.el	Sat May 06 23:08:47 1995 +0000
+++ b/lisp/emacs-lisp/pp.el	Sun May 07 00:38:42 1995 +0000
@@ -103,13 +103,11 @@
 value."
   (interactive "xPp-eval: ")
   (setq values (cons (eval expression) values))
-  (let* ((old-show-hook
-	  (or (let ((sym (if (> (string-to-int emacs-version) 18)
-			     'temp-buffer-show-function
-			   'temp-buffer-show-hook)))
-		(and (boundp 'sym) (symbol-value sym)))
-	      'display-buffer))
-	 (temp-buffer-show-hook
+  (let* ((old-show-function temp-buffer-show-function)
+	 ;; Use this function to display the buffer.
+	 ;; This function either decides not to display it at all
+	 ;; or displays it in the usual way.
+	 (temp-buffer-show-function
 	  (function
 	   (lambda (buf)
 	     (save-excursion
@@ -118,13 +116,18 @@
 	       (end-of-line 1)
 	       (if (or (< (1+ (point)) (point-max))
 		       (>= (- (point) (point-min)) (screen-width)))
-		   (progn
+		   (let ((temp-buffer-show-function old-show-function)
+			 (old-selected (selected-window))
+			 (window (display-buffer buf)))
 		     (goto-char (point-min)) ; expected by some hooks ...
-		     (funcall old-show-hook buf))
+		     (make-frame-visible (window-frame window))
+		     (unwind-protect
+			 (progn
+			   (select-window window)
+			   (run-hooks 'temp-buffer-show-hook))
+		       (select-window old-selected)))
 		 (message "%s" (buffer-substring (point-min) (point)))
-		 (delete-windows-on buf) ; no need to kill it
-		 )))))
-	 (temp-buffer-show-function temp-buffer-show-hook)) ; emacs19 name
+		 ))))))
     (with-output-to-temp-buffer "*Pp Eval Output*"
       (pp (car values)))
     (save-excursion