;ELC   
;;; Compiled by rms@psilocin.gnu.org on Sun Mar  8 18:42:23 1998
;;; from file /gd/gnu/emacs/lisp/buff-menu.el
;;; in Emacs version 20.2.89.6
;;; with bytecomp version 2.38
;;; with all optimizations.
;;; This file uses opcodes which do not exist in Emacs 18.

(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 "`buff-menu.el' was compiled for Emacs 19.29 or later"))


(byte-code "\302\300!\204 \303\300	B\303\207" [Buffer-menu-buffer-column current-load-list boundp nil] 2)
#@2 
(defvar Buffer-menu-mode-map nil (#$ . 641))
(byte-code "\204\264 \301 \302\303\"\210\304\305\306#\210\304\307\310#\210\304\311\312#\210\304\313\314#\210\304\315\316#\210\304\317\316#\210\304\320\316#\210\304\321\322#\210\304\323\324#\210\304\325\326#\210\304\327\330#\210\304\331\330#\210\304\332\333#\210\304\334\330#\210\304\335\336#\210\304\337\340#\210\304\341\340#\210\304\342\343#\210\304\344\345#\210\304\346\347#\210\304\350\351#\210\304\352\353#\210\304\354\355#\210\304\356\357#\210\304\360\361#\210\304\362\363#\210\304\364\365#\210\304\366\367#\210\370\371\372\373#\207" [Buffer-menu-mode-map make-keymap suppress-keymap t define-key "q" quit-window "v" Buffer-menu-select "2" Buffer-menu-2-window "1" Buffer-menu-1-window "f" Buffer-menu-this-window "e" "" "o" Buffer-menu-other-window "" Buffer-menu-switch-other-window "s" Buffer-menu-save "d" Buffer-menu-delete "k" "" Buffer-menu-delete-backwards "" "x" Buffer-menu-execute " " next-line "n" "p" previous-line "" Buffer-menu-backup-unmark "~" Buffer-menu-not-modified "?" describe-mode "u" Buffer-menu-unmark "m" Buffer-menu-mark "t" Buffer-menu-visit-tags-table "%" Buffer-menu-toggle-read-only "b" Buffer-menu-bury "g" Buffer-menu-revert [mouse-2] Buffer-menu-mouse-select put Buffer-menu-mode mode-class special] 4)
#@1719 Major mode for editing a list of buffers.
Each line describes one of the buffers in Emacs.
Letters do not insert themselves; instead, they are commands.
\<Buffer-menu-mode-map>
\[Buffer-menu-mouse-select] -- select buffer you click on, in place of the buffer menu.
\[Buffer-menu-this-window] -- select current line's buffer in place of the buffer menu.
\[Buffer-menu-other-window] -- select that buffer in another window,
  so the buffer menu buffer remains visible in its window.
\[Buffer-menu-switch-other-window] -- make another window display that buffer.
\[Buffer-menu-mark] -- mark current line's buffer to be displayed.
\[Buffer-menu-select] -- select current line's buffer.
  Also show buffers marked with m, in other windows.
\[Buffer-menu-1-window] -- select that buffer in full-frame window.
\[Buffer-menu-2-window] -- select that buffer in one window,
  together with buffer selected before this one in another window.
\[Buffer-menu-visit-tags-table] -- visit-tags-table this buffer.
\[Buffer-menu-not-modified] -- clear modified-flag on that buffer.
\[Buffer-menu-save] -- mark that buffer to be saved, and move down.
\[Buffer-menu-delete] -- mark that buffer to be deleted, and move down.
\[Buffer-menu-delete-backwards] -- mark that buffer to be deleted, and move up.
\[Buffer-menu-execute] -- delete or save marked buffers.
\[Buffer-menu-unmark] -- remove all kinds of marks from current line.
  With prefix argument, also move up one line.
\[Buffer-menu-backup-unmark] -- back up a line and remove marks.
\[Buffer-menu-toggle-read-only] -- toggle read-only status of buffer on this line.
\[Buffer-menu-revert] -- update the list of buffers.
\[Buffer-menu-bury] -- bury the buffer listed on this line.
(defalias 'Buffer-menu-mode #[nil "\306 \210\307!\210\310\311\312\303!\210\313\314\314\315\316!\207" [Buffer-menu-mode-map major-mode mode-name revert-buffer-function truncate-lines buffer-read-only kill-all-local-variables use-local-map Buffer-menu-mode "Buffer Menu" make-local-variable Buffer-menu-revert-function t run-hooks buffer-menu-mode-hook] 2 (#$ . 1973)])
#@29 Update the list of buffers.
(defalias 'Buffer-menu-revert #[nil "\300 \207" [revert-buffer] 1 (#$ . 4071) nil])
(defalias 'Buffer-menu-revert-function #[(ignore1 ignore2) "\300 \207" [list-buffers] 1])
#@54 Return buffer described by this line of buffer menu.
(defalias 'Buffer-menu-buffer #[(error-if-non-existent-p) "\212\304y\210`\\)m?\205 \305	\306\"\211\203( \307\n!\206/ \205/ \310\311\n\"\202/ \205/ \310\312!*\207" [Buffer-menu-buffer-column where name error-if-non-existent-p 0 get-text-property buffer-name get-buffer error "No buffer named `%s'" "No buffer on this line"] 4 (#$ . 4279)])
#@233 Make a menu of buffers so you can save, delete or select them.
With argument, show only buffers that are visiting files.
Type ? after invocation to get help on commands available.
Type q immediately to make the buffer menu go away.
(defalias 'buffer-menu #[(&optional arg) "\301\302!!\210\303\304!\207" [arg switch-to-buffer list-buffers-noselect message "Commands: d, s, x, u; f, o, 1, 2, m, v; ~, %%; q to quit; ? for help."] 3 (#$ . 4684) "P"])
#@288 Display a list of buffers in another window.
With the buffer list buffer, you can save, delete or select the buffers.
With argument, show only buffers that are visiting files.
Type ? after invocation to get help on commands available.
Type q immediately to make the buffer menu go away.
(defalias 'buffer-menu-other-window #[(&optional arg) "\301\302!!\210\303\304!\207" [arg switch-to-buffer-other-window list-buffers-noselect message "Commands: d, s, x, u; f, o, 1, 2, m, v; ~, %%; q to quit; ? for help."] 3 (#$ . 5140) "P"])
#@103 Mark buffer on this line for being displayed by \<Buffer-menu-mode-map>\[Buffer-menu-select] command.
(defalias 'Buffer-menu-mark #[nil "\301y\210\302\303!\203\f \304 \207\305\306\307!\210\310c\210\307y)\207" [buffer-read-only 0 looking-at " [-M]" ding nil delete-char 1 62] 2 (#$ . 5677) nil])
#@99 Cancel all requested operations on buffer on this line and move down.
Optional ARG means move up.
(defalias 'Buffer-menu-unmark #[(&optional backup) "\305y\210\306\307!\203 \310 \210\202@ \311\312!\313!\212q\210\n)\314\315\316!\210\2034 	\2030 \317\202= \320\202= 	\203< \321\202= \322c\210,\f\203H \323\202I \324y\207" [buf mod buffer-read-only readonly backup 0 looking-at " [-M]" ding Buffer-menu-buffer t buffer-modified-p nil delete-char 3 " *%" "  %" " * " "   " -1 1] 2 (#$ . 5979) "P"])
#@70 Move up and cancel all requested operations on buffer on line above.
(defalias 'Buffer-menu-backup-unmark #[nil "\300y\210\301 \210\300y\207" [-1 Buffer-menu-unmark] 1 (#$ . 6488) nil])
#@177 Mark buffer on this line to be deleted by \<Buffer-menu-mode-map>\[Buffer-menu-execute] command.
Prefix arg is how many buffers to delete.
Negative arg means delete backwards.
(defalias 'Buffer-menu-delete #[(&optional arg) "\302y\210\303\304!\203\f \305 \207\306	\203 	\302U\203 \307	\302V\2031 \310\307!\210\311c\210\307y\210	S\211\202 	\302W\205H \310\307!\210\311c\210\312y\210	T\211\2022 )\207" [buffer-read-only arg 0 looking-at " [-M]" ding nil 1 delete-char 68 -1] 3 (#$ . 6681) "p"])
#@164 Mark buffer on this line to be deleted by \<Buffer-menu-mode-map>\[Buffer-menu-execute] command
and then move up one line.  Prefix arg means move that many lines.
(defalias 'Buffer-menu-delete-backwards #[(&optional arg) "\301\206 \302[!\210\303\304!\205 \302y\210\202	 \207" [arg Buffer-menu-delete 1 looking-at " [-M]"] 2 (#$ . 7188) "p"])
#@96 Mark buffer on this line to be saved by \<Buffer-menu-mode-map>\[Buffer-menu-execute] command.
(defalias 'Buffer-menu-save #[nil "\301y\210\302\303!\203\f \304 \207\305\306u\210\307\306!\210\310c\210\306y)\207" [buffer-read-only 0 looking-at " [-M]" ding nil 1 delete-char 83] 2 (#$ . 7539) nil])
#@62 Mark buffer on this line as unmodified (no changes to save).
(defalias 'Buffer-menu-not-modified #[(&optional arg) "\212\302\303!q\210\304!\210)\212\305y\210\306u\210`f\203 \307\202 \310U\2052 \311\312\306!\210\203/ \310\2020 \307c))\207" [arg buffer-read-only Buffer-menu-buffer t set-buffer-modified-p 0 1 32 42 nil delete-char] 2 (#$ . 7843) "P"])
#@141 Save and/or delete buffers marked with \<Buffer-menu-mode-map>\[Buffer-menu-save] or \<Buffer-menu-mode-map>\[Buffer-menu-delete] commands.
(defalias 'Buffer-menu-execute #[nil "\212eb\210\304y\210\305\306\307\310#\2033 \307\212\311\310!q\210\312 \210\313 )\307\314\315!\210\203, \316\202- \317c\210*\202 )\212eb\210\304y\210p\307\320\321\307\310#\205~ \315u\210\311\307!\211\307=\204` \n=\204` \212\322!\210))\311\307!\203q \314\304!\210\317c\210\202? `\304y\210`|\210\315u\210\202? +\207" [modp buffer-read-only buff-menu-buffer buf 1 re-search-forward "^.S" nil t Buffer-menu-buffer save-buffer buffer-modified-p delete-char -1 42 32 search-forward "\nD" kill-buffer] 5 (#$ . 8207) nil])
#@241 Select this line's buffer; also display buffers marked with `>'.
You can mark buffers with the \<Buffer-menu-mode-map>\[Buffer-menu-mark] command.
This command deletes and replaces all the previously existing windows
in the selected frame.
(defalias 'Buffer-menu-select #[nil "\305\306!p\307\211eb\210\310\311\307\306#\2036 \305\306!\307\312\313!\210\314c\210)=\204 	>\204 	B\202 	\237\315 S	GT\245\316 \210\317!\210\n=\204R \320\n!\210	G\321\232\203_ \317!\202{ 	\203x \322\307\"\210\323\324!\210\317	@!\210	A\211\204c \323\324!,\207" [tem others menu buff buffer-read-only Buffer-menu-buffer t nil search-forward "\n>" delete-char -1 32 frame-height delete-other-windows switch-to-buffer bury-buffer 0 split-window other-window 1] 5 (#$ . 8915) nil])
#@75 Visit the tags table in the buffer on this line.  See `visit-tags-table'.
(defalias 'Buffer-menu-visit-tags-table #[nil "\301\302\303!!\211\203 \304!\202 \305\306!)\207" [file buffer-file-name Buffer-menu-buffer t visit-tags-table error "Specified buffer has no file"] 4 (#$ . 9695) nil])
#@50 Select this line's buffer, alone, in full frame.
(defalias 'Buffer-menu-1-window #[nil "\300\301\302!!\210\303\304 !\210\305 \207" [switch-to-buffer Buffer-menu-buffer t bury-buffer other-buffer delete-other-windows] 3 (#$ . 9994) nil])
#@44 Select the buffer whose line you click on.
(defalias 'Buffer-menu-mouse-select #[(event) "\303\212\304	\305	8:\203 \305\202 \306	8)\211@)!q\210\212	\305	8:\203* \305\202+ \306	8)\211A@:\203= \nA@@\202@ \nA@)b\210\307\310!*\311	\305	8:\203V \305\202W \306	8)\211@)!\210\312\313 !\203u \313 \314 =\203u \315!\202x \316!)\207" [buffer event position nil window-buffer 2 1 Buffer-menu-buffer t select-window window-dedicated-p selected-window frame-root-window switch-to-buffer-other-frame switch-to-buffer] 4 (#$ . 10237) "e"])
#@43 Select this line's buffer in this window.
(defalias 'Buffer-menu-this-window #[nil "\300\301\302!!\207" [switch-to-buffer Buffer-menu-buffer t] 3 (#$ . 10780) nil])
#@73 Select this line's buffer in other window, leaving buffer menu visible.
(defalias 'Buffer-menu-other-window #[nil "\300\301\302!!\207" [switch-to-buffer-other-window Buffer-menu-buffer t] 3 (#$ . 10951) nil])
#@87 Make the other window select this line's buffer.
The current window remains selected.
(defalias 'Buffer-menu-switch-other-window #[nil "\300\301\302!!\207" [display-buffer Buffer-menu-buffer t] 3 (#$ . 11166) nil])
#@67 Select this line's buffer, with previous buffer in second window.
(defalias 'Buffer-menu-2-window #[nil "\303\304!p\304\305 \210\306\307 !\210\310\n!\210\311	!+\207" [pop-up-windows menu buff Buffer-menu-buffer t delete-other-windows switch-to-buffer other-buffer pop-to-buffer bury-buffer] 3 (#$ . 11387) nil])
#@78 Toggle read-only status of buffer on this line, perhaps via version control.
(defalias 'Buffer-menu-toggle-read-only #[nil "\302\212\303\304!q\210\305 \210	\203 \306\202 \307)\212\310y\210\311u\210gU?\205- \302\312\313!\210c)*\207" [char buffer-read-only nil Buffer-menu-buffer t vc-toggle-read-only 37 32 0 2 delete-char 1] 2 (#$ . 11708) nil])
#@38 Bury the buffer listed on this line.
(defalias 'Buffer-menu-bury #[nil "\302y\210\303\304!\203\f \305 \207\212\302y\210\306\307\310!!\210`\311y\210`{\312`\313y\210`|\210db\210	c\210*\314\315!)\207" [buffer-read-only line 0 looking-at " [-M]" ding bury-buffer Buffer-menu-buffer t 1 nil -1 message "Buried buffer moved to the end"] 3 (#$ . 12067) nil])
(define-key ctl-x-map "" 'list-buffers)
#@348 Display a list of names of existing buffers.
The list is displayed in a buffer named `*Buffer List*'.
Note that buffers with names starting with spaces are omitted.
Non-null optional arg FILES-ONLY means mention only file buffers.

The M column contains a * for buffers that are modified.
The R column contains a % for buffers that are read-only.
(defalias 'list-buffers #[(&optional files-only) "\301\302!!\207" [files-only display-buffer list-buffers-noselect] 3 (#$ . 12469) "P"])
#@352 Create and return a buffer with a list of names of existing buffers.
The buffer is named `*Buffer List*'.
Note that buffers with names starting with spaces are omitted.
Non-null optional arg FILES-ONLY means mention only file buffers.

The M column contains a * for buffers that are modified.
The R column contains a % for buffers that are read-only.
(defalias 'list-buffers-noselect #[(&optional files-only) "p\306\212\307\310!q\210\306\311 \210p\312\313!\210\314\315 \211\203O@)\316)!*\317)!+\306,\306-\306.\306/\3060\212)q\210-\320 .)=\203V \321\202X 1/+\204n \322\323!\203n \203n 0)*\324\325O\326\230\204F2\203\203 +\203F`,)\n=\203\226 `\312\327!\210\202\232 \312\326!\210\312\330)!\203\246 \331\202\247 \326!\210\312)=\204\266 -\203\272 \332\202\273 \333!\210\312*!\210,\f\\,`3\334\335\336\"\210\337,3\316*$\210\337,3\340\341$\210)\306\211i\335Z456\342\343.\"6/54\324V\2036\324H\344U\2036\325\306O64S\2114\202\374 \3126!\210\334\345\325\"\210\3125!\210+\334\346\325\"\210+\20480++\203B\312+!\210\312\347!\210.A\211\204  )\350 \210	\203Z	b\210p,\207" [standard-output desired-point old-buffer buffer-read-only Buffer-menu-buffer-column bl nil get-buffer-create "*Buffer List*" erase-buffer princ " MR Buffer           Size  Mode         File\n -- ------           ----  ----         ----\n" 4 buffer-list buffer-name buffer-file-name buffer-size "Buffer Menu" boundp list-buffers-directory 0 1 " " "." buffer-modified-p "*" "% " "  " indent-to 17 2 put-text-property mouse-face highlight format "%8d" 32 27 40 "\n" Buffer-menu-mode buffer name file this-buffer-line-start this-buffer-read-only this-buffer-size this-buffer-mode-name this-buffer-directory mode-name files-only name-end excess mode size] 6 (#$ . 12961)])
