Gnus development mailing list
 help / color / mirror / Atom feed
* Message-mode toolbar in Emacs 21.3
@ 2002-12-14 22:16 Jesper Harder
  0 siblings, 0 replies; only message in thread
From: Jesper Harder @ 2002-12-14 22:16 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 453 bytes --]

The message-mode toolbar is broken in Emacs 21.3, because of:

,----
| ** New function `tool-bar-local-item-from-menu'
| 
| The `tool-bar-add-item-from-menu' must not be used (as previously
| recommended) for making entries in the tool bar for local keymaps.
| Instead, use the function `tool-bar-local-item-from-menu', which lets
| you specify the map to use as an argument.
`----

I wrote this to fix it, but I wonder if there is a cleaner approach?


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: message.el.diff --]
[-- Type: text/x-patch, Size: 2506 bytes --]

--- /home/harder/gnus/lisp/message.el	Fri Nov 29 17:19:40 2002
+++ message.el	Sat Dec 14 22:18:31 2002
@@ -5842,6 +5842,14 @@
   (defvar tool-bar-map)
   (defvar tool-bar-mode))
 
+(defun message-tool-bar-local-item-from-menu (command icon in-map &optional from-map &rest props)
+  ;; We need to make tool bar entries in local keymaps with
+  ;; `tool-bar-local-item-from-menu' in Emacs > 21.3
+  (if (fboundp 'tool-bar-local-item-from-menu)
+      ;; This is for Emacs 21.3
+      (tool-bar-local-item-from-menu command icon in-map from-map props)
+    (tool-bar-add-item-from-menu command icon from-map props)))
+
 (defun message-tool-bar-map ()
   (or message-tool-bar-map
       (setq message-tool-bar-map
@@ -5856,25 +5864,25 @@
 	       (dolist (key '(print-buffer kill-buffer save-buffer
 					   write-file dired open-file))
 		 (define-key tool-bar-map (vector key) nil))
-	       (tool-bar-add-item-from-menu
-		'message-send-and-exit "mail_send" message-mode-map)
-	       (tool-bar-add-item-from-menu
-		'message-kill-buffer "close" message-mode-map)
-	       (tool-bar-add-item-from-menu
-		    'message-dont-send "cancel" message-mode-map)
-	       (tool-bar-add-item-from-menu
-		'mml-attach-file "attach" mml-mode-map)
-	       (tool-bar-add-item-from-menu
-		'ispell-message "spell" message-mode-map)
-	       (tool-bar-add-item-from-menu
+	       (message-tool-bar-local-item-from-menu
+		'message-send-and-exit "mail_send" tool-bar-map message-mode-map)
+	       (message-tool-bar-local-item-from-menu
+		'message-kill-buffer "close" tool-bar-map message-mode-map)
+	       (message-tool-bar-local-item-from-menu
+		    'message-dont-send "cancel" tool-bar-map message-mode-map)
+	       (message-tool-bar-local-item-from-menu
+		'mml-attach-file "attach" tool-bar-map mml-mode-map)
+	       (message-tool-bar-local-item-from-menu
+		'ispell-message "spell" tool-bar-map message-mode-map)
+	       (message-tool-bar-local-item-from-menu
 		'message-insert-importance-high "important"
-		    message-mode-map)
-	       (tool-bar-add-item-from-menu
+		tool-bar-map message-mode-map)
+	       (message-tool-bar-local-item-from-menu
 		'message-insert-importance-low "unimportant"
-		message-mode-map)
-	       (tool-bar-add-item-from-menu
+		tool-bar-map message-mode-map)
+	       (message-tool-bar-local-item-from-menu
 		'message-insert-disposition-notification-to "receipt"
-		message-mode-map)
+		tool-bar-map message-mode-map)
 	       tool-bar-map)))))
 
 ;;; Group name completion.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-12-14 22:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-14 22:16 Message-mode toolbar in Emacs 21.3 Jesper Harder

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).