]> git.eshelyaron.com Git - emacs.git/commitdiff
(pp-eval-expression): Update use of temp-buffer-show-function.
authorRichard M. Stallman <rms@gnu.org>
Sun, 7 May 1995 00:38:42 +0000 (00:38 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 7 May 1995 00:38:42 +0000 (00:38 +0000)
lisp/emacs-lisp/pp.el

index a7dfefb3ba3811a6521ab9013274c84b36ae54d9..d6327d9a7e1a6089d7942274ebfbee5934926cb4 100644 (file)
@@ -103,13 +103,11 @@ instead.  Value is also consed on to front of variable  values 's
 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 @@ value."
               (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