]> git.eshelyaron.com Git - emacs.git/commitdiff
(tool-bar-help): New function.
authorGerd Moellmann <gerd@gnu.org>
Tue, 26 Sep 2000 09:35:27 +0000 (09:35 +0000)
committerGerd Moellmann <gerd@gnu.org>
Tue, 26 Sep 2000 09:35:27 +0000 (09:35 +0000)
lisp/ChangeLog
lisp/toolbar/tool-bar.el

index 024ec655a6b441492d01bfbad425b4cd75aa8f56..296a36e45b34435fcc77ba8bc4c249a1950fbb9a 100644 (file)
@@ -1,3 +1,7 @@
+2000-09-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * toolbar/tool-bar.el (tool-bar-help): New function.
+
 2000-09-25  Gerd Moellmann  <gerd@gnu.org>
 
        * bytecomp.el (byte-compile-defvar-or-defconst): Only cons onto
index ff5028a164d05baae107935ca889f5753f61a57c..9bb60e2082904a5cd42306a6e86558b25c3cb930 100644 (file)
@@ -151,12 +151,22 @@ PROPS is a list of additional properties to add to the binding."
 (tool-bar-add-item-from-menu 'print-buffer "print")
 (tool-bar-add-item "preferences" 'customize 'customize nil
                   :help "Edit preferences (customize)")
-(tool-bar-add-item "help"
-                  (lambda ()
-                    (interactive)
-                    (let ((p (mouse-position)))
-                      (x-popup-menu (list (list (cadr p) (cddr p)) (car p))
-                                    menu-bar-help-menu)))
+
+(defun tool-bar-help ()
+  "Pop up the help menu from the tool-bar."
+  (interactive)
+  (let* ((p (mouse-position))
+        (menu menu-bar-help-menu)
+        (selection (x-popup-menu (list (list (cadr p) (cddr p)) (car p))
+                                 menu))
+        binding)
+    (while selection
+      (setq binding (lookup-key (or binding menu) (vector (car selection)))
+           selection (cdr selection)))
+    (when binding
+      (call-interactively binding))))
+
+(tool-bar-add-item "help" 'tool-bar-help
                   'help nil :help "Pop up the Help menu")
 
 (provide 'tool-bar)