diff options
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/ebuff-menu.el | 101 |
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 @@ | |||
| 1 | 2011-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 | |||
| 1 | 2011-03-11 Juanma Barranquero <lekktu@gmail.com> | 6 | 2011-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) |