aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2008-04-01 07:56:11 +0000
committerStefan Monnier2008-04-01 07:56:11 +0000
commit03b63ba9aa4b6d210d2b3f5d827682b5464ec773 (patch)
tree367785a67d239cb7278e7caa7e226df5c69e51b8
parent8fe97050164698656ecadb836593ffd8feafa3d7 (diff)
downloademacs-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/ChangeLog7
-rw-r--r--lisp/bindings.el26
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 @@
12008-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
12008-04-01 Daiki Ueno <ueno@unixuser.org> 82008-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") "\
286Menu 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) "\
291Keymap to display on major mode.") 294Keymap 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) "\
300Keymap to display on minor modes.") 303Keymap 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") "\
498Menu 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")