emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: tool-bar-setup overwrites local tool-bar-map


From: Bill Wohler
Subject: Re: tool-bar-setup overwrites local tool-bar-map
Date: Thu, 20 Apr 2006 17:44:19 -0700

Bill Wohler <address@hidden> wrote:

>   emacs22 -Q
>   M-x info
>   M-x tool-bar-mode
> 
> Note how Preferences and Help icons are present.
> 
>   C-x b *scratch* RET
> 
> Note how Preferences and Help icons are absent.
> 
> To see what should have happened:
> 
>   emacs22 -Q
>   M-x tool-bar-mode
> 
> Note how Preferences and Help icons are present.
> 
>   M-x info
> 
> Note how Preferences and Help icons are absent.
> 
> This is particularly bad if you fire up mh-rmail before tool-bar-mode
> since you get two pairs of Help and Preferences. 
> 
> I see that tool-bar-add-item-from-menu passes (default-value
> 'tool-bar-map) to tool-bar-local-item-from-menu while tool-bar-add-item
> does not. Coincidentally, it is the tool-bar-add-item calls in
> tool-bar-setup which are a problem (Preferences and Help). Changing
> tool-bar-add-item to match tool-bar-item-from-menu fixes the problem.
> 
> Does anyone know why tool-bar-add-item-from-menu got the (default-value
> 'tool-bar-map) and tool-bar-add-item did not? If not, may I check in
> this patch?

No, I may not ;-). It breaks the idiom from the tool-bar-add-item
documentation, namely:

          (defvar foo-tool-bar-map
            (let ((tool-bar-map (make-sparse-keymap)))
              (tool-bar-add-item ...)
              ...
              tool-bar-map))

It also did some mean and nasty things to the MH-E toolbar. The
following patch (to tool-bar-setup) seems to be working a little better.

Index: tool-bar.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/tool-bar.el,v
retrieving revision 1.5
diff -u -u -r1.5 tool-bar.el
--- tool-bar.el 6 Feb 2006 14:33:35 -0000       1.5
+++ tool-bar.el 21 Apr 2006 00:25:35 -0000
@@ -267,14 +267,16 @@
   ;;(tool-bar-add-item-from-menu 'compose-mail "mail/compose")
 
   (tool-bar-add-item-from-menu 'print-buffer "print")
-  (tool-bar-add-item "preferences" 'customize 'customize
-                    :help "Edit preferences (customize)")
+  (tool-bar-local-item "preferences" 'customize 'customize
+                       (default-value 'tool-bar-map)
+                       :help "Edit preferences (customize)")
 
-  (tool-bar-add-item "help" (lambda ()
-                             (interactive)
-                             (popup-menu menu-bar-help-menu))
-                    'help
-                    :help "Pop up the Help menu")
+  (tool-bar-local-item "help" (lambda ()
+                                (interactive)
+                                (popup-menu menu-bar-help-menu))
+                       'help
+                       (default-value 'tool-bar-map)
+                       :help "Pop up the Help menu")
   )
 
 (provide 'tool-bar)

-- 
Bill Wohler <address@hidden>  http://www.newt.com/wohler/  GnuPG ID:610BD9AD
Maintainer of comp.mail.mh FAQ and MH-E. Vote Libertarian!
If you're passed on the right, you're in the wrong lane.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]