;;; Source file: /usr/local/lib/jade/3.2/lisp/buffer-menu.jl
;;; Compiled by jsh@orcrist on Sun Oct 16 20:20:41 1994
;;; Jade 3.2

(provide (quote buffer-menu))

(defvar bm-buffer (make-buffer "*Buffer Menu*"))

(set-buffer-special bm-buffer t)

(set-buffer-read-only bm-buffer t)

(jade-byte-code "IF!GH" [bm-buffer buffer-record-undo] 3)

(defvar bm-keymap (make-keylist))

(bind-keys bm-keymap "d" (quote bm-toggle-deletion) "s" (quote bm-toggle-save) "Ctrl-s" (quote bm-toggle-save) "u" (quote bm-unmark-line) "x" (quote bm-execute) "1" (quote bm-select-buffer) "RET" (quote bm-select-buffer) "f" (quote bm-select-buffer) "q" (quote bury-buffer) "~" (quote bm-toggle-modified) "-" (quote bm-toggle-read-only) "%" (quote bm-toggle-read-only) "o" (quote bm-other-window-select-buffer) "Ctrl-f" (quote bm-next) "TAB" (quote bm-next) "Ctrl-b" (quote bm-prev) "Shift-TAB" (quote bm-prev) "Ctrl-l" (quote bm-update) "LMB-Click1" (quote (goto-char (mouse-pos))) "LMB-Click2" (quote bm-select-buffer))

(defvar bm-pending-deletions (quote nil) 69253)

(defvar bm-pending-saves (quote nil) 69290)

(defun buffer-menu-mode nil 69326 (jade-byte-code " 	H# &KF&H	

H	" [major-mode-kill funcall buffer-menu-mode major-mode buffer-menu-kill "Buffer Menu" mode-name bm-keymap keymap-path add-hook unbound-key-hook bm-unbound-function eval-hook buffer-menu-mode-hook] 3))

(defun buffer-menu-kill nil (jade-byte-code "I I!I\"F$H
" [major-mode major-mode-kill mode-name bm-keymap keymap-path remove-hook unbound-key-hook bm-unbound-function] 3))

(defun buffer-menu nil (interactive) (jade-byte-code "	Ha HH
	" [goto-buffer bm-buffer major-mode buffer-menu-mode bm-list-buffers goto-char pos 0 2] 4))

(defun bm-unbound-function nil (jade-byte-code "	" [error "No command bound to this key!"] 2))

(defun bm-list-buffers nil (jade-byte-code "DJ0H	HDI56LF% 	
 * , 8 :	 F H	 T V	H	HGH uGH H	H	HMF&H EE" [inhibit-read-only clear-buffer insert "   MR	Name		Mode		File
   --	----		----		----
" buffer-list buf list format bm-buffer "%c%c %c%c	%s	" bm-pending-deletions 68 32 bm-pending-saves 83 buffer-modified-p 43 buffer-read-only-p 45 buffer-name indent-to 24 "%s%s	" mode-name "Generic" minor-mode-names "" 40 "%s
" buffer-file-name] 9))

(defun bm-get-buffer nil (jade-byte-code "	d 	H	 %		
	
	 )	" [pos-line cursor-pos 1 error "Can't work on the heading!" regexp-match-line "^[^	]+[	]+([^	]+)	" get-buffer copy-area match-start match-end "Can't find buffer name"] 5))

(defun bm-find-buffer-line (buf) (jade-byte-code "			

" [find-next-regexp concat "^[^	]+[	]+" regexp-quote buffer-name buf "	" pos 0 2] 6))

(defun bm-toggle-deletion nil (interactive) (jade-byte-code "DJ12 F#HI

 .KF#HI

H	E" [bm-get-buffer inhibit-read-only buf bm-pending-deletions set-char 32 pos 0 68 bm-next] 5))

(defun bm-toggle-save nil (interactive) (jade-byte-code "DJ12 F#HI

 .KF#HI

H	E" [bm-get-buffer inhibit-read-only buf bm-pending-saves set-char 32 pos 1 83 bm-next] 5))

(defun bm-unmark-line nil (interactive) (jade-byte-code "DJ12#F$HI

H	I

H
E" [bm-get-buffer inhibit-read-only buf bm-pending-saves bm-pending-deletions set-char 32 pos 0 1 bm-next] 5))

(defun bm-execute nil (interactive) (jade-byte-code "DJI123IF HLF! S	 JD	6 I	
	

H	 I
	

EHMF#H H#IF&HLF! D	6	  		

EHMF#H \\E" [bm-pending-saves buf inhibit-read-only list save-file bm-find-buffer-line pos set-char 32 1 pos-line buffer-modified-p 3 bm-pending-deletions kill-buffer delete-area next-line copy-pos] 6))

(defun bm-select-buffer nil (interactive) (jade-byte-code "D1	H	E" [bm-get-buffer new-buf bury-buffer bm-buffer goto-buffer] 2))

(defun bm-other-window-select-buffer nil (interactive) (jade-byte-code "D1	E" [bm-get-buffer buf in-other-window (goto-buffer buf)] 2))

(defun bm-toggle-modified nil (interactive) (jade-byte-code "DJ12	 I
HI

 3J
H	 3	I

EH
" [bm-get-buffer inhibit-read-only buf buffer-modified-p set-buffer-modified set-char 32 pos 3 43 bm-next] 5))

(defun bm-toggle-read-only nil (interactive) (jade-byte-code "DJ12	 I
HI

 -J
H	I

EH
" [bm-get-buffer inhibit-read-only buf buffer-read-only-p set-buffer-read-only set-char 32 pos 4 45 bm-next] 5))

(defun bm-update nil (interactive) (jade-byte-code "D1H	 
	E" [bm-get-buffer old-buf bm-list-buffers goto-char bm-find-buffer-line pos 0 2] 4))

(defun bm-next nil (interactive) (jade-byte-code "	Xe I
	 " [pos-line cursor-pos buffer-length 2 goto-glyph pos goto-next-line] 4))

(defun bm-prev nil (interactive) (jade-byte-code "	g IX
	 " [pos-line cursor-pos 2 goto-glyph pos buffer-length goto-prev-line] 5))
