;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:21:17 2007 ;;; from file /home/cyd/emacs/lisp/window.el ;;; in Emacs version 22.0.99 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`window.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@400 *Non-nil in a buffer means windows displaying the buffer are fixed-size. If the value is `height', then only the window's height is fixed. If the value is `width', then only the window's width is fixed. Any other non-nil value fixes both the width and the height. Emacs won't change the size of any window displaying that buffer, unless you explicitly change the size, or Emacs has no other choice. (defvar window-size-fixed nil (#$ . -560)) (make-variable-buffer-local 'window-size-fixed) #@653 Execute BODY, then select the window that was selected before BODY. The value returned is the value of the last form in BODY. This macro saves and restores the current buffer, since otherwise its normal operation could potentially make a different buffer current. It does not alter the buffer list ordering. This macro saves and restores the selected window, as well as the selected window in each frame. If the previously selected window of some frame is no longer live at the end of BODY, that frame's selected window is left alone. If the selected window is no longer live, then whatever window is selected at the end of BODY remains selected. (defalias 'save-selected-window '(macro . #[(&rest body) "\301\302\303\304\305B\306BBDE\207" [body let ((save-selected-window-window (selected-window)) (save-selected-window-alist (mapcar (lambda (frame) (list frame (frame-selected-window frame))) (frame-list)))) save-current-buffer unwind-protect progn ((dolist (elt save-selected-window-alist) (and (frame-live-p (car elt)) (window-live-p (cadr elt)) (set-frame-selected-window (car elt) (cadr elt)))) (if (window-live-p save-selected-window-window) (select-window save-selected-window-window)))] 6 (#$ . 1057)])) #@139 Return number of lines in window WINDOW for actual buffer text. This does not include the mode line (if any) or the header line (if any). (defalias 'window-body-height #[(&optional window) "\204\303 \304!\203\305!\207r\306!q\210\307\305! \203#\307\202$\310Z\n\203-\307\202.\310Z])\207" [window mode-line-format header-line-format selected-window window-minibuffer-p window-height window-buffer 1 0] 3 (#$ . 2284)]) #@582 Return non-nil if the selected window is the only window. Optional arg NOMINI non-nil means don't count the minibuffer even if it is active. Otherwise, the minibuffer is counted when 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). ALL-FRAMES 0 means count all windows in all visible or iconified frames. If ALL-FRAMES is anything else, count only the selected frame. (defalias 'one-window-p #[(&optional nomini all-frames) "\303  \203\304 =\203\305!\305 \205\306\n#)=\207" [base-window nomini all-frames selected-window minibuffer-window next-window arg] 5 (#$ . 2720)]) #@294 Return the current scroll-bar settings in window WINDOW. Value is a cons (VERTICAL . HORIZONTAL) where VERTICAL specifies the current location of the vertical scroll-bars (left, right, or nil), and HORIZONTAL specifies the current location of the horizontal scroll bars (top, bottom, or nil). (defalias 'window-current-scroll-bars #[(&optional window) "\304\305!8\306\211\307=\204 \307=\2032\310\311\206\312 !!\n\307=\203( @ \307=\2031 A)\n *B\207" [window hor vert fcsb 2 window-scroll-bars nil t frame-current-scroll-bars window-frame selected-window] 4 (#$ . 3524)]) #@1174 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, if you are using a separate minibuffer frame and the minibuffer is active and MINIBUF says it counts, `walk-windows' includes the windows in the frame from which you entered the minibuffer, as well as the minibuffer window. 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. If ALL-FRAMES is a frame, it means include windows on that frame. Anything else means restrict to the selected frame. (defalias 'walk-windows #[(proc &optional minibuf all-frames) "\306\307 !\203 \310\307 \311\312\313 \"r\314\216\315 !\203!\316\317 !!\210\320\307 \321  #\211\f>?\205? \fB !\210\202&.\207" [minibuf save-selected-window-alist save-selected-window-window all-frames walk-windows-already-seen walk-windows-current window-minibuffer-p selected-window t mapcar #[(frame) "\301!D\207" [frame frame-selected-window] 3] frame-list ((byte-code "\305\211\203/\n@\306 @!\203(\307 \211A@)!\203(\310 @ \211A@)\"\210\nA\211\204*\307\f!\203:\311\f!\210\305\207" [save-selected-window-alist elt #1=#:--cl-dolist-temp-- x save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window select-window] 4)) framep select-window frame-first-window nil next-window proc] 5 (#$ . 4116)]) #@1390 Return a window satisfying PREDICATE. This function cycles through all visible windows using `walk-windows', calling PREDICATE on each one. PREDICATE is called with a window as argument. The first window for which PREDICATE returns a non-nil value is returned. If no window satisfies PREDICATE, DEFAULT is returned. 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, if you are using a separate minibuffer frame and the minibuffer is active and MINIBUF says it counts, `walk-windows' includes the windows in the frame from which you entered the minibuffer, as well as the minibuffer window. 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. If ALL-FRAMES is a frame, it means include windows on that frame. Anything else means restrict to the selected frame. (defalias 'get-window-with-predicate #[(predicate &optional minibuf all-frames default) "\300\301\215\207" [found (byte-code "\303\304 #\210\n\207" [minibuf all-frames default walk-windows #[(window) " !\205\n\302\303 \"\207" [predicate window throw found] 3]] 4)] 2 (#$ . 6113)]) (defalias 'some-window 'get-window-with-predicate) #@161 Return list of all windows displaying BUFFER, or nil if none. BUFFER can be a buffer or a buffer name. See `walk-windows' for the meaning of MINIBUF and FRAME. (defalias 'get-buffer-window-list #[(buffer &optional minibuf frame) "\304!\203\n\202 \305!\306\307\310\n #\210 *\207" [buffer windows minibuf frame bufferp get-buffer nil walk-windows #[(window) "\303! =\205 \nB\211\207" [window buffer windows window-buffer] 2]] 4 (#$ . 7844)]) #@57 Return t if WINDOW (a minibuffer window) is now active. (defalias 'minibuffer-window-active-p #[(window) "\301 =\207" [window active-minibuffer-window] 2 (#$ . 8301)]) #@263 Return the number of visible windows. This counts the windows in the selected frame and (if the minibuffer is to be counted) its minibuffer frame (if that's not the same frame). The optional arg MINIBUF non-nil means count the minibuffer even if it is inactive. (defalias 'count-windows #[(&optional minibuf) "\302\303\304 \"\210)\207" [count minibuf 0 walk-windows #[(w) "T\211\207" [count] 2]] 3 (#$ . 8477)]) #@145 Non-nil if the WINDOW can be shrunk without shrinking other windows. If WINDOW is nil or omitted, it defaults to the currently selected window. (defalias 'window-safely-shrinkable-p #[(&optional window) "\304 \305\306\307 \"r\310\216\311\n\206\304 \312\"\210\313 \314 8\314\313\315 !8U\206. @\313\316 !@U-\207" [save-selected-window-alist save-selected-window-window window edges selected-window mapcar #[(frame) "\301!D\207" [frame frame-selected-window] 3] frame-list ((byte-code "\305\211\203/\n@\306 @!\203(\307 \211A@)!\203(\310 @ \211A@)\"\210\nA\211\204*\307\f!\203;\311\f\312\"\210\305\207" [save-selected-window-alist elt #1=#:--cl-dolist-temp-- x save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window select-window norecord] 4)) select-window norecord window-edges 2 previous-window next-window] 4 (#$ . 8900)]) #@298 Get a window split tree in our format. WINDOW-OR-FRAME must be nil, a frame, or a window. If it is nil, then the whole window split tree for `selected-frame' is returned. If it is a frame, then this is used instead. If it is a window, then the smallest tree containing that window is returned. (defalias 'bw-get-tree #[(&optional window-or-frame) "\203\302!\204\303!\204\304\305\"\210\306!\211\205& \250?\205&\307 !)\207" [window-or-frame subtree framep windowp error "Not a frame or window: %s" bw-find-tree-sub bw-get-tree-1] 4 (#$ . 9781)]) (defalias 'bw-get-tree-1 #[(split) "\304!\203\207@A@AA\303 \203\305\202\306B\307\310\n8B\311\312\n8B\313\nA@B\314\n@B\301\315\316 \"B\257+\207" [split childs edges dir windowp ver hor b 3 r 2 t l mapcar bw-get-tree-1] 9]) (defalias 'bw-find-tree-sub #[(window-or-frame &optional get-parent) "\305!\205\305 !\205\306 !\307\n!@\310\311\n\312\"GW\205. \203-\313 \f#\202. +\207" [window-or-frame window frame wt get-parent windowp window-frame window-tree 1 window-list 0 bw-find-tree-sub-1] 4]) (defalias 'bw-find-tree-sub-1 #[(tree win &optional get-parent) "\306!\204 \307\310\"\210 >\203\n\203\n\207 \207 AA\311\211 \203A \204A @ A\f\203!\f<\203!\312\f\n#\202! \250\203U \313U\203P \202V S\202V +\207" [win tree get-parent subtree child childs windowp error "Not a window: %s" nil bw-find-tree-sub-1 1] 4]) #@19 Left edge of OBJ. (defalias 'bw-l #[(obj) "\301!\203 \302!@\207\303\236A\207" [obj windowp window-edges l] 2 (#$ . 11207)]) #@18 Top edge of OBJ. (defalias 'bw-t #[(obj) "\301!\203\f\302!A@\207\303\236A\207" [obj windowp window-edges t] 2 (#$ . 11341)]) #@20 Right edge of OBJ. (defalias 'bw-r #[(obj) "\301!\203\f\302\303!8\207\304\236A\207" [obj windowp 2 window-edges r] 3 (#$ . 11476)]) #@21 Bottom edge of OBJ. (defalias 'bw-b #[(obj) "\301!\203\f\302\303!8\207\304\236A\207" [obj windowp 3 window-edges b] 3 (#$ . 11618)]) #@134 Return window split tree direction if OBJ. If OBJ is a window return 'both. If it is a window split tree then return its direction. (defalias 'bw-dir #[(obj) "9\203\207\302!\203\303\207\301\236A\211\304>\204\305\306\"\210 )\207" [obj dir windowp both (hor ver both) error "Can't find dir in %s"] 4 (#$ . 11762)]) #@239 Return t if window split tree directions are equal. OBJ1 and OBJ2 should be either windows or window split trees in our format. The directions returned by `bw-dir' are compared and t is returned if they are `eq' or one of them is 'both. (defalias 'bw-eqdir #[(obj1 obj2) "\304!\304 !\211\n=\206 \305=\206\n\305=*\207" [obj1 obj2 dir2 dir1 bw-dir both] 4 (#$ . 12095)]) #@53 Refresh the edge information of OBJ and return OBJ. (defalias 'bw-refresh-edges #[(obj) "\306!\204\225\305\236A\307\211\310\211\211\311\211\203c@\f\312!V\2030\312! \313!V\203>\313!\n\314!W\203L\314! \315!W\203Z\315!A\211\204*\316\317\"\316\320\"\316\321\"\316\322\"\323\300\317\fB\"\210\323\300\320 B\"\210\323\300\321\nB\"\210\323\300\322 B\"\210-\207" [obj ob or ot ol childs windowp 1000 -1 nil bw-l bw-t bw-r bw-b delq l t r b add-to-list o #1=#:--cl-dolist-temp--] 6 (#$ . 12478)]) #@282 Make windows the same heights or widths in window split subtrees. When called non-interactively WINDOW-OR-FRAME may be either a window or a frame. It then balances the windows on the implied frame. If the parameter is a window only the corresponding window subtree is balanced. (defalias 'balance-windows #[(&optional window-or-frame) "\306!\307\211\211\211\310\307\311\"\311\211\205_ \f\235?\205_ \203( \fB\312\313\n\"\314!\315=\203A\316!\317!Z\314!\320=\203T\321!\322!Z\323 #\210\202.\207" [window-or-frame counter windows last-sizes tried-sizes h bw-get-tree nil window-list 0 mapcar #[(w) "\301!\207" [w window-edges] 2] bw-dir hor bw-r bw-l ver bw-b bw-t bw-balance-sub w wt] 9 (#$ . 13028) nil]) #@138 Wrapper around `adjust-window-trailing-edge' with error checking. Arguments WINDOW, DELTA and HORIZONTAL are passed on to that function. (defalias 'bw-adjust-window #[(window delta horizontal) "\300\301\302\217\207" [err (adjust-window-trailing-edge window delta horizontal) ((error))] 3 (#$ . 13780)]) (defalias 'bw-balance-sub #[(wt w h) "\306! \204\307!\310!Z\n\204\311!\312!Z\313!\203Y \203= \307!\310!ZZ\211\314U\204<\315 \316#\210)\n\205\262\n\311!\312!ZZ\211\314U?\205W\315\f\317#)\207\305\236A\320 !@ \205w \321\322\"\203u G\202v\323\245\n\205\214\n\321\324\"\203\212 G\202\213\323\245 \317\211\203\257@\325#\210A\211\204\230.\317\207" [wt w h dw dh childs bw-refresh-edges bw-r bw-l bw-b bw-t windowp 0 bw-adjust-window t nil last bw-eqdir hor 1 ver bw-balance-sub lastchild cw ch c #1=#:--cl-dolist-temp--] 6]) #@415 *If non-nil, \[split-window-vertically] 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. This option applies only to `split-window-vertically' and functions that call it. `split-window' always keeps the original point in both children. (custom-declare-variable 'split-window-keep-point 't '(#$ . -14671) :type 'boolean :group 'windows) #@930 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. The upper window is the selected window. Otherwise, we choose 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. Regardless of the value of `split-window-keep-point', the upper window is the original one and the return value is the new, lower window. (defalias 'split-window-vertically #[(&optional arg) "\306 `\205\n\307!\310\211\211\211\211\203-\311W\203-\312 \\\313\310\"\204\220\212\314 q\210\315 b\210\316\312 !\317\f`\"\210`\320\f!V\203X\321\f`\"\210 \312 U\203e\322\316\323!\210`) \203y `X\203y\321 S\"\210 \203\220\315\f!X\203\220\321\f\"\210\324\f!\210\325\f\".\207" [arg moved switch bottom new-w window-full-p selected-window prefix-numeric-value nil 0 window-height split-window window-buffer window-start vertical-motion set-window-start window-point set-window-point t -1 select-window split-window-save-restore-data size old-point old-w split-window-keep-point] 8 (#$ . 15192) "P"]) (defalias 'split-window-save-restore-data #[(new-w old-w) "r\305 q\210\203 \n\236\211\203\f A@\306BB\nB)\f)\207" [view-mode old-w view-return-to-alist old-info new-w window-buffer t] 4]) #@477 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. The argument includes the width of the window's scroll bar; if there are no scroll bars, it includes the width of the divider column to the window's right, if any. No ARG means split equally. The original, leftmost window remains selected. The return value is the new, rightmost window. (defalias 'split-window-horizontally #[(&optional arg) "\303 \205 \304! \203 \305W\203\306 \\\307\310\311 \312#\n\"*\207" [arg size old-w selected-window prefix-numeric-value 0 window-width split-window-save-restore-data split-window nil t] 5 (#$ . 17017) "P"]) #@454 Sets the height in lines of the text display area of WINDOW to HEIGHT. This doesn't include the mode-line (or header-line if any) or any partial-height lines in the text display area. If WINDOW is nil, the selected window is used. Note that the current implementation of this function cannot always set the height exactly, but attempts to be conservative, by allocating more lines than are actually needed in the case where some error may be present. (defalias 'set-window-text-height #[(window height) "\306 !Z\307\n!?\2057\310^ \2033 \311 =\2043\311 \312\313\314 \"r\315\216\316 !\210\317\n!,\2026\317\n!))\207" [height window delta window-min-height save-selected-window-alist save-selected-window-window window-text-height zerop 2 selected-window mapcar #[(frame) "\301!D\207" [frame frame-selected-window] 3] frame-list ((byte-code "\305\211\203/\n@\306 @!\203(\307 \211A@)!\203(\310 @ \211A@)\"\210\nA\211\204*\307\f!\203:\311\f!\210\305\207" [save-selected-window-alist elt #1=#:--cl-dolist-temp-- x save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window select-window] 4)) select-window enlarge-window] 4 (#$ . 17773)]) #@40 Make current window ARG columns wider. (defalias 'enlarge-window-horizontally #[(arg) "\301\302\"\207" [arg enlarge-window t] 3 (#$ . 18964) "p"]) #@43 Make current window ARG columns narrower. (defalias 'shrink-window-horizontally #[(arg) "\301\302\"\207" [arg shrink-window t] 3 (#$ . 19118) "p"]) #@78 Return the height (in screen lines) of the buffer that WINDOW is displaying. (defalias 'window-buffer-height #[(window) "r\301!q\210\302\303edm$])\207" [window window-buffer 1 count-screen-lines] 6 (#$ . 19273)]) #@802 Return the number of screen lines in the region. The number of screen lines may be different from the number of actual lines, due to line breaking, display table, etc. Optional arguments BEG and END default to `point-min' and `point-max' respectively. If region ends with a newline, ignore it unless optional third argument COUNT-FINAL-NEWLINE is non-nil. The optional fourth argument WINDOW specifies the window used for obtaining parameters such as width, horizontal scrolling, and so on. The default is to use the selected window's parameters. Like `vertical-motion', `count-screen-lines' always uses the current buffer, regardless of which buffer is displayed in WINDOW. This makes possible to use `count-screen-lines' in any buffer, whether or not it is currently displayed in some window. (defalias 'count-screen-lines #[(&optional beg end count-final-newline window) "\204e \204\fd U\203\304\207\212\214~\210 ^\n\2040 ]Sf\305U\2030 ]S\2023 ]}\210eb\210\306\307 \"T*\207" [beg end count-final-newline window 0 10 vertical-motion buffer-size] 3 (#$ . 19495)]) #@489 Make WINDOW the right height to display its contents exactly. If WINDOW is omitted or nil, it defaults to the selected window. If the optional argument MAX-HEIGHT is supplied, it is the maximum height the window is allowed to be, defaulting to the frame height. If the optional argument MIN-HEIGHT is supplied, it is the minimum height the window is allowed to be, defaulting to `window-min-height'. The heights in MAX-HEIGHT and MIN-HEIGHT include the mode-line and/or header-line. (defalias 'fit-window-to-buffer #[(&optional window max-height min-height) "\204\306  \204\307\310!!\311!\303!r\nq\210\312 edU\203)\313\202*\314\\\315!\2049\f\2039\313\202:\314\\ \203C\313\202D\314\\)\211 ^\206R] Z\313r\nq\210m\205hn\205ho?)\203t\316\317!S\"\210\306 \320\321\322 \"r\323\216\324!\210\325!\204\222\326!\210r\nq\210\212db\210n\203\245o\204\245\327u\210 \203\255\314y\210`*!\330\314\"\210 W\205\334\303!U\205\334\331!\"?\205\334\326\313!\210T\211\202\270.\n\207" [window max-height buf window-height mode-line-format header-line-format selected-window frame-height window-frame window-buffer count-screen-lines 1 0 window-minibuffer-p set-window-point window-point mapcar #[(frame) "\301!D\207" [frame frame-selected-window] 3] frame-list ((byte-code "\305\211\203/\n@\306 @!\203(\307 \211A@)!\203(\310 @ \211A@)\"\210\nA\211\204*\307\f!\203:\311\f!\210\305\207" [save-selected-window-alist elt #1=#:--cl-dolist-temp-- x save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window select-window] 4)) select-window zerop enlarge-window -1 set-window-vscroll pos-visible-in-window-p desired-height min-height window-min-height delta save-selected-window-alist save-selected-window-window truncate-lines end] 5 (#$ . 20590) nil]) #@441 Shrink the WINDOW to be as small as possible to display its contents. If WINDOW is omitted or nil, it defaults to the selected window. 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 shrinking this window would also shrink another window, or if the window is the only window of its frame. (defalias 'shrink-window-if-larger-than-buffer #[(&optional window) "\204\305 \306!\307 \310\"\311!\312 !=?\205d\313 \205d\314e\"\205d\n\315=?\205d\n\203^\316 !\211?\206Z \306\f!=?\206Z\317 8\311\f!A@W\206Z A@\307 \320\"V)\205d\321\322!\"+\207" [window frame mini edges mini-window selected-window window-frame frame-parameter minibuffer window-edges frame-root-window window-safely-shrinkable-p pos-visible-in-window-p only minibuffer-window 3 menu-bar-lines fit-window-to-buffer window-height] 5 (#$ . 22433) nil]) #@57 Kill the current buffer and delete the selected window. (defalias 'kill-buffer-and-window #[nil "\303 p\304\305\216\306\307\310\211$\210\311p!\205\303 \n=\205\312 ,\207" [delete-window-hook buffer-to-kill window-to-delete selected-window #[nil "\300\301\302\217\207" [nil (delete-window) ((error))] 3] ((byte-code "\300\301\302\217\207" [nil (byte-code "rq\210\302\303 \304#\210)\302\207" [buffer-to-kill delete-window-hook remove-hook kill-buffer-hook t] 4) ((error))] 3)) add-hook kill-buffer-hook t kill-buffer delete-window] 5 (#$ . 23419) nil]) #@419 Quit the current buffer. Bury it, and maybe delete the selected frame. (The frame is deleted if it contains a dedicated window for the buffer.) With a prefix argument, kill the buffer instead. Noninteractively, if KILL is non-nil, then kill the current buffer, otherwise bury it. If WINDOW is non-nil, it specifies a window; we delete that window, and the buffer that is killed or buried is the one in that window. (defalias 'quit-window #[(&optional kill window) "\306!\307\206\n\310 !\310 \311\312\313 \"r\314\216\203\315!\210\316\317!,\320\310 \311\321\313 \"r\322\216\203=\315!\210\323 \204N\324\310 !\204N\325\326 !\210,\323 \204Z\324!\203\200\327 \330 \"\203\200\f\203\200 =\203z\331 G\332U\203z\320\202\200\333 !\210\317!\203\215\334!\210\202\222\335!\210\205\243 ?\205\243\f?\205\243\336!,\207" [window save-selected-window-alist save-selected-window-window window-handled window-solitary frame window-buffer window-frame selected-window mapcar #[#1=(frame) "\301!D\207" [frame frame-selected-window] 3] frame-list ((byte-code "\305\211\203/\n@\306 @!\203(\307 \211A@)!\203(\310 @ \211A@)\"\210\nA\211\204*\307\f!\203:\311\f!\210\305\207" [save-selected-window-alist elt #2=#:--cl-dolist-temp-- x save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window select-window] 4)) select-window one-window-p t nil #[#1# "\301!D\207" [frame frame-selected-window] 3] ((byte-code "\305\211\203/\n@\306 @!\203(\307 \211A@)!\203(\310 @ \211A@)\"\210\nA\211\204*\307\f!\203:\311\f!\210\305\207" [save-selected-window-alist elt #3=#:--cl-dolist-temp-- x save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window select-window] 4)) window-minibuffer-p window-dedicated-p switch-to-buffer other-buffer delq visible-frame-list minibuffer-frame-list 1 delete-frame kill-buffer bury-buffer delete-window buffer default-minibuffer-frame kill] 6 (#$ . 23985) "P"]) #@45 Timer used by delayed window autoselection. (defvar mouse-autoselect-window-timer nil (#$ . 25976)) #@63 Last mouse position recorded by delayed window autoselection. (defvar mouse-autoselect-window-position nil (#$ . 26082)) #@55 Last window recorded by delayed window autoselection. (defvar mouse-autoselect-window-window nil (#$ . 26209)) #@252 When non-nil, special state of delayed window autoselection. Possible values are `suspend' (suspend autoselection after a menu or scrollbar interaction) and `select' (the next invocation of 'handle-select-window' shall select the window immediately). (defvar mouse-autoselect-window-state nil (#$ . 26327)) #@92 Cancel delayed window autoselection. Optional argument FORCE means cancel unconditionally. (defalias 'mouse-autoselect-window-cancel #[(&optional force) "?\205. \306=\205.\307\n\211:\203$\310 8:\203\310\202\311 8\202*\312 `\313\314F)8\315>?\205B\316\317 !\203>\320 !\210\321\322\323\"\207" [force this-command last-input-event event mouse-autoselect-window-state mouse-autoselect-window-timer scroll-bar-toolkit-scroll 4 2 1 selected-window (0 . 0) 0 (handle end-scroll) nil timerp cancel-timer remove-hook pre-command-hook mouse-autoselect-window-cancel] 6 (#$ . 26640)]) #@274 Start delayed window autoselection. MOUSE-POSITION is the last position where the mouse was seen as returned by `mouse-position'. Optional argument WINDOW non-nil denotes the window where the mouse was seen. Optional argument SUSPEND non-nil means suspend autoselection. (defalias 'mouse-autoselect-window-start #[(mouse-position &optional window suspend) "\n\203\n\f\205 \304\306\307\n!\310\311#\211 \207" [mouse-position mouse-autoselect-window-position window mouse-autoselect-window-window suspend mouse-autoselect-window-state run-at-time abs nil mouse-autoselect-window-select mouse-autoselect-window mouse-autoselect-window-timer] 4 (#$ . 27233)]) #@256 Select window with delayed window autoselection. If the mouse position has stabilized in a non-selected window, select that window. The minibuffer window is selected iff the minibuffer is active. This function is run by `mouse-autoselect-window-timer'. (defalias 'mouse-autoselect-window-select #[nil "\300\301\302\217\207" [nil (byte-code "\300 \306\307\310\217\311 \204 \203!\312A \"\204!\313\306\314#\202\227\n\315=\203-\313!\202\227 \203w \316 =\204w \247\203O \317V\203I \f=\204O \232\203w\320 !\203\\ \321 =\203w\322\314!\210\320\316 !?\205\227\323\324 CDB\211\202\227 \203\202 \316 =\204\215 \247\203\215 \232\203\223\322\314!\202\227\313 \"*\207" [mouse-position window mouse-autoselect-window-state mouse-autoselect-window mouse-autoselect-window-window mouse-autoselect-window-position nil (byte-code "\302\211A@)\211AA)@#\207" [mouse-position x window-at] 5) ((error)) menu-or-popup-active-p coordinates-in-window-p mouse-autoselect-window-start t suspend selected-window 0 window-minibuffer-p active-minibuffer-window mouse-autoselect-window-cancel select select-window unread-command-events] 4) ((error))] 3 (#$ . 27906)]) #@30 Handle select-window events. (defalias 'handle-select-window #[(event) "\211:\203 \3058\202\306 `\307\310F)\310 8)\311\n!\205f\312\306 !?\205f\312\n!\2034\313\n!\205f \247\205U\314 !?\205U\f\315=?\205U\316\317!\210\320\321 \n\"\210\322\323\316\"?\205f\324 \203c\325\326!\210\327\n!)\207" [event position window mouse-autoselect-window mouse-autoselect-window-state 1 selected-window (0 . 0) 0 window-live-p window-minibuffer-p minibuffer-window-active-p zerop select mouse-autoselect-window-cancel t mouse-autoselect-window-start mouse-position add-hook pre-command-hook nil run-hooks mouse-leave-buffer-hook select-window] 5 (#$ . 29090) "e"]) (byte-code "\302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302 \317\320#\207" [ctl-x-map ctl-x-4-map define-key "2" split-window-vertically "3" split-window-horizontally "}" enlarge-window-horizontally "{" shrink-window-horizontally "-" shrink-window-if-larger-than-buffer "+" balance-windows "0" kill-buffer-and-window] 4)