X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/fb724e553757e9d3344be443ab5f329afc9bf91c..77ab81d0545e980c57c0a35510ade29a9e43b4cd:/lisp/gnus/gnus-ml.el diff --git a/lisp/gnus/gnus-ml.el b/lisp/gnus/gnus-ml.el index 4a618f4950..12ff5ea3a0 100644 --- a/lisp/gnus/gnus-ml.el +++ b/lisp/gnus/gnus-ml.el @@ -30,27 +30,25 @@ (require 'gnus) (require 'gnus-msg) (eval-when-compile (require 'cl)) +(eval-when-compile + (when (featurep 'xemacs) + (require 'easy-mmode))) ; for `define-minor-mode' ;;; Mailing list minor mode -(defvar gnus-mailing-list-mode nil - "Minor mode for providing mailing-list commands.") - -(defvar gnus-mailing-list-mode-map nil) +(defvar gnus-mailing-list-mode-map + (let ((map (make-sparse-keymap))) + (gnus-define-keys map + "\C-c\C-nh" gnus-mailing-list-help + "\C-c\C-ns" gnus-mailing-list-subscribe + "\C-c\C-nu" gnus-mailing-list-unsubscribe + "\C-c\C-np" gnus-mailing-list-post + "\C-c\C-no" gnus-mailing-list-owner + "\C-c\C-na" gnus-mailing-list-archive) + map)) (defvar gnus-mailing-list-menu) -(unless gnus-mailing-list-mode-map - (setq gnus-mailing-list-mode-map (make-sparse-keymap)) - - (gnus-define-keys gnus-mailing-list-mode-map - "\C-c\C-nh" gnus-mailing-list-help - "\C-c\C-ns" gnus-mailing-list-subscribe - "\C-c\C-nu" gnus-mailing-list-unsubscribe - "\C-c\C-np" gnus-mailing-list-post - "\C-c\C-no" gnus-mailing-list-owner - "\C-c\C-na" gnus-mailing-list-archive)) - (defun gnus-mailing-list-make-menu-bar () (unless (boundp 'gnus-mailing-list-menu) (easy-menu-define @@ -87,22 +85,26 @@ If FORCE is non-nil, replace the old ones." (gnus-mailing-list-mode 1)) (gnus-message 1 "no list-post in this message.")))) +(eval-when-compile + (when (featurep 'xemacs) + (defvar gnus-mailing-list-mode-hook) + (defvar gnus-mailing-list-mode-on-hook) + (defvar gnus-mailing-list-mode-off-hook))) + ;;;###autoload -(defun gnus-mailing-list-mode (&optional arg) +(define-minor-mode gnus-mailing-list-mode "Minor mode for providing mailing-list commands. \\{gnus-mailing-list-mode-map}" - (interactive "P") - (when (eq major-mode 'gnus-summary-mode) - (when (set (make-local-variable 'gnus-mailing-list-mode) - (if (null arg) (not gnus-mailing-list-mode) - (> (prefix-numeric-value arg) 0))) - ;; Set up the menu. - (when (gnus-visual-p 'mailing-list-menu 'menu) - (gnus-mailing-list-make-menu-bar)) - (add-minor-mode 'gnus-mailing-list-mode " Mailing-List" - gnus-mailing-list-mode-map) - (gnus-run-hooks 'gnus-mailing-list-mode-hook)))) + :lighter " Mailing-List" + :keymap gnus-mailing-list-mode-map + (cond + ((not (derived-mode-p 'gnus-summary-mode)) + (setq gnus-mailing-list-mode nil)) + (gnus-mailing-list-mode + ;; Set up the menu. + (when (gnus-visual-p 'mailing-list-menu 'menu) + (gnus-mailing-list-make-menu-bar))))) ;;; Commands @@ -178,5 +180,4 @@ ADDRESS is specified by a \"mailto:\" URL." (provide 'gnus-ml) -;; arch-tag: 936c0fe6-acce-4c16-87d0-eded88078896 ;;; gnus-ml.el ends here