X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fframe.el;h=d9c8b98ca467102c8d818124a633a6c6c742b36b;hb=74d381bf4f3710af34ee5cb728c15cfc19fa28bd;hp=1b98fe3b270db1ad47025899d765930a481fcd6e;hpb=6883ee56ec887c2c48abe5b06b5e66aa74031910;p=chise%2Fxemacs-chise.git.1 diff --git a/lisp/frame.el b/lisp/frame.el index 1b98fe3..d9c8b98 100644 --- a/lisp/frame.el +++ b/lisp/frame.el @@ -451,6 +451,7 @@ tty A standard TTY connection or terminal. CONNECTION should be 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 @@ -502,14 +503,14 @@ This deletes all bindings in PLIST for `top', `left', `width', Emacs uses this to avoid overriding explicit moves and resizings from the user during startup." (setq plist (canonicalize-lax-plist (copy-sequence plist))) - (mapcar #'(lambda (propname) - (if (lax-plist-member plist propname) + (mapcar #'(lambda (property) + (if (lax-plist-member plist property) (progn (setq frame-initial-geometry-arguments - (cons propname - (cons (lax-plist-get plist propname) + (cons property + (cons (lax-plist-get plist property) frame-initial-geometry-arguments))) - (setq plist (lax-plist-remprop plist propname))))) + (setq plist (lax-plist-remprop plist property))))) '(height width top left user-size user-position)) plist) @@ -571,8 +572,8 @@ This is equivalent to the type of the frame's device. Value is `tty' for a tty frame (a character-only terminal), `x' for a frame that is an X window, `ns' for a frame that is a NeXTstep window (not yet implemented), -`mswindows' for a frame that is a Windows NT or Windows 95/97 window, -`pc' for a frame that is a direct-write MS-DOS frame (not yet implemented), +`mswindows' for a frame that is a MS Windows desktop window, +`msprinter' for a frame that is a MS Windows print job, `stream' for a stream frame (which acts like a stdio stream), and `dead' for a deleted frame." (or frame (setq frame (selected-frame))) @@ -776,7 +777,7 @@ all frames that were visible, and iconify all frames that were not." (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)) @@ -1030,7 +1031,8 @@ This is a subroutine of `get-frame-for-buffer' (which see)." ;; 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 @@ -1055,8 +1057,8 @@ prepended to the `default-frame-plist' when creating a frame for the 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))) @@ -1104,25 +1106,18 @@ is first in the list. VISIBLE-ONLY will only list non-iconified frames." :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)