aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/ebuff-menu.el101
2 files changed, 56 insertions, 50 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index e368e660fe2..bf3775b3852 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12011-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * ebuff-menu.el (electric-buffer-menu-mode-map): Move initialization
4 into declaration. Remove redundant and harmful binding.
5
12011-03-11 Juanma Barranquero <lekktu@gmail.com> 62011-03-11 Juanma Barranquero <lekktu@gmail.com>
2 7
3 Backport revno:103463 from trunk. 8 Backport revno:103463 from trunk.
diff --git a/lisp/ebuff-menu.el b/lisp/ebuff-menu.el
index 7b4c07f74f5..9f9129919da 100644
--- a/lisp/ebuff-menu.el
+++ b/lisp/ebuff-menu.el
@@ -35,7 +35,56 @@
35;; this depends on the format of list-buffers (from src/buffer.c) and 35;; this depends on the format of list-buffers (from src/buffer.c) and
36;; on stuff in lisp/buff-menu.el 36;; on stuff in lisp/buff-menu.el
37 37
38(defvar electric-buffer-menu-mode-map nil) 38(defvar electric-buffer-menu-mode-map
39 (let ((map (make-keymap)))
40 (fillarray (car (cdr map)) 'Electric-buffer-menu-undefined)
41 (define-key map "\e" nil)
42 (define-key map "\C-z" 'suspend-frame)
43 (define-key map "v" 'Electric-buffer-menu-mode-view-buffer)
44 (define-key map (char-to-string help-char) 'Helper-help)
45 (define-key map "?" 'Helper-describe-bindings)
46 (define-key map "\C-c" nil)
47 (define-key map "\C-c\C-c" 'Electric-buffer-menu-quit)
48 (define-key map "\C-]" 'Electric-buffer-menu-quit)
49 (define-key map "q" 'Electric-buffer-menu-quit)
50 (define-key map " " 'Electric-buffer-menu-select)
51 (define-key map "\C-m" 'Electric-buffer-menu-select)
52 (define-key map "\C-l" 'recenter)
53 (define-key map "s" 'Buffer-menu-save)
54 (define-key map "d" 'Buffer-menu-delete)
55 (define-key map "k" 'Buffer-menu-delete)
56 (define-key map "\C-d" 'Buffer-menu-delete-backwards)
57 ;; (define-key map "\C-k" 'Buffer-menu-delete)
58 (define-key map "\177" 'Buffer-menu-backup-unmark)
59 (define-key map "~" 'Buffer-menu-not-modified)
60 (define-key map "u" 'Buffer-menu-unmark)
61 (let ((i ?0))
62 (while (<= i ?9)
63 (define-key map (char-to-string i) 'digit-argument)
64 (define-key map (concat "\e" (char-to-string i)) 'digit-argument)
65 (setq i (1+ i))))
66 (define-key map "-" 'negative-argument)
67 (define-key map "\e-" 'negative-argument)
68 (define-key map "m" 'Buffer-menu-mark)
69 (define-key map "\C-u" 'universal-argument)
70 (define-key map "\C-p" 'previous-line)
71 (define-key map "\C-n" 'next-line)
72 (define-key map "p" 'previous-line)
73 (define-key map "n" 'next-line)
74 (define-key map "\C-v" 'scroll-up)
75 (define-key map "\ev" 'scroll-down)
76 (define-key map ">" 'scroll-right)
77 (define-key map "<" 'scroll-left)
78 (define-key map "\e\C-v" 'scroll-other-window)
79 (define-key map "\e>" 'end-of-buffer)
80 (define-key map "\e<" 'beginning-of-buffer)
81 (define-key map "\e\e" nil)
82 (define-key map "\e\e\e" 'Electric-buffer-menu-quit)
83 ;; This binding prevents the "escape => ESC" function-key-map mapping from
84 ;; kicking in!
85 ;; (define-key map [escape escape escape] 'Electric-buffer-menu-quit)
86 (define-key map [mouse-2] 'Electric-buffer-menu-mouse-select)
87 map))
39 88
40(defvar electric-buffer-menu-mode-hook nil 89(defvar electric-buffer-menu-mode-hook nil
41 "Normal hook run by `electric-buffer-list'.") 90 "Normal hook run by `electric-buffer-list'.")
@@ -168,55 +217,7 @@ Entry to this mode via command `electric-buffer-list' calls the value of
168;; generally the same as Buffer-menu-mode-map 217;; generally the same as Buffer-menu-mode-map
169;; (except we don't indirect to global-map) 218;; (except we don't indirect to global-map)
170(put 'Electric-buffer-menu-undefined 'suppress-keymap t) 219(put 'Electric-buffer-menu-undefined 'suppress-keymap t)
171(if electric-buffer-menu-mode-map 220
172 nil
173 (let ((map (make-keymap)))
174 (fillarray (car (cdr map)) 'Electric-buffer-menu-undefined)
175 (define-key map "\e" nil)
176 (define-key map "\C-z" 'suspend-frame)
177 (define-key map "v" 'Electric-buffer-menu-mode-view-buffer)
178 (define-key map (char-to-string help-char) 'Helper-help)
179 (define-key map "?" 'Helper-describe-bindings)
180 (define-key map "\C-c" nil)
181 (define-key map "\C-c\C-c" 'Electric-buffer-menu-quit)
182 (define-key map "\C-]" 'Electric-buffer-menu-quit)
183 (define-key map "q" 'Electric-buffer-menu-quit)
184 (define-key map " " 'Electric-buffer-menu-select)
185 (define-key map "\C-m" 'Electric-buffer-menu-select)
186 (define-key map "\C-l" 'recenter)
187 (define-key map "s" 'Buffer-menu-save)
188 (define-key map "d" 'Buffer-menu-delete)
189 (define-key map "k" 'Buffer-menu-delete)
190 (define-key map "\C-d" 'Buffer-menu-delete-backwards)
191 ;(define-key map "\C-k" 'Buffer-menu-delete)
192 (define-key map "\177" 'Buffer-menu-backup-unmark)
193 (define-key map "~" 'Buffer-menu-not-modified)
194 (define-key map "u" 'Buffer-menu-unmark)
195 (let ((i ?0))
196 (while (<= i ?9)
197 (define-key map (char-to-string i) 'digit-argument)
198 (define-key map (concat "\e" (char-to-string i)) 'digit-argument)
199 (setq i (1+ i))))
200 (define-key map "-" 'negative-argument)
201 (define-key map "\e-" 'negative-argument)
202 (define-key map "m" 'Buffer-menu-mark)
203 (define-key map "\C-u" 'universal-argument)
204 (define-key map "\C-p" 'previous-line)
205 (define-key map "\C-n" 'next-line)
206 (define-key map "p" 'previous-line)
207 (define-key map "n" 'next-line)
208 (define-key map "\C-v" 'scroll-up)
209 (define-key map "\ev" 'scroll-down)
210 (define-key map ">" 'scroll-right)
211 (define-key map "<" 'scroll-left)
212 (define-key map "\e\C-v" 'scroll-other-window)
213 (define-key map "\e>" 'end-of-buffer)
214 (define-key map "\e<" 'beginning-of-buffer)
215 (define-key map "\e\e" nil)
216 (define-key map "\e\e\e" 'Electric-buffer-menu-quit)
217 (define-key map [escape escape escape] 'Electric-buffer-menu-quit)
218 (define-key map [mouse-2] 'Electric-buffer-menu-mouse-select)
219 (setq electric-buffer-menu-mode-map map)))
220 221
221(defun Electric-buffer-menu-exit () 222(defun Electric-buffer-menu-exit ()
222 (interactive) 223 (interactive)