;ELC ;;; compiled by kwzh@churchy.gnu.ai.mit.edu on Sun Jun 11 18:28:08 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/window.el ;;; emacs version 19.28.93.1. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.28.90"))) (error "`window.el' was compiled for Emacs 19.29 or later")) #@473 Returns non-nil if the selected window is the only window (in its frame). Optional arg NOMINI non-nil means don't count the minibuffer even if it is active. The optional arg ALL-FRAMES t means count windows on all frames. If it is `visible', count windows on all visible frames. ALL-FRAMES nil or omitted means count only the selected frame, plus the minibuffer it uses (which may be on another frame). If ALL-FRAMES is neither nil nor t, count only the selected frame. (defalias 'one-window-p #[(&optional nomini all-frames) "À \nƒ à =ƒÄ ! Ä \n…Å#)=‡" [selected-window base-window nomini minibuffer-window next-window arg all-frames] 5 (#$ . 479)]) #@1125 Cycle through all visible windows, calling PROC for each one. PROC is called with a window as argument. Optional second arg MINIBUF t means count the minibuffer window even if not active. MINIBUF nil or omitted means count the minibuffer iff it is active. MINIBUF neither t nor nil means not to count the minibuffer even if it is active. Several frames may share a single minibuffer; if the minibuffer counts, all windows on all frames that share that minibuffer count too. Therefore, when a separate minibuffer frame is active, `walk-windows' includes the windows in the frame from which you entered the minibuffer, as well as the minibuffer window. But if the minibuffer does not count, only windows from WINDOW's frame count. ALL-FRAMES is the optional third argument. ALL-FRAMES nil or omitted means cycle within the frames as specified above. ALL-FRAMES = `visible' means include windows on all visible frames. ALL-FRAMES = 0 means include windows on all visible and iconified frames. ALL-FRAMES = t means include windows on all frames including invisible frames. Anything else means restrict to WINDOW's frame. (defalias 'walk-windows #[(proc &optional minibuf all-frames) "ÀÁ !ƒ ÂÁ ‰Æ # !ˆ \f=?…$‚*‡" [window-minibuffer-p selected-window t minibuf walk-windows-start walk-windows-current next-window all-frames proc] 5 (#$ . 1149)]) #@57 Return t if WINDOW (a minibuffer window) is now active. (defalias 'minibuffer-window-active-p #[(window) "Á =‡" [window active-minibuffer-window] 2 (#$ . 2515)]) #@69 Execute BODY, then select the window that was selected before BODY. (defalias 'save-selected-window '(macro . #[(&rest body) "ÀÁÂÃ\fBÅÆDEE‡" [let ((save-selected-window-window (selected-window))) unwind-protect progn body select-window save-selected-window-window] 6 (#$ . 2684)])) #@124 Returns the number of visible windows. Optional arg NO-MINI non-nil means don't count the minibuffer even if it is active. (defalias 'count-windows #[(&optional minibuf) "ÀÂÃ\f\"ˆ )‡" [0 count walk-windows #[(w) "Á\\‰‡" [count 1] 2] minibuf] 3 (#$ . 2973)]) #@60 Makes all visible windows the same height (approximately). (defalias 'balance-windows #[nil "ÀÁ‰‰Æ‹ˆÇ ¥ÈÉÊ\"ˆÈËÊ\",‡" [-1 nil size newsizes levels count ((byte-code "ÀÁÄÅÆ\"ˆÇ È\"‰ƒ3 @\nTVƒ\" @ T @ B\nB\n A‰„ T *À‡" [nil -2 prev-top tops walk-windows #[(w) "À !A@\nB‰‡" [window-edges w tops] 2] nomini sort < count levels] 4)) frame-height walk-windows #[(w) "À !ˆÂ A@ žAÄ Â A@\\ žA†  Z_B B‰ *‡" [select-window w window-edges levels window-height count newbot newtop size newsizes] 4] nomini #[(w) "À !ˆ \nžAÄ Å Z!)‡" [select-window w newsizes newsize enlarge-window window-height] 3]] 4 (#$ . 3240) nil]) #@253 *If non-nil, split windows keeps the original point in both children. This is often more convenient for editing. If nil, adjust point in each of the two windows to minimize redisplay. This is convenient on slow terminals, but point can move strangely. (defvar split-window-keep-point t (#$ . -3892)) #@746 Split current window into two windows, one above the other. The uppermost window gets ARG lines and the other gets the rest. Negative arg means select the size of the lowermost window instead. With no argument, split equally or close to it. Both windows display the same buffer now current. If the variable split-window-keep-point is non-nil, both new windows will get the same value of point as the current window. This is often more convenient for editing. Otherwise, we chose window starts so as to minimize the amount of redisplay; this is convenient on slow terminals. The new selected window is the one that the current value of point appears in. The value of point can change if the text around point is hidden by the new mode line. (defalias 'split-window-vertically #[(&optional arg) "À ` …\n !ɉ ƒ*ÊWƒ*Ë \\ÌÃ\" „ƒŠÎ qˆÏ bˆÐË !ˆÑ`\"ˆ`Ò!VƒYÓ`\"ˆÐÔ!ˆ`) `XƒmÓ S\"ˆÏ!WƒƒÓ\"ˆÕ!ˆ.‡" [selected-window arg prefix-numeric-value nil switch bottom new-w size old-point old-w 0 window-height split-window split-window-keep-point window-buffer window-start vertical-motion set-window-start window-point set-window-point -1 select-window] 6 (#$ . 4199) "P"]) #@216 Split current window into two windows side by side. This window becomes the leftmost of the two, and gets ARG columns. Negative arg means select the size of the rightmost window instead. No arg means split equally. (defalias 'split-window-horizontally #[(&optional arg) "…Á!‰ƒ\nÃWƒÄ \n\\ÅÆ\nÇ#)‡" [arg prefix-numeric-value size 0 window-width split-window nil t] 5 (#$ . 5418) "P"]) #@40 Make current window ARG columns wider. (defalias 'enlarge-window-horizontally #[(arg) "À Â\"‡" [enlarge-window arg t] 3 (#$ . 5817) "p"]) #@43 Make current window ARG columns narrower. (defalias 'shrink-window-horizontally #[(arg) "À Â\"‡" [shrink-window arg t] 3 (#$ . 5961) "p"]) #@367 Shrink the WINDOW to be as small as possible to display its contents. Do not shrink to less than `window-min-height' lines. Do nothing if the buffer contains more lines than the present window height, or if some of the window's contents are scrolled out of view, or if the window is not the full width of the frame, or if the window is the only window of its frame. (defalias 'shrink-window-if-larger-than-buffer #[(&optional window) "„Á ŠÂ!qˆÁ \f`Æm?…!dSfÈ= Ê Ì  pÏÐ!!ÒžAÔÁ !Ö× ÙÐ!!ˆÚŽÛ *W…ÎÜ!ÝÐ!!U…ÎÞe\"…Îß=?…΃à8Ô!A@W„A@ážAV…ÎâŽã†˜ !ˆebˆÞd ƒ¨Ö‚©ÆZ!ƒ»ÊÈcˆT‚ÆV…ÍäSå &Z^!).\f‡" [window selected-window window-buffer w buffer-file-name p 0 n 10 ignore-final-newline nil buffer-read-only buffer-modified-p modified buffer frame-parameters window-frame params minibuffer mini window-edges edges 1 selected-frame frame select-frame ((select-frame frame)) count-windows window-width frame-width pos-visible-in-window-p only 3 menu-bar-lines ((byte-code "e`|ˆÀ !ˆ\nbˆÃ\f!ˆ q‡" [set-buffer-modified-p modified p select-window w buffer] 2)) select-window shrink-window window-height window-min-height] 4 (#$ . 6107) nil]) (byte-code "À ÂÃ#ˆÀ ÄÅ#ˆÀ ÆÇ#ˆÀ ÈÉ#ˆÀ ÊË#ˆÀ ÌÍ#‡" [define-key ctl-x-map "2" split-window-vertically "3" split-window-horizontally "}" enlarge-window-horizontally "{" shrink-window-horizontally "-" shrink-window-if-larger-than-buffer "+" balance-windows] 4)