the Unix command `tty') or nil for XEmacs' standard input
and output (usually the TTY in which XEmacs started). Only
if support for TTY's was compiled into XEmacs.
+gtk A GTK device.
ns A connection to a machine running the NeXTstep windowing
system. Not currently implemented.
mswindows A connection to a machine running Microsoft Windows NT or
(setq iconification-data (cdr iconification-data))))
(defun suspend-or-iconify-emacs ()
- "Call iconify-emacs if using a window system, otherwise call suspend-emacs."
+ "Call iconify-emacs if using a window system, otherwise suspend Emacs."
(interactive)
(cond ((device-on-window-system-p)
(iconify-emacs))
;; The pre-display-buffer-function is called for effect, so this needs to
;; actually select the frame it wants. Fdisplay_buffer() takes notice of
;; changes to the selected frame.
-(defun get-frame-for-buffer (buffer &optional not-this-window-p on-frame)
+(defun get-frame-for-buffer (buffer &optional not-this-window-p on-frame
+ shrink-to-fit)
"Select and return a frame in which to display BUFFER.
Normally, the buffer will simply be displayed in the selected frame.
But if the symbol naming the major-mode of the buffer has a 'frame-name
first time.
This function may be used as the value of `pre-display-buffer-function',
-to cause the display-buffer function and its callers to exhibit the above
-behavior."
+to cause the `display-buffer' function and its callers to exhibit the
+above behavior."
(let ((frame (get-frame-for-buffer-noselect
buffer not-this-window-p on-frame)))
(if (not (eq frame (selected-frame)))
:group 'frames)
(defun show-temp-buffer-in-current-frame (buffer)
- "For use as the value of temp-buffer-show-function:
+ "For use as the value of `temp-buffer-show-function':
always displays the buffer in the selected frame, regardless of the behavior
that would otherwise be introduced by the `pre-display-buffer-function', which
is normally set to `get-frame-for-buffer' (which see)."
(let ((pre-display-buffer-function nil)) ; turn it off, whatever it is
- (let ((window (display-buffer buffer)))
+ (let ((window (display-buffer buffer nil nil temp-buffer-shrink-to-fit)))
(if (not (eq (last-nonminibuf-frame) (window-frame window)))
;; only the pre-display-buffer-function should ever do this.
(error "display-buffer switched frames on its own!!"))
(setq minibuffer-scroll-window window)
(set-window-start window 1) ; obeys narrowing
(set-window-point window 1)
- (when temp-buffer-shrink-to-fit
- (let* ((temp-window-size (round (* temp-buffer-max-height
- (frame-height (window-frame window)))))
- (size (window-displayed-height window)))
- (when (< size temp-window-size)
- (enlarge-window (- temp-window-size size) nil window)))
- (shrink-window-if-larger-than-buffer window))
nil)))
(setq pre-display-buffer-function 'get-frame-for-buffer)