X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fgnus-draft.el;h=d53873045fde0cabe9cfae0b3fd37bb36f5bf26f;hb=8339220cc25db3fbdab4367d6252e596bddd9cb1;hp=9e051a960b1f0f3dc8a3a8b5351315eb04b27896;hpb=e2c9efb05a1ae9e65fd40bab80466da331f3981b;p=gnus diff --git a/lisp/gnus-draft.el b/lisp/gnus-draft.el index 9e051a960..d53873045 100644 --- a/lisp/gnus-draft.el +++ b/lisp/gnus-draft.el @@ -1,7 +1,7 @@ ;;; gnus-draft.el --- draft message support for Gnus ;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -32,23 +32,21 @@ (require 'nndraft) (require 'gnus-agent) (eval-when-compile (require 'cl)) +(eval-when-compile + (when (featurep 'xemacs) + (require 'easy-mmode))) ; for `define-minor-mode' ;;; Draft minor mode -(defvar gnus-draft-mode nil - "Minor mode for providing a draft summary buffers.") - -(defvar gnus-draft-mode-map nil) - -(unless gnus-draft-mode-map - (setq gnus-draft-mode-map (make-sparse-keymap)) - - (gnus-define-keys gnus-draft-mode-map - "Dt" gnus-draft-toggle-sending - "e" gnus-draft-edit-message ;; Use `B w' for `gnus-summary-edit-article' - "De" gnus-draft-edit-message - "Ds" gnus-draft-send-message - "DS" gnus-draft-send-all-messages)) +(defvar gnus-draft-mode-map + (let ((map (make-sparse-keymap))) + (gnus-define-keys map + "Dt" gnus-draft-toggle-sending + "e" gnus-draft-edit-message ;; Use `B w' for `gnus-summary-edit-article' + "De" gnus-draft-edit-message + "Ds" gnus-draft-send-message + "DS" gnus-draft-send-all-messages) + map)) (defun gnus-draft-make-menu-bar () (unless (boundp 'gnus-draft-menu) @@ -61,20 +59,17 @@ ["Send all messages" gnus-draft-send-all-messages t] ["Delete draft" gnus-summary-delete-article t])))) -(defun gnus-draft-mode (&optional arg) +(define-minor-mode gnus-draft-mode "Minor mode for providing a draft summary buffers. \\{gnus-draft-mode-map}" - (interactive "P") - (when (eq major-mode 'gnus-summary-mode) - (when (set (make-local-variable 'gnus-draft-mode) - (if (null arg) (not gnus-draft-mode) - (> (prefix-numeric-value arg) 0))) - ;; Set up the menu. - (when (gnus-visual-p 'draft-menu 'menu) - (gnus-draft-make-menu-bar)) - (add-minor-mode 'gnus-draft-mode " Draft" gnus-draft-mode-map) - (gnus-run-hooks 'gnus-draft-mode-hook)))) + :lighter " Draft" :keymap gnus-draft-mode-map + (cond + ((not (derived-mode-p 'gnus-summary-mode)) (setq gnus-draft-mode nil)) + (gnus-draft-mode + ;; Set up the menu. + (when (gnus-visual-p 'draft-menu 'menu) + (gnus-draft-make-menu-bar))))) ;;; Commands @@ -146,6 +141,8 @@ Obeys the standard process/prefix convention." message-send-hook)) (message-setup-hook (and (not is-queue) message-setup-hook)) + (gnus-message-setup-hook (and (not is-queue) + gnus-message-setup-hook)) (message-signature (and (not is-queue) message-signature)) (gnus-agent-queue-mail (and (not is-queue) @@ -328,5 +325,4 @@ Obeys the standard process/prefix convention." (provide 'gnus-draft) -;; arch-tag: 3d92af58-8c97-4a5c-9db4-a98e85198022 ;;; gnus-draft.el ends here