From 815eb821dbe6ac461e72ebb8ee4459abcc5992e1 Mon Sep 17 00:00:00 2001 From: Bill Wohler Date: Mon, 3 Jul 2006 23:41:32 +0000 Subject: [PATCH] (mh-tool-bar-define): Fix XEmacs' vector-list so it refers to the icons in mh-xemacs-icon-map instead of trying to declare the icons in situ. This allows mh-tool-bar.el to be compiled under XEmacs. Remove initial value for mh-tool-bar-folder-buttons, mh-tool-bar-show-buttons, mh-tool-bar-letter-buttons. The MH-E icons now appear in XEmacs. In mh-tool-bar-init, check for mh-xemacs-use-tool-bar-flag sooner. This allows MH-E to be used in XEmacs in a tty (closes SF #1506846). --- lisp/mh-e/ChangeLog | 12 ++++++++++++ lisp/mh-e/mh-tool-bar.el | 51 ++++++++++++++++++++++++++---------------------- 2 files changed, 40 insertions(+), 23 deletions(-) diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index 0f20ab99141..1de915f0a1e 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog @@ -1,3 +1,15 @@ +2006-07-03 Ted Phelps (tiny change) + + * mh-tool-bar.el (mh-tool-bar-define): Fix XEmacs' vector-list so + it refers to the icons in mh-xemacs-icon-map instead of trying to + declare the icons in situ. This allows mh-tool-bar.el to be + compiled under XEmacs. Remove initial value for + mh-tool-bar-folder-buttons, mh-tool-bar-show-buttons, + mh-tool-bar-letter-buttons. The MH-E icons now appear in XEmacs. + In mh-tool-bar-init, check for mh-xemacs-use-tool-bar-flag sooner. + This allows MH-E to be used in XEmacs in a tty (closes SF + #1506846). + 2006-07-03 Bill Wohler * mh-e.el: Require mh-buffers and mh-compat before mh-xemacs now diff --git a/lisp/mh-e/mh-tool-bar.el b/lisp/mh-e/mh-tool-bar.el index 9b18848bd12..a5131420753 100644 --- a/lisp/mh-e/mh-tool-bar.el +++ b/lisp/mh-e/mh-tool-bar.el @@ -149,7 +149,7 @@ where, (name-str (symbol-name name)) (icon (nth 2 button)) (xemacs-icon (mh-do-in-xemacs - (cdr (assoc (intern icon) mh-xemacs-icon-map)))) + `(cdr (assoc (quote ,(intern icon)) mh-xemacs-icon-map)))) (full-doc (nth 3 button)) (doc (if (string-match "\\(.*\\)\n" full-doc) (match-string 1 full-doc) @@ -189,7 +189,7 @@ where, (t 'folder-buttons))) (docs (cond ((eq mbuttons 'letter-buttons) 'letter-docs) ((eq mbuttons 'folder-buttons) 'folder-docs)))) - (add-to-list vector-list `[,xemacs-icon ,function t ,full-doc]) + (add-to-list vector-list `(vector ,xemacs-icon ',function t ,full-doc)) (add-to-list setter `(when (member ',name ,list) (mh-funcall-if-exists @@ -288,27 +288,28 @@ Use SEQUENCE-MAP if display is limited; DEFAULT-MAP otherwise." ;; XEmacs specific code (mh-do-in-xemacs (defvar mh-tool-bar-folder-vector-map - ',(loop for button in folder-buttons - for vector in folder-vectors - collect (cons button vector))) + (list ,@(loop for button in folder-buttons + for vector in folder-vectors + collect `(cons ',button ,vector)))) (defvar mh-tool-bar-show-vector-map - ',(loop for button in show-buttons - for vector in show-vectors - collect (cons button vector))) + (list ,@(loop for button in show-buttons + for vector in show-vectors + collect `(cons ',button ,vector)))) (defvar mh-tool-bar-letter-vector-map - ',(loop for button in letter-buttons - for vector in letter-vectors - collect (cons button vector))) - (defvar mh-tool-bar-folder-buttons nil) - (defvar mh-tool-bar-show-buttons nil) - (defvar mh-tool-bar-letter-buttons nil) + (list ,@(loop for button in letter-buttons + for vector in letter-vectors + collect `(cons ',button ,vector)))) + (defvar mh-tool-bar-folder-buttons) + (defvar mh-tool-bar-show-buttons) + (defvar mh-tool-bar-letter-buttons) ;; Custom setter functions (defun mh-tool-bar-letter-buttons-set (symbol value) (set-default symbol value) (when mh-xemacs-has-tool-bar-flag (setq mh-tool-bar-letter-buttons (loop for b in value - collect (cdr (assoc b mh-tool-bar-letter-vector-map)))))) + collect (cdr + (assoc b mh-tool-bar-letter-vector-map)))))) (defun mh-tool-bar-folder-buttons-set (symbol value) (set-default symbol value) (when mh-xemacs-has-tool-bar-flag @@ -320,13 +321,16 @@ Use SEQUENCE-MAP if display is limited; DEFAULT-MAP otherwise." collect (cdr (assoc b mh-tool-bar-show-vector-map)))))) (defun mh-tool-bar-init (mode) "Install tool bar in MODE." - (let ((tool-bar (cond ((eq mode :folder) mh-tool-bar-folder-buttons) - ((eq mode :letter) mh-tool-bar-letter-buttons) - ((eq mode :show) mh-tool-bar-show-buttons))) - (height 37) - (width 40) - (buffer (current-buffer))) - (when mh-xemacs-use-tool-bar-flag + (when mh-xemacs-use-tool-bar-flag + (let ((tool-bar (cond ((eq mode :folder) + mh-tool-bar-folder-buttons) + ((eq mode :letter) + mh-tool-bar-letter-buttons) + ((eq mode :show) + mh-tool-bar-show-buttons))) + (height 37) + (width 40) + (buffer (current-buffer))) (cond ((eq mh-xemacs-tool-bar-position 'top) (set-specifier top-toolbar tool-bar buffer) @@ -367,8 +371,9 @@ Use SEQUENCE-MAP if display is limited; DEFAULT-MAP otherwise." for y in letter-docs collect `(const :tag ,y ,x))) ;;:package-version '(MH-E "7.1") - )))) + )))) +;; The icon names are duplicated in the Makefile and mh-xemacs.el. (mh-tool-bar-define ((:folder mh-inc-folder mh-mime-save-parts mh-previous-undeleted-msg mh-page-msg -- 2.11.4.GIT