comparison lisp/buff-menu.el @ 91073:4bc33ffdda1a

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 902-908) - Update from CVS - Merge from emacs--rel--22 * emacs--rel--22 (patch 131-137) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 261-262) - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-278
author Miles Bader <miles@gnu.org>
date Sat, 27 Oct 2007 09:12:07 +0000
parents f55f9811f5d7 e8808cf949cd
children 606f2d163a64
comparison
equal deleted inserted replaced
91072:74ab3ea909f9 91073:4bc33ffdda1a
102 102
103 ;; This should get updated & resorted when you click on a column heading 103 ;; This should get updated & resorted when you click on a column heading
104 (defvar Buffer-menu-sort-column nil 104 (defvar Buffer-menu-sort-column nil
105 "Which column to sort the menu on. 105 "Which column to sort the menu on.
106 Use 2 to sort by buffer names, or 5 to sort by file names. 106 Use 2 to sort by buffer names, or 5 to sort by file names.
107 nil means sort by visited order (the default).") 107 A nil value means sort by visited order (the default).")
108 108
109 (defconst Buffer-menu-buffer-column 4) 109 (defconst Buffer-menu-buffer-column 4)
110
111 (defvar Buffer-menu-mode-map nil
112 "Local keymap for `Buffer-menu-mode' buffers.")
113 110
114 (defvar Buffer-menu-files-only nil 111 (defvar Buffer-menu-files-only nil
115 "Non-nil if the current buffer-menu lists only file buffers. 112 "Non-nil if the current buffer-menu lists only file buffers.
116 This variable determines whether reverting the buffer lists only 113 This variable determines whether reverting the buffer lists only
117 file buffers. It affects both manual reverting and reverting by 114 file buffers. It affects both manual reverting and reverting by
118 Auto Revert Mode.") 115 Auto Revert Mode.")
119 116
117 (make-variable-buffer-local 'Buffer-menu-files-only)
118
120 (defvar Info-current-file) ;; from info.el 119 (defvar Info-current-file) ;; from info.el
121 (defvar Info-current-node) ;; from info.el 120 (defvar Info-current-node) ;; from info.el
122 121
123 (make-variable-buffer-local 'Buffer-menu-files-only) 122 (defvar Buffer-menu-mode-map
124 123 (let ((map (make-keymap)))
125 (if Buffer-menu-mode-map 124 (suppress-keymap map t)
126 () 125 (define-key map "q" 'quit-window)
127 (setq Buffer-menu-mode-map (make-keymap)) 126 (define-key map "v" 'Buffer-menu-select)
128 (suppress-keymap Buffer-menu-mode-map t) 127 (define-key map "2" 'Buffer-menu-2-window)
129 (define-key Buffer-menu-mode-map "q" 'quit-window) 128 (define-key map "1" 'Buffer-menu-1-window)
130 (define-key Buffer-menu-mode-map "v" 'Buffer-menu-select) 129 (define-key map "f" 'Buffer-menu-this-window)
131 (define-key Buffer-menu-mode-map "2" 'Buffer-menu-2-window) 130 (define-key map "e" 'Buffer-menu-this-window)
132 (define-key Buffer-menu-mode-map "1" 'Buffer-menu-1-window) 131 (define-key map "\C-m" 'Buffer-menu-this-window)
133 (define-key Buffer-menu-mode-map "f" 'Buffer-menu-this-window) 132 (define-key map "o" 'Buffer-menu-other-window)
134 (define-key Buffer-menu-mode-map "e" 'Buffer-menu-this-window) 133 (define-key map "\C-o" 'Buffer-menu-switch-other-window)
135 (define-key Buffer-menu-mode-map "\C-m" 'Buffer-menu-this-window) 134 (define-key map "s" 'Buffer-menu-save)
136 (define-key Buffer-menu-mode-map "o" 'Buffer-menu-other-window) 135 (define-key map "d" 'Buffer-menu-delete)
137 (define-key Buffer-menu-mode-map "\C-o" 'Buffer-menu-switch-other-window) 136 (define-key map "k" 'Buffer-menu-delete)
138 (define-key Buffer-menu-mode-map "s" 'Buffer-menu-save) 137 (define-key map "\C-d" 'Buffer-menu-delete-backwards)
139 (define-key Buffer-menu-mode-map "d" 'Buffer-menu-delete) 138 (define-key map "\C-k" 'Buffer-menu-delete)
140 (define-key Buffer-menu-mode-map "k" 'Buffer-menu-delete) 139 (define-key map "x" 'Buffer-menu-execute)
141 (define-key Buffer-menu-mode-map "\C-d" 'Buffer-menu-delete-backwards) 140 (define-key map " " 'next-line)
142 (define-key Buffer-menu-mode-map "\C-k" 'Buffer-menu-delete) 141 (define-key map "n" 'next-line)
143 (define-key Buffer-menu-mode-map "x" 'Buffer-menu-execute) 142 (define-key map "p" 'previous-line)
144 (define-key Buffer-menu-mode-map " " 'next-line) 143 (define-key map "\177" 'Buffer-menu-backup-unmark)
145 (define-key Buffer-menu-mode-map "n" 'next-line) 144 (define-key map "~" 'Buffer-menu-not-modified)
146 (define-key Buffer-menu-mode-map "p" 'previous-line) 145 (define-key map "?" 'describe-mode)
147 (define-key Buffer-menu-mode-map "\177" 'Buffer-menu-backup-unmark) 146 (define-key map "u" 'Buffer-menu-unmark)
148 (define-key Buffer-menu-mode-map "~" 'Buffer-menu-not-modified) 147 (define-key map "m" 'Buffer-menu-mark)
149 (define-key Buffer-menu-mode-map "?" 'describe-mode) 148 (define-key map "t" 'Buffer-menu-visit-tags-table)
150 (define-key Buffer-menu-mode-map "u" 'Buffer-menu-unmark) 149 (define-key map "%" 'Buffer-menu-toggle-read-only)
151 (define-key Buffer-menu-mode-map "m" 'Buffer-menu-mark) 150 (define-key map "b" 'Buffer-menu-bury)
152 (define-key Buffer-menu-mode-map "t" 'Buffer-menu-visit-tags-table) 151 (define-key map "g" 'Buffer-menu-revert)
153 (define-key Buffer-menu-mode-map "%" 'Buffer-menu-toggle-read-only) 152 (define-key map "V" 'Buffer-menu-view)
154 (define-key Buffer-menu-mode-map "b" 'Buffer-menu-bury) 153 (define-key map "T" 'Buffer-menu-toggle-files-only)
155 (define-key Buffer-menu-mode-map "g" 'Buffer-menu-revert) 154 (define-key map [mouse-2] 'Buffer-menu-mouse-select)
156 (define-key Buffer-menu-mode-map "V" 'Buffer-menu-view) 155 (define-key map [follow-link] 'mouse-face)
157 (define-key Buffer-menu-mode-map "T" 'Buffer-menu-toggle-files-only) 156 map)
158 (define-key Buffer-menu-mode-map [mouse-2] 'Buffer-menu-mouse-select) 157 "Local keymap for `Buffer-menu-mode' buffers.")
159 (define-key Buffer-menu-mode-map [follow-link] 'mouse-face)
160 )
161 158
162 ;; Buffer Menu mode is suitable only for specially formatted data. 159 ;; Buffer Menu mode is suitable only for specially formatted data.
163 (put 'Buffer-menu-mode 'mode-class 'special) 160 (put 'Buffer-menu-mode 'mode-class 'special)
164 161
165 (defun Buffer-menu-mode () 162 (define-derived-mode Buffer-menu-mode nil "Buffer Menu"
166 "Major mode for editing a list of buffers. 163 "Major mode for editing a list of buffers.
167 Each line describes one of the buffers in Emacs. 164 Each line describes one of the buffers in Emacs.
168 Letters do not insert themselves; instead, they are commands. 165 Letters do not insert themselves; instead, they are commands.
169 \\<Buffer-menu-mode-map> 166 \\<Buffer-menu-mode-map>
170 \\[Buffer-menu-mouse-select] -- select buffer you click on, in place of the buffer menu. 167 \\[Buffer-menu-mouse-select] -- select buffer you click on, in place of the buffer menu.
192 \\[Buffer-menu-backup-unmark] -- back up a line and remove marks. 189 \\[Buffer-menu-backup-unmark] -- back up a line and remove marks.
193 \\[Buffer-menu-toggle-read-only] -- toggle read-only status of buffer on this line. 190 \\[Buffer-menu-toggle-read-only] -- toggle read-only status of buffer on this line.
194 \\[Buffer-menu-revert] -- update the list of buffers. 191 \\[Buffer-menu-revert] -- update the list of buffers.
195 \\[Buffer-menu-toggle-files-only] -- toggle whether the menu displays only file buffers. 192 \\[Buffer-menu-toggle-files-only] -- toggle whether the menu displays only file buffers.
196 \\[Buffer-menu-bury] -- bury the buffer listed on this line." 193 \\[Buffer-menu-bury] -- bury the buffer listed on this line."
197 (kill-all-local-variables)
198 (use-local-map Buffer-menu-mode-map)
199 (setq major-mode 'Buffer-menu-mode)
200 (setq mode-name "Buffer Menu")
201 (set (make-local-variable 'revert-buffer-function) 194 (set (make-local-variable 'revert-buffer-function)
202 'Buffer-menu-revert-function) 195 'Buffer-menu-revert-function)
203 (set (make-local-variable 'buffer-stale-function) 196 (set (make-local-variable 'buffer-stale-function)
204 #'(lambda (&optional noconfirm) 'fast)) 197 #'(lambda (&optional noconfirm) 'fast))
205 (setq truncate-lines t) 198 (setq truncate-lines t)
206 (setq buffer-read-only t) 199 (setq buffer-read-only t))
207 (run-mode-hooks 'buffer-menu-mode-hook))
208 200
209 ;; This function exists so we can make the doc string of Buffer-menu-mode 201 ;; This function exists so we can make the doc string of Buffer-menu-mode
210 ;; look nice. 202 ;; look nice.
211 (defun Buffer-menu-revert () 203 (defun Buffer-menu-revert ()
212 "Update the list of buffers." 204 "Update the list of buffers."