summaryrefslogtreecommitdiff
path: root/lisp/gnus/gnus-dired.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2010-05-02 20:41:45 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2010-05-02 20:41:45 -0400
commitbbf52f1e6fdaca0197ce67b897eb69a006fff8ad (patch)
tree3c41f146a8835ff85ae32fe666e4348653a292ce /lisp/gnus/gnus-dired.el
parenta101e0fbac19df1d78912ee67d690d65d8f96ab0 (diff)
downloademacs-bbf52f1e6fdaca0197ce67b897eb69a006fff8ad.tar.gz
Use define-minor-mode in Gnus where applicable.
* mml.el (mml-mode): Use define-minor-mode. * gnus-undo.el (gnus-undo-mode-map): Initialize in declaration. (gnus-undo-mode): Use define-minor-mode. * gnus-sum.el (gnus-dead-summary-mode-map): Initialize in declaration. (gnus-dead-summary-mode): Use define-minor-mode. * gnus-salt.el (gnus-pick-mode-map, gnus-binary-mode-map): Initialize in declaration. (gnus-pick-mode, gnus-binary-mode): Use define-minor-mode. * gnus-ml.el (gnus-mailing-list-mode-map): Initialize in declaration. (gnus-mailing-list-mode): Use define-minor-mode. * gnus-draft.el (gnus-draft-mode-map): Initialize in declaration. (gnus-draft-mode): Use define-minor-mode. * gnus-dired.el (gnus-dired-mode-map): Initialize in declaration. (gnus-dired-mode): Use define-minor-mode.
Diffstat (limited to 'lisp/gnus/gnus-dired.el')
-rw-r--r--lisp/gnus/gnus-dired.el31
1 files changed, 10 insertions, 21 deletions
diff --git a/lisp/gnus/gnus-dired.el b/lisp/gnus/gnus-dired.el
index 595a9fe4ffd..67cb7ecfa08 100644
--- a/lisp/gnus/gnus-dired.el
+++ b/lisp/gnus/gnus-dired.el
@@ -55,17 +55,12 @@
(autoload 'message-buffers "message")
(autoload 'gnus-print-buffer "gnus-sum")
-(defvar gnus-dired-mode nil
- "Minor mode for intersections of MIME mail composition and dired.")
-
-(defvar gnus-dired-mode-map nil)
-
-(unless gnus-dired-mode-map
- (setq gnus-dired-mode-map (make-sparse-keymap))
-
- (define-key gnus-dired-mode-map "\C-c\C-m\C-a" 'gnus-dired-attach)
- (define-key gnus-dired-mode-map "\C-c\C-m\C-l" 'gnus-dired-find-file-mailcap)
- (define-key gnus-dired-mode-map "\C-c\C-m\C-p" 'gnus-dired-print))
+(defvar gnus-dired-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map "\C-c\C-m\C-a" 'gnus-dired-attach)
+ (define-key map "\C-c\C-m\C-l" 'gnus-dired-find-file-mailcap)
+ (define-key map "\C-c\C-m\C-p" 'gnus-dired-print)
+ map))
;; FIXME: Make it customizable, change the default to `mail-user-agent' when
;; this file is renamed (e.g. to `dired-mime.el').
@@ -89,19 +84,13 @@ See `mail-user-agent' for more information."
gnus-user-agent)
(function :tag "Other")))
-(defun gnus-dired-mode (&optional arg)
+(define-minor-mode gnus-dired-mode
"Minor mode for intersections of gnus and dired.
\\{gnus-dired-mode-map}"
- (interactive "P")
- (when (eq major-mode 'dired-mode)
- (set (make-local-variable 'gnus-dired-mode)
- (if (null arg) (not gnus-dired-mode)
- (> (prefix-numeric-value arg) 0)))
- (when gnus-dired-mode
- (add-minor-mode 'gnus-dired-mode "" gnus-dired-mode-map)
- (save-current-buffer
- (run-hooks 'gnus-dired-mode-hook)))))
+ :keymap gnus-dired-mode-map
+ (unless (derived-mode-p 'dired-mode)
+ (setq gnus-dired-mode nil)))
;;;###autoload
(defun turn-on-gnus-dired-mode ()