(defvar Buffer-menu-mode-map nil "\

(if Buffer-menu-mode-map nil (setq Buffer-menu-mode-map (make-keymap)) (suppress-keymap Buffer-menu-mode-map t) (define-key Buffer-menu-mode-map "q" (quote Buffer-menu-select)) (define-key Buffer-menu-mode-map "2" (quote Buffer-menu-2-window)) (define-key Buffer-menu-mode-map "1" (quote Buffer-menu-1-window)) (define-key Buffer-menu-mode-map "f" (quote Buffer-menu-this-window)) (define-key Buffer-menu-mode-map "o" (quote Buffer-menu-other-window)) (define-key Buffer-menu-mode-map "s" (quote Buffer-menu-save)) (define-key Buffer-menu-mode-map "d" (quote Buffer-menu-delete)) (define-key Buffer-menu-mode-map "k" (quote Buffer-menu-delete)) (define-key Buffer-menu-mode-map "" (quote Buffer-menu-delete-backwards)) (define-key Buffer-menu-mode-map "" (quote Buffer-menu-delete)) (define-key Buffer-menu-mode-map "x" (quote Buffer-menu-execute)) (define-key Buffer-menu-mode-map " " (quote next-line)) (define-key Buffer-menu-mode-map "" (quote Buffer-menu-backup-unmark)) (define-key Buffer-menu-mode-map "~" (quote Buffer-menu-not-modified)) (define-key Buffer-menu-mode-map "?" (quote describe-mode)) (define-key Buffer-menu-mode-map "u" (quote Buffer-menu-unmark)) (define-key Buffer-menu-mode-map "m" (quote Buffer-menu-mark)))

(put (quote Buffer-menu-mode) (quote mode-class) (quote special))

(defun Buffer-menu-mode nil "\
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.
m -- mark buffer to be displayed.
q -- select buffer of line point is on.
  Also show buffers marked with m in other windows.
1 -- select that buffer in full-screen window.
2 -- select that buffer in one window,
  together with buffer selected before this one in another window.
f -- select that buffer in place of the buffer menu buffer.
o -- select that buffer in another window,
  so the buffer menu buffer remains visible in its window.
~ -- clear modified-flag on that buffer.
s -- mark that buffer to be saved, and move down.
d or k -- mark that buffer to be deleted, and move down.
C-d -- mark that buffer to be deleted, and move up.
x -- delete or save marked buffers.
u -- remove all kinds of marks from current line.
Delete -- back up a line and remove marks.

Precisely,\\{Buffer-menu-mode-map}" (byte-code " !‰‰ȉɉ!" [Buffer-menu-mode-map truncate-lines t buffer-read-only major-mode mode-name kill-all-local-variables use-local-map Buffer-menu-mode "Buffer Menu" run-hooks buffer-menu-mode-hook] 4))

(defvar Buffer-menu-buffer-column 4)

(defun Buffer-menu-buffer (error-if-non-existent-p) "\
Return buffer described by this line of buffer menu." (byte-code " !`!!	`\"
\"-*)" [Buffer-menu-buffer-column start string error-if-non-existent-p nil beginning-of-line forward-char re-search-forward "	\\|  " skip-chars-backward " 	" buffer-substring get-buffer error "No buffer named \"%s\""] 9))

(defun buffer-menu (arg) "\
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." (interactive "P") (byte-code "!!!!" [arg nil list-buffers pop-to-buffer "*Buffer List*" forward-line 2 message "Commands: d, s, x; 1, 2, m, u, q; delete; ~;  ? for help."] 5))

(defun Buffer-menu-mark nil "\
Mark buffer on this line for being displayed by \\[Buffer-menu-select] command." (interactive) (byte-code " ! !c!)" [buffer-read-only nil beginning-of-line looking-at " [-M]" ding delete-char 1 62 forward-line] 6))

(defun Buffer-menu-unmark nil "\
Cancel all requested operations on buffer on this line." (interactive) (byte-code "ň ! @!!q)!5
=Ђ>c,!" [buf t mod readonly buffer-read-only nil beginning-of-line looking-at " [-M]" ding Buffer-menu-buffer buffer-modified-p delete-char 3 " *%" "  %" " * " "   " forward-line 1] 8))

(defun Buffer-menu-backup-unmark nil "\
Move up and cancel all requested operations on buffer on line above." (interactive) (byte-code "! !" [nil forward-line -1 Buffer-menu-unmark] 4))

(defun Buffer-menu-delete nil "\
Mark buffer on this line to be deleted by \\[Buffer-menu-execute] command." (interactive) (byte-code " ! !c!)" [buffer-read-only nil beginning-of-line looking-at " [-M]" ding delete-char 1 68 forward-line] 6))

(defun Buffer-menu-delete-backwards nil "\
Mark buffer on this line to be deleted by \\[Buffer-menu-execute] command
and then move up one line" (interactive) (byte-code " !!!" [nil Buffer-menu-delete forward-line -2 looking-at " [-M]" 1] 5))

(defun Buffer-menu-save nil "\
Mark buffer on this line to be saved by \\[Buffer-menu-execute] command." (interactive) (byte-code " !! !!c!)" [buffer-read-only nil beginning-of-line forward-char 1 looking-at " [-M]" ding delete-char 83 forward-line] 7))

(defun Buffer-menu-not-modified nil "\
Mark buffer on this line as unmodified (no changes to save)." (interactive) (byte-code "!q!) !!$!c))" [t nil buffer-read-only Buffer-menu-buffer set-buffer-modified-p beginning-of-line forward-char 1 looking-at "\\*" delete-char 32] 7))

(defun Buffer-menu-execute nil "\
Save and/or delete buffers marked with \\[Buffer-menu-save] or \\[Buffer-menu-delete] commands." (interactive) (byte-code "eb!#9!q  )!
!))!y!c`!`\"!G*)" [nil t modp buffer-read-only buff-menu-buffer buf forward-line 1 re-search-forward "^.S" Buffer-menu-buffer save-buffer buffer-modified-p delete-char -1 42 32 search-forward "
D" forward-char kill-buffer delete-region] 18))

(defun Buffer-menu-select nil "\
Select this line's buffer; also display buffers marked with \">\".
You can mark buffers with the \\[Buffer-menu-mark] command." (interactive) (byte-code "Ĉ!peb#=!!c)
B! SGT\" !
\"!@!A^!," [buff t menu others nil tem buffer-read-only Buffer-menu-buffer search-forward "
>" delete-char -1 32 nreverse / screen-height delete-other-windows switch-to-buffer bury-buffer split-window other-window 1] 16))

(defun Buffer-menu-1-window nil "\
Select this line's buffer, alone, in full screen." (interactive) (byte-code "!! ! " [t nil switch-to-buffer Buffer-menu-buffer bury-buffer other-buffer delete-other-windows] 6))

(defun Buffer-menu-this-window nil "\
Select this line's buffer in this window." (interactive) (byte-code "!!" [t nil switch-to-buffer Buffer-menu-buffer] 3))

(defun Buffer-menu-other-window nil "\
Select this line's buffer in other window, leaving buffer menu visible." (interactive) (byte-code "!!" [t nil switch-to-buffer-other-window Buffer-menu-buffer] 3))

(defun Buffer-menu-2-window nil "\
Select this line's buffer, with previous buffer in second window." (interactive) (byte-code "Ĉ!p !!
!+" [buff t menu pop-up-windows nil Buffer-menu-buffer switch-to-buffer other-buffer pop-to-buffer bury-buffer] 6))