diff options
| -rw-r--r-- | lisp/gnus/ChangeLog | 18 | ||||
| -rw-r--r-- | lisp/gnus/gnus-dired.el | 31 | ||||
| -rw-r--r-- | lisp/gnus/gnus-draft.el | 42 | ||||
| -rw-r--r-- | lisp/gnus/gnus-ml.el | 47 | ||||
| -rw-r--r-- | lisp/gnus/gnus-salt.el | 113 | ||||
| -rw-r--r-- | lisp/gnus/gnus-start.el | 3 | ||||
| -rw-r--r-- | lisp/gnus/gnus-sum.el | 40 | ||||
| -rw-r--r-- | lisp/gnus/gnus-topic.el | 1 | ||||
| -rw-r--r-- | lisp/gnus/gnus-undo.el | 35 | ||||
| -rw-r--r-- | lisp/gnus/mml.el | 18 |
10 files changed, 152 insertions, 196 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index ae4ede200aa..fbf1302d4f7 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,21 @@ | |||
| 1 | 2010-05-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | Use define-minor-mode in Gnus where applicable. | ||
| 4 | * mml.el (mml-mode): Use define-minor-mode. | ||
| 5 | * gnus-undo.el (gnus-undo-mode-map): Initialize in declaration. | ||
| 6 | (gnus-undo-mode): Use define-minor-mode. | ||
| 7 | * gnus-sum.el (gnus-dead-summary-mode-map): Initialize in declaration. | ||
| 8 | (gnus-dead-summary-mode): Use define-minor-mode. | ||
| 9 | * gnus-salt.el (gnus-pick-mode-map, gnus-binary-mode-map): | ||
| 10 | Initialize in declaration. | ||
| 11 | (gnus-pick-mode, gnus-binary-mode): Use define-minor-mode. | ||
| 12 | * gnus-ml.el (gnus-mailing-list-mode-map): Initialize in declaration. | ||
| 13 | (gnus-mailing-list-mode): Use define-minor-mode. | ||
| 14 | * gnus-draft.el (gnus-draft-mode-map): Initialize in declaration. | ||
| 15 | (gnus-draft-mode): Use define-minor-mode. | ||
| 16 | * gnus-dired.el (gnus-dired-mode-map): Initialize in declaration. | ||
| 17 | (gnus-dired-mode): Use define-minor-mode. | ||
| 18 | |||
| 1 | 2010-04-27 Katsumi Yamaoka <yamaoka@jpl.org> | 19 | 2010-04-27 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 20 | ||
| 3 | * gnus-util.el: Don't load tm and apel XEmacs packages when compiling. | 21 | * gnus-util.el: Don't load tm and apel XEmacs packages when compiling. |
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 @@ | |||
| 55 | (autoload 'message-buffers "message") | 55 | (autoload 'message-buffers "message") |
| 56 | (autoload 'gnus-print-buffer "gnus-sum") | 56 | (autoload 'gnus-print-buffer "gnus-sum") |
| 57 | 57 | ||
| 58 | (defvar gnus-dired-mode nil | 58 | (defvar gnus-dired-mode-map |
| 59 | "Minor mode for intersections of MIME mail composition and dired.") | 59 | (let ((map (make-sparse-keymap))) |
| 60 | 60 | (define-key map "\C-c\C-m\C-a" 'gnus-dired-attach) | |
| 61 | (defvar gnus-dired-mode-map nil) | 61 | (define-key map "\C-c\C-m\C-l" 'gnus-dired-find-file-mailcap) |
| 62 | 62 | (define-key map "\C-c\C-m\C-p" 'gnus-dired-print) | |
| 63 | (unless gnus-dired-mode-map | 63 | map)) |
| 64 | (setq gnus-dired-mode-map (make-sparse-keymap)) | ||
| 65 | |||
| 66 | (define-key gnus-dired-mode-map "\C-c\C-m\C-a" 'gnus-dired-attach) | ||
| 67 | (define-key gnus-dired-mode-map "\C-c\C-m\C-l" 'gnus-dired-find-file-mailcap) | ||
| 68 | (define-key gnus-dired-mode-map "\C-c\C-m\C-p" 'gnus-dired-print)) | ||
| 69 | 64 | ||
| 70 | ;; FIXME: Make it customizable, change the default to `mail-user-agent' when | 65 | ;; FIXME: Make it customizable, change the default to `mail-user-agent' when |
| 71 | ;; this file is renamed (e.g. to `dired-mime.el'). | 66 | ;; this file is renamed (e.g. to `dired-mime.el'). |
| @@ -89,19 +84,13 @@ See `mail-user-agent' for more information." | |||
| 89 | gnus-user-agent) | 84 | gnus-user-agent) |
| 90 | (function :tag "Other"))) | 85 | (function :tag "Other"))) |
| 91 | 86 | ||
| 92 | (defun gnus-dired-mode (&optional arg) | 87 | (define-minor-mode gnus-dired-mode |
| 93 | "Minor mode for intersections of gnus and dired. | 88 | "Minor mode for intersections of gnus and dired. |
| 94 | 89 | ||
| 95 | \\{gnus-dired-mode-map}" | 90 | \\{gnus-dired-mode-map}" |
| 96 | (interactive "P") | 91 | :keymap gnus-dired-mode-map |
| 97 | (when (eq major-mode 'dired-mode) | 92 | (unless (derived-mode-p 'dired-mode) |
| 98 | (set (make-local-variable 'gnus-dired-mode) | 93 | (setq gnus-dired-mode nil))) |
| 99 | (if (null arg) (not gnus-dired-mode) | ||
| 100 | (> (prefix-numeric-value arg) 0))) | ||
| 101 | (when gnus-dired-mode | ||
| 102 | (add-minor-mode 'gnus-dired-mode "" gnus-dired-mode-map) | ||
| 103 | (save-current-buffer | ||
| 104 | (run-hooks 'gnus-dired-mode-hook))))) | ||
| 105 | 94 | ||
| 106 | ;;;###autoload | 95 | ;;;###autoload |
| 107 | (defun turn-on-gnus-dired-mode () | 96 | (defun turn-on-gnus-dired-mode () |
diff --git a/lisp/gnus/gnus-draft.el b/lisp/gnus/gnus-draft.el index 1e6b7ee5dee..a4e1e1dd309 100644 --- a/lisp/gnus/gnus-draft.el +++ b/lisp/gnus/gnus-draft.el | |||
| @@ -35,20 +35,15 @@ | |||
| 35 | 35 | ||
| 36 | ;;; Draft minor mode | 36 | ;;; Draft minor mode |
| 37 | 37 | ||
| 38 | (defvar gnus-draft-mode nil | 38 | (defvar gnus-draft-mode-map |
| 39 | "Minor mode for providing a draft summary buffers.") | 39 | (let ((map (make-sparse-keymap))) |
| 40 | 40 | (gnus-define-keys map | |
| 41 | (defvar gnus-draft-mode-map nil) | 41 | "Dt" gnus-draft-toggle-sending |
| 42 | 42 | "e" gnus-draft-edit-message ;; Use `B w' for `gnus-summary-edit-article' | |
| 43 | (unless gnus-draft-mode-map | 43 | "De" gnus-draft-edit-message |
| 44 | (setq gnus-draft-mode-map (make-sparse-keymap)) | 44 | "Ds" gnus-draft-send-message |
| 45 | 45 | "DS" gnus-draft-send-all-messages) | |
| 46 | (gnus-define-keys gnus-draft-mode-map | 46 | map)) |
| 47 | "Dt" gnus-draft-toggle-sending | ||
| 48 | "e" gnus-draft-edit-message ;; Use `B w' for `gnus-summary-edit-article' | ||
| 49 | "De" gnus-draft-edit-message | ||
| 50 | "Ds" gnus-draft-send-message | ||
| 51 | "DS" gnus-draft-send-all-messages)) | ||
| 52 | 47 | ||
| 53 | (defun gnus-draft-make-menu-bar () | 48 | (defun gnus-draft-make-menu-bar () |
| 54 | (unless (boundp 'gnus-draft-menu) | 49 | (unless (boundp 'gnus-draft-menu) |
| @@ -61,20 +56,17 @@ | |||
| 61 | ["Send all messages" gnus-draft-send-all-messages t] | 56 | ["Send all messages" gnus-draft-send-all-messages t] |
| 62 | ["Delete draft" gnus-summary-delete-article t])))) | 57 | ["Delete draft" gnus-summary-delete-article t])))) |
| 63 | 58 | ||
| 64 | (defun gnus-draft-mode (&optional arg) | 59 | (define-minor-mode gnus-draft-mode |
| 65 | "Minor mode for providing a draft summary buffers. | 60 | "Minor mode for providing a draft summary buffers. |
| 66 | 61 | ||
| 67 | \\{gnus-draft-mode-map}" | 62 | \\{gnus-draft-mode-map}" |
| 68 | (interactive "P") | 63 | :lighter " Draft" :keymap gnus-draft-mode-map |
| 69 | (when (eq major-mode 'gnus-summary-mode) | 64 | (cond |
| 70 | (when (set (make-local-variable 'gnus-draft-mode) | 65 | ((not (derived-mode-p 'gnus-summary-mode)) (setq gnus-draft-mode nil)) |
| 71 | (if (null arg) (not gnus-draft-mode) | 66 | (gnus-draft-mode |
| 72 | (> (prefix-numeric-value arg) 0))) | 67 | ;; Set up the menu. |
| 73 | ;; Set up the menu. | 68 | (when (gnus-visual-p 'draft-menu 'menu) |
| 74 | (when (gnus-visual-p 'draft-menu 'menu) | 69 | (gnus-draft-make-menu-bar))))) |
| 75 | (gnus-draft-make-menu-bar)) | ||
| 76 | (add-minor-mode 'gnus-draft-mode " Draft" gnus-draft-mode-map) | ||
| 77 | (gnus-run-hooks 'gnus-draft-mode-hook)))) | ||
| 78 | 70 | ||
| 79 | ;;; Commands | 71 | ;;; Commands |
| 80 | 72 | ||
diff --git a/lisp/gnus/gnus-ml.el b/lisp/gnus/gnus-ml.el index 078a8cfa15c..a77de710769 100644 --- a/lisp/gnus/gnus-ml.el +++ b/lisp/gnus/gnus-ml.el | |||
| @@ -33,24 +33,19 @@ | |||
| 33 | 33 | ||
| 34 | ;;; Mailing list minor mode | 34 | ;;; Mailing list minor mode |
| 35 | 35 | ||
| 36 | (defvar gnus-mailing-list-mode nil | 36 | (defvar gnus-mailing-list-mode-map |
| 37 | "Minor mode for providing mailing-list commands.") | 37 | (let ((map (make-sparse-keymap))) |
| 38 | 38 | (gnus-define-keys map | |
| 39 | (defvar gnus-mailing-list-mode-map nil) | 39 | "\C-c\C-nh" gnus-mailing-list-help |
| 40 | "\C-c\C-ns" gnus-mailing-list-subscribe | ||
| 41 | "\C-c\C-nu" gnus-mailing-list-unsubscribe | ||
| 42 | "\C-c\C-np" gnus-mailing-list-post | ||
| 43 | "\C-c\C-no" gnus-mailing-list-owner | ||
| 44 | "\C-c\C-na" gnus-mailing-list-archive) | ||
| 45 | map)) | ||
| 40 | 46 | ||
| 41 | (defvar gnus-mailing-list-menu) | 47 | (defvar gnus-mailing-list-menu) |
| 42 | 48 | ||
| 43 | (unless gnus-mailing-list-mode-map | ||
| 44 | (setq gnus-mailing-list-mode-map (make-sparse-keymap)) | ||
| 45 | |||
| 46 | (gnus-define-keys gnus-mailing-list-mode-map | ||
| 47 | "\C-c\C-nh" gnus-mailing-list-help | ||
| 48 | "\C-c\C-ns" gnus-mailing-list-subscribe | ||
| 49 | "\C-c\C-nu" gnus-mailing-list-unsubscribe | ||
| 50 | "\C-c\C-np" gnus-mailing-list-post | ||
| 51 | "\C-c\C-no" gnus-mailing-list-owner | ||
| 52 | "\C-c\C-na" gnus-mailing-list-archive)) | ||
| 53 | |||
| 54 | (defun gnus-mailing-list-make-menu-bar () | 49 | (defun gnus-mailing-list-make-menu-bar () |
| 55 | (unless (boundp 'gnus-mailing-list-menu) | 50 | (unless (boundp 'gnus-mailing-list-menu) |
| 56 | (easy-menu-define | 51 | (easy-menu-define |
| @@ -88,21 +83,19 @@ If FORCE is non-nil, replace the old ones." | |||
| 88 | (gnus-message 1 "no list-post in this message.")))) | 83 | (gnus-message 1 "no list-post in this message.")))) |
| 89 | 84 | ||
| 90 | ;;;###autoload | 85 | ;;;###autoload |
| 91 | (defun gnus-mailing-list-mode (&optional arg) | 86 | (define-minor-mode gnus-mailing-list-mode |
| 92 | "Minor mode for providing mailing-list commands. | 87 | "Minor mode for providing mailing-list commands. |
| 93 | 88 | ||
| 94 | \\{gnus-mailing-list-mode-map}" | 89 | \\{gnus-mailing-list-mode-map}" |
| 95 | (interactive "P") | 90 | :lighter " Mailing-List" |
| 96 | (when (eq major-mode 'gnus-summary-mode) | 91 | :keymap gnus-mailing-list-mode-map |
| 97 | (when (set (make-local-variable 'gnus-mailing-list-mode) | 92 | (cond |
| 98 | (if (null arg) (not gnus-mailing-list-mode) | 93 | ((not (derived-mode-p 'gnus-summary-mode)) |
| 99 | (> (prefix-numeric-value arg) 0))) | 94 | (setq gnus-mailing-list-mode nil)) |
| 100 | ;; Set up the menu. | 95 | (gnus-mailing-list-mode |
| 101 | (when (gnus-visual-p 'mailing-list-menu 'menu) | 96 | ;; Set up the menu. |
| 102 | (gnus-mailing-list-make-menu-bar)) | 97 | (when (gnus-visual-p 'mailing-list-menu 'menu) |
| 103 | (add-minor-mode 'gnus-mailing-list-mode " Mailing-List" | 98 | (gnus-mailing-list-make-menu-bar))))) |
| 104 | gnus-mailing-list-mode-map) | ||
| 105 | (gnus-run-hooks 'gnus-mailing-list-mode-hook)))) | ||
| 106 | 99 | ||
| 107 | ;;; Commands | 100 | ;;; Commands |
| 108 | 101 | ||
diff --git a/lisp/gnus/gnus-salt.el b/lisp/gnus/gnus-salt.el index d729fada009..22e446629f2 100644 --- a/lisp/gnus/gnus-salt.el +++ b/lisp/gnus/gnus-salt.el | |||
| @@ -35,10 +35,6 @@ | |||
| 35 | ;;; gnus-pick-mode | 35 | ;;; gnus-pick-mode |
| 36 | ;;; | 36 | ;;; |
| 37 | 37 | ||
| 38 | (defvar gnus-pick-mode nil | ||
| 39 | "Minor mode for providing a pick-and-read interface in Gnus | ||
| 40 | summary buffers.") | ||
| 41 | |||
| 42 | (defcustom gnus-pick-display-summary nil | 38 | (defcustom gnus-pick-display-summary nil |
| 43 | "*Display summary while reading." | 39 | "*Display summary while reading." |
| 44 | :type 'boolean | 40 | :type 'boolean |
| @@ -72,17 +68,15 @@ It accepts the same format specs that `gnus-summary-line-format' does." | |||
| 72 | 68 | ||
| 73 | ;;; Internal variables. | 69 | ;;; Internal variables. |
| 74 | 70 | ||
| 75 | (defvar gnus-pick-mode-map nil) | 71 | (defvar gnus-pick-mode-map |
| 76 | 72 | (let ((map (make-sparse-keymap))) | |
| 77 | (unless gnus-pick-mode-map | 73 | (gnus-define-keys map |
| 78 | (setq gnus-pick-mode-map (make-sparse-keymap)) | 74 | " " gnus-pick-next-page |
| 79 | 75 | "u" gnus-pick-unmark-article-or-thread | |
| 80 | (gnus-define-keys gnus-pick-mode-map | 76 | "." gnus-pick-article-or-thread |
| 81 | " " gnus-pick-next-page | 77 | gnus-down-mouse-2 gnus-pick-mouse-pick-region |
| 82 | "u" gnus-pick-unmark-article-or-thread | 78 | "\r" gnus-pick-start-reading) |
| 83 | "." gnus-pick-article-or-thread | 79 | map)) |
| 84 | gnus-down-mouse-2 gnus-pick-mouse-pick-region | ||
| 85 | "\r" gnus-pick-start-reading)) | ||
| 86 | 80 | ||
| 87 | (defun gnus-pick-make-menu-bar () | 81 | (defun gnus-pick-make-menu-bar () |
| 88 | (unless (boundp 'gnus-pick-menu) | 82 | (unless (boundp 'gnus-pick-menu) |
| @@ -104,30 +98,30 @@ It accepts the same format specs that `gnus-summary-line-format' does." | |||
| 104 | ["Start reading" gnus-pick-start-reading t] | 98 | ["Start reading" gnus-pick-start-reading t] |
| 105 | ["Switch pick mode off" gnus-pick-mode gnus-pick-mode])))) | 99 | ["Switch pick mode off" gnus-pick-mode gnus-pick-mode])))) |
| 106 | 100 | ||
| 107 | (defun gnus-pick-mode (&optional arg) | 101 | (define-minor-mode gnus-pick-mode |
| 108 | "Minor mode for providing a pick-and-read interface in Gnus summary buffers. | 102 | "Minor mode for providing a pick-and-read interface in Gnus summary buffers. |
| 109 | 103 | ||
| 110 | \\{gnus-pick-mode-map}" | 104 | \\{gnus-pick-mode-map}" |
| 111 | (interactive "P") | 105 | :lighter " Pick" :keymap gnus-pick-mode-map |
| 112 | (when (eq major-mode 'gnus-summary-mode) | 106 | (cond |
| 113 | (if (not (set (make-local-variable 'gnus-pick-mode) | 107 | ((not (derived-mode-p 'gnus-summary-mode)) (setq gnus-pick-mode nil)) |
| 114 | (if (null arg) (not gnus-pick-mode) | 108 | ((not gnus-pick-mode) |
| 115 | (> (prefix-numeric-value arg) 0)))) | 109 | ;; FIXME: a buffer-local minor mode removing globally from a hook?? |
| 116 | (remove-hook 'gnus-message-setup-hook 'gnus-pick-setup-message) | 110 | (remove-hook 'gnus-message-setup-hook 'gnus-pick-setup-message)) |
| 117 | ;; Make sure that we don't select any articles upon group entry. | 111 | (t |
| 118 | (set (make-local-variable 'gnus-auto-select-first) nil) | 112 | ;; Make sure that we don't select any articles upon group entry. |
| 119 | ;; Change line format. | 113 | (set (make-local-variable 'gnus-auto-select-first) nil) |
| 120 | (setq gnus-summary-line-format gnus-summary-pick-line-format) | 114 | ;; Change line format. |
| 121 | (setq gnus-summary-line-format-spec nil) | 115 | (setq gnus-summary-line-format gnus-summary-pick-line-format) |
| 122 | (gnus-update-format-specifications nil 'summary) | 116 | (setq gnus-summary-line-format-spec nil) |
| 123 | (gnus-update-summary-mark-positions) | 117 | (gnus-update-format-specifications nil 'summary) |
| 124 | (add-hook 'gnus-message-setup-hook 'gnus-pick-setup-message) | 118 | (gnus-update-summary-mark-positions) |
| 125 | (set (make-local-variable 'gnus-summary-goto-unread) 'never) | 119 | ;; FIXME: a buffer-local minor mode adding globally to a hook?? |
| 126 | ;; Set up the menu. | 120 | (add-hook 'gnus-message-setup-hook 'gnus-pick-setup-message) |
| 127 | (when (gnus-visual-p 'pick-menu 'menu) | 121 | (set (make-local-variable 'gnus-summary-goto-unread) 'never) |
| 128 | (gnus-pick-make-menu-bar)) | 122 | ;; Set up the menu. |
| 129 | (add-minor-mode 'gnus-pick-mode " Pick" gnus-pick-mode-map) | 123 | (when (gnus-visual-p 'pick-menu 'menu) |
| 130 | (gnus-run-hooks 'gnus-pick-mode-hook)))) | 124 | (gnus-pick-make-menu-bar))))) |
| 131 | 125 | ||
| 132 | (defun gnus-pick-setup-message () | 126 | (defun gnus-pick-setup-message () |
| 133 | "Make Message do the right thing on exit." | 127 | "Make Message do the right thing on exit." |
| @@ -319,20 +313,14 @@ This must be bound to a button-down mouse event." | |||
| 319 | ;;; gnus-binary-mode | 313 | ;;; gnus-binary-mode |
| 320 | ;;; | 314 | ;;; |
| 321 | 315 | ||
| 322 | (defvar gnus-binary-mode nil | ||
| 323 | "Minor mode for providing a binary group interface in Gnus summary buffers.") | ||
| 324 | |||
| 325 | (defvar gnus-binary-mode-hook nil | 316 | (defvar gnus-binary-mode-hook nil |
| 326 | "Hook run in summary binary mode buffers.") | 317 | "Hook run in summary binary mode buffers.") |
| 327 | 318 | ||
| 328 | (defvar gnus-binary-mode-map nil) | 319 | (defvar gnus-binary-mode-map |
| 329 | 320 | (let ((map (make-sparse-keymap))) | |
| 330 | (unless gnus-binary-mode-map | 321 | (gnus-define-keys map |
| 331 | (setq gnus-binary-mode-map (make-sparse-keymap)) | 322 | "g" gnus-binary-show-article) |
| 332 | 323 | map)) | |
| 333 | (gnus-define-keys | ||
| 334 | gnus-binary-mode-map | ||
| 335 | "g" gnus-binary-show-article)) | ||
| 336 | 324 | ||
| 337 | (defun gnus-binary-make-menu-bar () | 325 | (defun gnus-binary-make-menu-bar () |
| 338 | (unless (boundp 'gnus-binary-menu) | 326 | (unless (boundp 'gnus-binary-menu) |
| @@ -341,25 +329,20 @@ This must be bound to a button-down mouse event." | |||
| 341 | '("Pick" | 329 | '("Pick" |
| 342 | ["Switch binary mode off" gnus-binary-mode t])))) | 330 | ["Switch binary mode off" gnus-binary-mode t])))) |
| 343 | 331 | ||
| 344 | (defun gnus-binary-mode (&optional arg) | 332 | (define-minor-mode gnus-binary-mode |
| 345 | "Minor mode for providing a binary group interface in Gnus summary buffers." | 333 | "Minor mode for providing a binary group interface in Gnus summary buffers." |
| 346 | (interactive "P") | 334 | :lighter " Binary" :keymap gnus-binary-mode-map |
| 347 | (when (eq major-mode 'gnus-summary-mode) | 335 | (cond |
| 348 | (make-local-variable 'gnus-binary-mode) | 336 | ((not (derived-mode-p 'gnus-summary-mode)) (setq gnus-binary-mode nil)) |
| 349 | (setq gnus-binary-mode | 337 | (gnus-binary-mode |
| 350 | (if (null arg) (not gnus-binary-mode) | 338 | ;; Make sure that we don't select any articles upon group entry. |
| 351 | (> (prefix-numeric-value arg) 0))) | 339 | (make-local-variable 'gnus-auto-select-first) |
| 352 | (when gnus-binary-mode | 340 | (setq gnus-auto-select-first nil) |
| 353 | ;; Make sure that we don't select any articles upon group entry. | 341 | (make-local-variable 'gnus-summary-display-article-function) |
| 354 | (make-local-variable 'gnus-auto-select-first) | 342 | (setq gnus-summary-display-article-function 'gnus-binary-display-article) |
| 355 | (setq gnus-auto-select-first nil) | 343 | ;; Set up the menu. |
| 356 | (make-local-variable 'gnus-summary-display-article-function) | 344 | (when (gnus-visual-p 'binary-menu 'menu) |
| 357 | (setq gnus-summary-display-article-function 'gnus-binary-display-article) | 345 | (gnus-binary-make-menu-bar))))) |
| 358 | ;; Set up the menu. | ||
| 359 | (when (gnus-visual-p 'binary-menu 'menu) | ||
| 360 | (gnus-binary-make-menu-bar)) | ||
| 361 | (add-minor-mode 'gnus-binary-mode " Binary" gnus-binary-mode-map) | ||
| 362 | (gnus-run-hooks 'gnus-binary-mode-hook)))) | ||
| 363 | 346 | ||
| 364 | (defun gnus-binary-display-article (article &optional all-header) | 347 | (defun gnus-binary-display-article (article &optional all-header) |
| 365 | "Run ARTICLE through the binary decode functions." | 348 | "Run ARTICLE through the binary decode functions." |
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index bf08ba6f888..ff51530457f 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el | |||
| @@ -2960,6 +2960,8 @@ If FORCE is non-nil, the .newsrc file is read." | |||
| 2960 | 2960 | ||
| 2961 | (defun gnus-slave-mode () | 2961 | (defun gnus-slave-mode () |
| 2962 | "Minor mode for slave Gnusae." | 2962 | "Minor mode for slave Gnusae." |
| 2963 | ;; FIXME: gnus-slave-mode appears to never be set (i.e. it'll always be nil): | ||
| 2964 | ;; Remove, or fix and use define-minor-mode. | ||
| 2963 | (add-minor-mode 'gnus-slave-mode " Slave" (make-sparse-keymap)) | 2965 | (add-minor-mode 'gnus-slave-mode " Slave" (make-sparse-keymap)) |
| 2964 | (gnus-run-hooks 'gnus-slave-mode-hook)) | 2966 | (gnus-run-hooks 'gnus-slave-mode-hook)) |
| 2965 | 2967 | ||
| @@ -3058,6 +3060,7 @@ If FORCE is non-nil, the .newsrc file is read." | |||
| 3058 | nil) | 3060 | nil) |
| 3059 | (t | 3061 | (t |
| 3060 | (save-excursion | 3062 | (save-excursion |
| 3063 | ;; FIXME: Shouldn't save-restriction be done after set-buffer? | ||
| 3061 | (save-restriction | 3064 | (save-restriction |
| 3062 | (set-buffer nntp-server-buffer) | 3065 | (set-buffer nntp-server-buffer) |
| 3063 | (goto-char (point-min)) | 3066 | (goto-char (point-min)) |
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index d8a36dd77db..7c407476e20 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -7237,33 +7237,21 @@ The state which existed when entering the ephemeral is reset." | |||
| 7237 | 7237 | ||
| 7238 | ;;; Dead summaries. | 7238 | ;;; Dead summaries. |
| 7239 | 7239 | ||
| 7240 | (defvar gnus-dead-summary-mode-map nil) | 7240 | (defvar gnus-dead-summary-mode-map |
| 7241 | 7241 | (let ((map (make-keymap))) | |
| 7242 | (unless gnus-dead-summary-mode-map | 7242 | (suppress-keymap map) |
| 7243 | (setq gnus-dead-summary-mode-map (make-keymap)) | 7243 | (substitute-key-definition 'undefined 'gnus-summary-wake-up-the-dead map) |
| 7244 | (suppress-keymap gnus-dead-summary-mode-map) | 7244 | (dolist (key '("\C-d" "\r" "\177" [delete])) |
| 7245 | (substitute-key-definition | 7245 | (define-key map key 'gnus-summary-wake-up-the-dead)) |
| 7246 | 'undefined 'gnus-summary-wake-up-the-dead gnus-dead-summary-mode-map) | 7246 | (dolist (key '("q" "Q")) |
| 7247 | (dolist (key '("\C-d" "\r" "\177" [delete])) | 7247 | (define-key map key 'bury-buffer)) |
| 7248 | (define-key gnus-dead-summary-mode-map | 7248 | map)) |
| 7249 | key 'gnus-summary-wake-up-the-dead)) | 7249 | |
| 7250 | (dolist (key '("q" "Q")) | 7250 | (define-minor-mode gnus-dead-summary-mode |
| 7251 | (define-key gnus-dead-summary-mode-map key 'bury-buffer))) | ||
| 7252 | |||
| 7253 | (defvar gnus-dead-summary-mode nil | ||
| 7254 | "Minor mode for Gnus summary buffers.") | ||
| 7255 | |||
| 7256 | (defun gnus-dead-summary-mode (&optional arg) | ||
| 7257 | "Minor mode for Gnus summary buffers." | 7251 | "Minor mode for Gnus summary buffers." |
| 7258 | (interactive "P") | 7252 | :lighter " Dead" :keymap gnus-dead-summary-mode-map |
| 7259 | (when (eq major-mode 'gnus-summary-mode) | 7253 | (unless (derived-mode-p 'gnus-summary-mode) |
| 7260 | (make-local-variable 'gnus-dead-summary-mode) | 7254 | (setq gnus-dead-summary-mode nil))) |
| 7261 | (setq gnus-dead-summary-mode | ||
| 7262 | (if (null arg) (not gnus-dead-summary-mode) | ||
| 7263 | (> (prefix-numeric-value arg) 0))) | ||
| 7264 | (when gnus-dead-summary-mode | ||
| 7265 | (add-minor-mode | ||
| 7266 | 'gnus-dead-summary-mode " Dead" gnus-dead-summary-mode-map)))) | ||
| 7267 | 7255 | ||
| 7268 | (defun gnus-deaden-summary () | 7256 | (defun gnus-deaden-summary () |
| 7269 | "Make the current summary buffer into a dead summary buffer." | 7257 | "Make the current summary buffer into a dead summary buffer." |
diff --git a/lisp/gnus/gnus-topic.el b/lisp/gnus/gnus-topic.el index 9d259881b09..b99f1772d5b 100644 --- a/lisp/gnus/gnus-topic.el +++ b/lisp/gnus/gnus-topic.el | |||
| @@ -1140,6 +1140,7 @@ articles in the topic and its subtopics." | |||
| 1140 | 1140 | ||
| 1141 | (defun gnus-topic-mode (&optional arg redisplay) | 1141 | (defun gnus-topic-mode (&optional arg redisplay) |
| 1142 | "Minor mode for topicsifying Gnus group buffers." | 1142 | "Minor mode for topicsifying Gnus group buffers." |
| 1143 | ;; FIXME: Use define-minor-mode. | ||
| 1143 | (interactive (list current-prefix-arg t)) | 1144 | (interactive (list current-prefix-arg t)) |
| 1144 | (when (eq major-mode 'gnus-group-mode) | 1145 | (when (eq major-mode 'gnus-group-mode) |
| 1145 | (make-local-variable 'gnus-topic-mode) | 1146 | (make-local-variable 'gnus-topic-mode) |
diff --git a/lisp/gnus/gnus-undo.el b/lisp/gnus/gnus-undo.el index 8030c084c39..433edef078f 100644 --- a/lisp/gnus/gnus-undo.el +++ b/lisp/gnus/gnus-undo.el | |||
| @@ -59,6 +59,10 @@ | |||
| 59 | :group 'gnus-undo) | 59 | :group 'gnus-undo) |
| 60 | 60 | ||
| 61 | (defcustom gnus-undo-mode nil | 61 | (defcustom gnus-undo-mode nil |
| 62 | ;; FIXME: This is a buffer-local minor mode which requires running | ||
| 63 | ;; code upon activation/deactivation, so defining it as a defcustom | ||
| 64 | ;; doesn't seem very useful: setting it to non-nil via Customize | ||
| 65 | ;; probably won't do the right thing. | ||
| 62 | "Minor mode for undoing in Gnus buffers." | 66 | "Minor mode for undoing in Gnus buffers." |
| 63 | :type 'boolean | 67 | :type 'boolean |
| 64 | :group 'gnus-undo) | 68 | :group 'gnus-undo) |
| @@ -77,17 +81,15 @@ | |||
| 77 | 81 | ||
| 78 | ;;; Minor mode definition. | 82 | ;;; Minor mode definition. |
| 79 | 83 | ||
| 80 | (defvar gnus-undo-mode-map nil) | 84 | (defvar gnus-undo-mode-map |
| 81 | 85 | (let ((map (make-sparse-keymap))) | |
| 82 | (unless gnus-undo-mode-map | 86 | (gnus-define-keys map |
| 83 | (setq gnus-undo-mode-map (make-sparse-keymap)) | 87 | "\M-\C-_" gnus-undo |
| 84 | 88 | "\C-_" gnus-undo | |
| 85 | (gnus-define-keys gnus-undo-mode-map | 89 | "\C-xu" gnus-undo |
| 86 | "\M-\C-_" gnus-undo | 90 | ;; many people are used to type `C-/' on X terminals and get `C-_'. |
| 87 | "\C-_" gnus-undo | 91 | [(control /)] gnus-undo) |
| 88 | "\C-xu" gnus-undo | 92 | map)) |
| 89 | ;; many people are used to type `C-/' on X terminals and get `C-_'. | ||
| 90 | [(control /)] gnus-undo)) | ||
| 91 | 93 | ||
| 92 | (defun gnus-undo-make-menu-bar () | 94 | (defun gnus-undo-make-menu-bar () |
| 93 | ;; This is disabled for the time being. | 95 | ;; This is disabled for the time being. |
| @@ -96,24 +98,19 @@ | |||
| 96 | (cons "Undo" 'gnus-undo-actions) | 98 | (cons "Undo" 'gnus-undo-actions) |
| 97 | [menu-bar file whatever]))) | 99 | [menu-bar file whatever]))) |
| 98 | 100 | ||
| 99 | (defun gnus-undo-mode (&optional arg) | 101 | (define-minor-mode gnus-undo-mode |
| 100 | "Minor mode for providing `undo' in Gnus buffers. | 102 | "Minor mode for providing `undo' in Gnus buffers. |
| 101 | 103 | ||
| 102 | \\{gnus-undo-mode-map}" | 104 | \\{gnus-undo-mode-map}" |
| 103 | (interactive "P") | 105 | :keymap gnus-undo-mode-map |
| 104 | (set (make-local-variable 'gnus-undo-mode) | ||
| 105 | (if (null arg) (not gnus-undo-mode) | ||
| 106 | (> (prefix-numeric-value arg) 0))) | ||
| 107 | (set (make-local-variable 'gnus-undo-actions) nil) | 106 | (set (make-local-variable 'gnus-undo-actions) nil) |
| 108 | (set (make-local-variable 'gnus-undo-boundary) t) | 107 | (set (make-local-variable 'gnus-undo-boundary) t) |
| 109 | (when gnus-undo-mode | 108 | (when gnus-undo-mode |
| 110 | ;; Set up the menu. | 109 | ;; Set up the menu. |
| 111 | (when (gnus-visual-p 'undo-menu 'menu) | 110 | (when (gnus-visual-p 'undo-menu 'menu) |
| 112 | (gnus-undo-make-menu-bar)) | 111 | (gnus-undo-make-menu-bar)) |
| 113 | (add-minor-mode 'gnus-undo-mode "" gnus-undo-mode-map) | ||
| 114 | (gnus-make-local-hook 'post-command-hook) | 112 | (gnus-make-local-hook 'post-command-hook) |
| 115 | (add-hook 'post-command-hook 'gnus-undo-boundary nil t) | 113 | (add-hook 'post-command-hook 'gnus-undo-boundary nil t))) |
| 116 | (gnus-run-hooks 'gnus-undo-mode-hook))) | ||
| 117 | 114 | ||
| 118 | ;;; Interface functions. | 115 | ;;; Interface functions. |
| 119 | 116 | ||
diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el index f262dc6b3cb..a5670e3c8b6 100644 --- a/lisp/gnus/mml.el +++ b/lisp/gnus/mml.el | |||
| @@ -898,8 +898,7 @@ If HANDLES is non-nil, use it instead reparsing the buffer." | |||
| 898 | ;; Determine type and stuff. | 898 | ;; Determine type and stuff. |
| 899 | (unless (stringp (car handle)) | 899 | (unless (stringp (car handle)) |
| 900 | (unless (setq textp (equal (mm-handle-media-supertype handle) "text")) | 900 | (unless (setq textp (equal (mm-handle-media-supertype handle) "text")) |
| 901 | (save-excursion | 901 | (with-current-buffer (setq buffer (mml-generate-new-buffer " *mml*")) |
| 902 | (set-buffer (setq buffer (mml-generate-new-buffer " *mml*"))) | ||
| 903 | (if (eq (mail-content-type-get (mm-handle-type handle) 'charset) | 902 | (if (eq (mail-content-type-get (mm-handle-type handle) 'charset) |
| 904 | 'gnus-decoded) | 903 | 'gnus-decoded) |
| 905 | ;; A part that mm-uu dissected from a non-MIME message | 904 | ;; A part that mm-uu dissected from a non-MIME message |
| @@ -1126,25 +1125,18 @@ If HANDLES is non-nil, use it instead reparsing the buffer." | |||
| 1126 | ,@(if (featurep 'xemacs) '(t) | 1125 | ,@(if (featurep 'xemacs) '(t) |
| 1127 | '(:help "Display the EasyPG manual"))])) | 1126 | '(:help "Display the EasyPG manual"))])) |
| 1128 | 1127 | ||
| 1129 | (defvar mml-mode nil | 1128 | (define-minor-mode mml-mode |
| 1130 | "Minor mode for editing MML.") | ||
| 1131 | |||
| 1132 | (defun mml-mode (&optional arg) | ||
| 1133 | "Minor mode for editing MML. | 1129 | "Minor mode for editing MML. |
| 1134 | MML is the MIME Meta Language, a minor mode for composing MIME articles. | 1130 | MML is the MIME Meta Language, a minor mode for composing MIME articles. |
| 1135 | See Info node `(emacs-mime)Composing'. | 1131 | See Info node `(emacs-mime)Composing'. |
| 1136 | 1132 | ||
| 1137 | \\{mml-mode-map}" | 1133 | \\{mml-mode-map}" |
| 1138 | (interactive "P") | 1134 | :lighter " MML" :keymap mml-mode-map |
| 1139 | (when (set (make-local-variable 'mml-mode) | 1135 | (when mml-mode |
| 1140 | (if (null arg) (not mml-mode) | ||
| 1141 | (> (prefix-numeric-value arg) 0))) | ||
| 1142 | (add-minor-mode 'mml-mode " MML" mml-mode-map) | ||
| 1143 | (easy-menu-add mml-menu mml-mode-map) | 1136 | (easy-menu-add mml-menu mml-mode-map) |
| 1144 | (when (boundp 'dnd-protocol-alist) | 1137 | (when (boundp 'dnd-protocol-alist) |
| 1145 | (set (make-local-variable 'dnd-protocol-alist) | 1138 | (set (make-local-variable 'dnd-protocol-alist) |
| 1146 | (append mml-dnd-protocol-alist dnd-protocol-alist))) | 1139 | (append mml-dnd-protocol-alist dnd-protocol-alist))))) |
| 1147 | (run-hooks 'mml-mode-hook))) | ||
| 1148 | 1140 | ||
| 1149 | ;;; | 1141 | ;;; |
| 1150 | ;;; Helper functions for reading MIME stuff from the minibuffer and | 1142 | ;;; Helper functions for reading MIME stuff from the minibuffer and |