;ELC   
;;; compiled by rms@mole.gnu.ai.mit.edu on Sun Oct  1 23:29:31 1995
;;; from file /home/fsf/rms/e19/lisp/buff-menu.el
;;; emacs version 19.29.9.
;;; 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 "`buff-menu.el' was compiled for Emacs 19.29 or later"))


(byte-code "! B" [boundp Buffer-menu-buffer-column nil current-load-list] 2)
#@2 
(defvar Buffer-menu-mode-map nil (#$ . 563))
(byte-code "  \"###########################" [Buffer-menu-mode-map make-keymap suppress-keymap t define-key "q" Buffer-menu-quit "v" Buffer-menu-select "2" Buffer-menu-2-window "1" Buffer-menu-1-window "f" Buffer-menu-this-window "" "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 "g" revert-buffer [mouse-2] Buffer-menu-mouse-select put Buffer-menu-mode mode-class special] 4)
#@1606 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.
(defalias 'Buffer-menu-mode #[nil " \n!!\f!" [kill-all-local-variables use-local-map Buffer-menu-mode-map Buffer-menu-mode major-mode "Buffer Menu" mode-name make-local-variable revert-buffer-function Buffer-menu-revert-function t truncate-lines buffer-read-only run-hooks buffer-menu-mode-hook] 2 (#$ . 1489)])
(defalias 'Buffer-menu-revert-function #[(ignore1 ignore2) " " [list-buffers] 1])
#@54 Return buffer described by this line of buffer menu.
(defalias 'Buffer-menu-buffer #[(error-if-non-existent-p) "y`	\\)m? \n\") !1 1 \"1 1 !*" [0 Buffer-menu-buffer-column where get-text-property buffer-name name get-buffer error-if-non-existent-p error "No buffer named `%s'" "No buffer on this line"] 4 (#$ . 3519)])
#@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) "\n!!!" [switch-to-buffer list-buffers-noselect arg message "Commands: d, s, x, u; f, o, 1, 2, m, v; ~, %%; q to quit; ? for help."] 3 (#$ . 3871) "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) "\n!!!" [switch-to-buffer-other-window list-buffers-noselect arg message "Commands: d, s, x, u; f, o, 1, 2, m, v; ~, %%; q to quit; ? for help."] 3 (#$ . 4310) "P"])
#@23 Quit the buffer menu.
(defalias 'Buffer-menu-quit #[nil "p !!)" [buffer switch-to-buffer other-buffer bury-buffer] 2 (#$ . 4829) nil])
#@103 Mark buffer on this line for being displayed by \<Buffer-menu-mode-map>\[Buffer-menu-select] command.
(defalias 'Buffer-menu-mark #[nil "y!\f  !cy)" [0 looking-at " [-M]" ding nil buffer-read-only delete-char 1 62] 2 (#$ . 4978) 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) "y!  J !!q	)\n	!\n= 9 ΂G ςG F ЂG c,S ӂT y" [0 looking-at " [-M]" ding Buffer-menu-buffer t buf buffer-modified-p mod buffer-read-only readonly nil delete-char 3 " *%" "  %" " * " "   " backup -1 1] 2 (#$ . 5235) "P"])
#@70 Move up and cancel all requested operations on buffer on line above.
(defalias 'Buffer-menu-backup-unmark #[nil "y y" [-1 Buffer-menu-unmark] 1 (#$ . 5656) 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) "y!\f   U V7 !cyS WQ !cyT9 )" [0 looking-at " [-M]" ding nil buffer-read-only arg 1 delete-char 68 -1] 3 (#$ . 5831) "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) "	 [!! y	 " [Buffer-menu-delete arg 1 looking-at " [-M]"] 2 (#$ . 6242) "p"])
#@96 Mark buffer on this line to be saved by \<Buffer-menu-mode-map>\[Buffer-menu-execute] command.
(defalias 'Buffer-menu-save #[nil "y!\f  u!cy)" [0 looking-at " [-M]" ding nil buffer-read-only 1 delete-char 83] 2 (#$ . 6560) nil])
#@62 Mark buffer on this line as unmodified (no changes to save).
(defalias 'Buffer-menu-not-modified #[(&optional arg) "!q!)yu`f Ƃ U3 	!0 ǂ1 c))" [Buffer-menu-buffer t set-buffer-modified-p arg 0 1 32 42 nil buffer-read-only delete-char] 2 (#$ . 6813) "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 "eby#4 !q  )	!- ̂. c* )ebyp	# u!=g =g !))!x !cB `y`|uB +" [1 re-search-forward "^.S" nil t modp Buffer-menu-buffer save-buffer buffer-modified-p buffer-read-only delete-char -1 42 32 buff-menu-buffer search-forward "\nD" buf kill-buffer] 5 (#$ . 7103) 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 "!peb#9 !	!c)= \f> \fB \f S\fGT !=W !\fGњe ! \f~ \"!\f@!\fAi !," [Buffer-menu-buffer t nil tem others menu buff search-forward "\n>" buffer-read-only delete-char -1 32 frame-height delete-other-windows switch-to-buffer bury-buffer 0 split-window other-window 1] 5 (#$ . 7625) nil])
#@75 Visit the tags table in the buffer on this line.  See `visit-tags-table'.
(defalias 'Buffer-menu-visit-tags-table #[nil "!! ! !)" [buffer-file-name Buffer-menu-buffer t file visit-tags-table error "Specified buffer has no file"] 4 (#$ . 8267) nil])
#@50 Select this line's buffer, alone, in full frame.
(defalias 'Buffer-menu-1-window #[nil "!! ! " [switch-to-buffer Buffer-menu-buffer t bury-buffer other-buffer delete-other-windows] 3 (#$ . 8536) nil])
#@44 Select the buffer whose line you click on.
(defalias 'Buffer-menu-mouse-select #[(event) "8: Ă 8)@)!q8:+ Ă, 8)A@:@ A@@D A@)b!*8:Z Ă[ 8)@)! !z   =z 	!} 	!)" [nil buffer window-buffer event 2 1 position Buffer-menu-buffer t select-window window-dedicated-p selected-window frame-root-window switch-to-buffer-other-frame switch-to-buffer] 4 (#$ . 8752) "e"])
#@43 Select this line's buffer in this window.
(defalias 'Buffer-menu-this-window #[nil "!!" [switch-to-buffer Buffer-menu-buffer t] 3 (#$ . 9177) nil])
#@73 Select this line's buffer in other window, leaving buffer menu visible.
(defalias 'Buffer-menu-other-window #[nil "!!" [switch-to-buffer-other-window Buffer-menu-buffer t] 3 (#$ . 9335) nil])
#@87 Make the other window select this line's buffer.
The current window remains selected.
(defalias 'Buffer-menu-switch-other-window #[nil "!!" [display-buffer Buffer-menu-buffer t] 3 (#$ . 9537) nil])
#@67 Select this line's buffer, with previous buffer in second window.
(defalias 'Buffer-menu-2-window #[nil "!p  !\f!!+" [Buffer-menu-buffer t pop-up-windows menu buff delete-other-windows switch-to-buffer other-buffer pop-to-buffer bury-buffer] 3 (#$ . 9745) nil])
#@78 Toggle read-only status of buffer on this line, perhaps via version control.
(defalias 'Buffer-menu-toggle-read-only #[nil "!q  Ƃ )yug	U?- !	c)*" [nil char Buffer-menu-buffer t vc-toggle-read-only buffer-read-only 37 32 0 2 delete-char 1] 2 (#$ . 10029) nil])
(define-key ctl-x-map "" (quote 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) "\n!!" [display-buffer list-buffers-noselect files-only] 3 (#$ . 10371) "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!q p! W@!!q =[ ق] s !s s )OߘL  L`= `! !! ガ !=   !!\\`&\"&$&$)iZ-./\"/.-V /HU /O/-S-/!\".!+\">H!!.A# ) \nb\nbp," [standard-output nil desired-point old-buffer get-buffer-create "*Buffer List*" buffer-read-only erase-buffer princ " MR Buffer           Size  Mode         File\n -- ------           ----  ----         ----\n" 4 Buffer-menu-buffer-column buffer-list bl buffer buffer-name name buffer-file-name file this-buffer-line-start this-buffer-read-only this-buffer-size this-buffer-mode-name this-buffer-directory buffer-size "Buffer Menu" mode-name boundp list-buffers-directory 0 1 " " files-only "." buffer-modified-p "*" "% " "  " name-end indent-to 17 2 put-text-property mouse-face highlight excess mode size format "%8d" 32 27 40 "\n" Buffer-menu-mode] 6 (#$ . 10855)])
