diff options
| author | Stefan Monnier | 2008-04-01 07:56:11 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2008-04-01 07:56:11 +0000 |
| commit | 03b63ba9aa4b6d210d2b3f5d827682b5464ec773 (patch) | |
| tree | 367785a67d239cb7278e7caa7e226df5c69e51b8 | |
| parent | 8fe97050164698656ecadb836593ffd8feafa3d7 (diff) | |
| download | emacs-03b63ba9aa4b6d210d2b3f5d827682b5464ec773.tar.gz emacs-03b63ba9aa4b6d210d2b3f5d827682b5464ec773.zip | |
(mode-line-mode-menu): Move before (new) first use.
(mode-line-major-mode-keymap, mode-line-minor-mode-keymap):
Bind the key directly to the menu.
(mode-line-mode-menu-1, mode-line-mode-menu): Remove functions.
| -rw-r--r-- | lisp/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/bindings.el | 26 |
2 files changed, 13 insertions, 20 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a94c1a9ed5e..719f09b0536 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * bindings.el (mode-line-mode-menu): Move before (new) first use. | ||
| 4 | (mode-line-major-mode-keymap, mode-line-minor-mode-keymap): | ||
| 5 | Bind the key directly to the menu. | ||
| 6 | (mode-line-mode-menu-1, mode-line-mode-menu): Remove functions. | ||
| 7 | |||
| 1 | 2008-04-01 Daiki Ueno <ueno@unixuser.org> | 8 | 2008-04-01 Daiki Ueno <ueno@unixuser.org> |
| 2 | 9 | ||
| 3 | * epa.el (epa-decrypt-region): Explain the reason why this | 10 | * epa.el (epa-decrypt-region): Explain the reason why this |
diff --git a/lisp/bindings.el b/lisp/bindings.el index 59bb128d468..d1045002a04 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el | |||
| @@ -282,11 +282,14 @@ buffer size, the line number and the column number.") | |||
| 282 | (defvar mode-line-modes nil | 282 | (defvar mode-line-modes nil |
| 283 | "Mode-line control for displaying major and minor modes.") | 283 | "Mode-line control for displaying major and minor modes.") |
| 284 | 284 | ||
| 285 | (defvar mode-line-mode-menu (make-sparse-keymap "Minor Modes") "\ | ||
| 286 | Menu of mode operations in the mode line.") | ||
| 287 | |||
| 285 | (defvar mode-line-major-mode-keymap | 288 | (defvar mode-line-major-mode-keymap |
| 286 | (let ((map (make-sparse-keymap))) | 289 | (let ((map (make-sparse-keymap))) |
| 287 | (define-key map [mode-line down-mouse-1] 'mouse-major-mode-menu) | 290 | (define-key map [mode-line down-mouse-1] 'mouse-major-mode-menu) |
| 288 | (define-key map [mode-line mouse-2] 'describe-mode) | 291 | (define-key map [mode-line mouse-2] 'describe-mode) |
| 289 | (define-key map [mode-line down-mouse-3] 'mode-line-mode-menu-1) | 292 | (define-key map [mode-line down-mouse-3] mode-line-mode-menu) |
| 290 | map) "\ | 293 | map) "\ |
| 291 | Keymap to display on major mode.") | 294 | Keymap to display on major mode.") |
| 292 | 295 | ||
| @@ -294,8 +297,8 @@ Keymap to display on major mode.") | |||
| 294 | (let ((map (make-sparse-keymap))) | 297 | (let ((map (make-sparse-keymap))) |
| 295 | (define-key map [mode-line down-mouse-1] 'mouse-minor-mode-menu) | 298 | (define-key map [mode-line down-mouse-1] 'mouse-minor-mode-menu) |
| 296 | (define-key map [mode-line mouse-2] 'mode-line-minor-mode-help) | 299 | (define-key map [mode-line mouse-2] 'mode-line-minor-mode-help) |
| 297 | (define-key map [mode-line down-mouse-3] 'mode-line-mode-menu-1) | 300 | (define-key map [mode-line down-mouse-3] mode-line-mode-menu) |
| 298 | (define-key map [header-line down-mouse-3] 'mode-line-mode-menu-1) | 301 | (define-key map [header-line down-mouse-3] mode-line-mode-menu) |
| 299 | map) "\ | 302 | map) "\ |
| 300 | Keymap to display on minor modes.") | 303 | Keymap to display on minor modes.") |
| 301 | 304 | ||
| @@ -494,19 +497,6 @@ Switch to the most recently selected buffer other than the current one." | |||
| 494 | (select-window (posn-window (event-start event))) | 497 | (select-window (posn-window (event-start event))) |
| 495 | (previous-buffer))) | 498 | (previous-buffer))) |
| 496 | 499 | ||
| 497 | (defvar mode-line-mode-menu (make-sparse-keymap "Minor Modes") "\ | ||
| 498 | Menu of mode operations in the mode line.") | ||
| 499 | |||
| 500 | (defun mode-line-mode-menu-1 (event) | ||
| 501 | (interactive "e") | ||
| 502 | (save-selected-window | ||
| 503 | (select-window (posn-window (event-start event))) | ||
| 504 | (let* ((selection (mode-line-mode-menu event)) | ||
| 505 | (binding (and selection (lookup-key mode-line-mode-menu | ||
| 506 | (vector (car selection)))))) | ||
| 507 | (if binding | ||
| 508 | (call-interactively binding))))) | ||
| 509 | |||
| 510 | (defmacro bound-and-true-p (var) | 500 | (defmacro bound-and-true-p (var) |
| 511 | "Return the value of symbol VAR if it is bound, else nil." | 501 | "Return the value of symbol VAR if it is bound, else nil." |
| 512 | `(and (boundp (quote ,var)) ,var)) | 502 | `(and (boundp (quote ,var)) ,var)) |
| @@ -560,10 +550,6 @@ Menu of mode operations in the mode line.") | |||
| 560 | :help "Automatically expand abbreviations" | 550 | :help "Automatically expand abbreviations" |
| 561 | :button (:toggle . abbrev-mode))) | 551 | :button (:toggle . abbrev-mode))) |
| 562 | 552 | ||
| 563 | (defun mode-line-mode-menu (event) | ||
| 564 | (interactive "@e") | ||
| 565 | (x-popup-menu event mode-line-mode-menu)) | ||
| 566 | |||
| 567 | (defun mode-line-minor-mode-help (event) | 553 | (defun mode-line-minor-mode-help (event) |
| 568 | "Describe minor mode for EVENT on minor modes area of the mode line." | 554 | "Describe minor mode for EVENT on minor modes area of the mode line." |
| 569 | (interactive "@e") | 555 | (interactive "@e") |