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.
This commit is contained in:
parent
a101e0fbac
commit
bbf52f1e6f
10 changed files with 151 additions and 195 deletions
|
@ -1,3 +1,21 @@
|
|||
2010-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
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.
|
||||
|
||||
2010-04-27 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-util.el: Don't load tm and apel XEmacs packages when compiling.
|
||||
|
|
|
@ -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 ()
|
||||
|
|
|
@ -35,20 +35,15 @@
|
|||
|
||||
;;; 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 +56,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
|
||||
|
||||
|
|
|
@ -33,24 +33,19 @@
|
|||
|
||||
;;; 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
|
||||
|
@ -88,21 +83,19 @@ If FORCE is non-nil, replace the old ones."
|
|||
(gnus-message 1 "no list-post in this message."))))
|
||||
|
||||
;;;###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
|
||||
|
||||
|
|
|
@ -35,10 +35,6 @@
|
|||
;;; gnus-pick-mode
|
||||
;;;
|
||||
|
||||
(defvar gnus-pick-mode nil
|
||||
"Minor mode for providing a pick-and-read interface in Gnus
|
||||
summary buffers.")
|
||||
|
||||
(defcustom gnus-pick-display-summary nil
|
||||
"*Display summary while reading."
|
||||
:type 'boolean
|
||||
|
@ -72,17 +68,15 @@ It accepts the same format specs that `gnus-summary-line-format' does."
|
|||
|
||||
;;; Internal variables.
|
||||
|
||||
(defvar gnus-pick-mode-map nil)
|
||||
|
||||
(unless gnus-pick-mode-map
|
||||
(setq gnus-pick-mode-map (make-sparse-keymap))
|
||||
|
||||
(gnus-define-keys gnus-pick-mode-map
|
||||
" " gnus-pick-next-page
|
||||
"u" gnus-pick-unmark-article-or-thread
|
||||
"." gnus-pick-article-or-thread
|
||||
gnus-down-mouse-2 gnus-pick-mouse-pick-region
|
||||
"\r" gnus-pick-start-reading))
|
||||
(defvar gnus-pick-mode-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(gnus-define-keys map
|
||||
" " gnus-pick-next-page
|
||||
"u" gnus-pick-unmark-article-or-thread
|
||||
"." gnus-pick-article-or-thread
|
||||
gnus-down-mouse-2 gnus-pick-mouse-pick-region
|
||||
"\r" gnus-pick-start-reading)
|
||||
map))
|
||||
|
||||
(defun gnus-pick-make-menu-bar ()
|
||||
(unless (boundp 'gnus-pick-menu)
|
||||
|
@ -104,30 +98,30 @@ It accepts the same format specs that `gnus-summary-line-format' does."
|
|||
["Start reading" gnus-pick-start-reading t]
|
||||
["Switch pick mode off" gnus-pick-mode gnus-pick-mode]))))
|
||||
|
||||
(defun gnus-pick-mode (&optional arg)
|
||||
(define-minor-mode gnus-pick-mode
|
||||
"Minor mode for providing a pick-and-read interface in Gnus summary buffers.
|
||||
|
||||
\\{gnus-pick-mode-map}"
|
||||
(interactive "P")
|
||||
(when (eq major-mode 'gnus-summary-mode)
|
||||
(if (not (set (make-local-variable 'gnus-pick-mode)
|
||||
(if (null arg) (not gnus-pick-mode)
|
||||
(> (prefix-numeric-value arg) 0))))
|
||||
(remove-hook 'gnus-message-setup-hook 'gnus-pick-setup-message)
|
||||
;; Make sure that we don't select any articles upon group entry.
|
||||
(set (make-local-variable 'gnus-auto-select-first) nil)
|
||||
;; Change line format.
|
||||
(setq gnus-summary-line-format gnus-summary-pick-line-format)
|
||||
(setq gnus-summary-line-format-spec nil)
|
||||
(gnus-update-format-specifications nil 'summary)
|
||||
(gnus-update-summary-mark-positions)
|
||||
(add-hook 'gnus-message-setup-hook 'gnus-pick-setup-message)
|
||||
(set (make-local-variable 'gnus-summary-goto-unread) 'never)
|
||||
;; Set up the menu.
|
||||
(when (gnus-visual-p 'pick-menu 'menu)
|
||||
(gnus-pick-make-menu-bar))
|
||||
(add-minor-mode 'gnus-pick-mode " Pick" gnus-pick-mode-map)
|
||||
(gnus-run-hooks 'gnus-pick-mode-hook))))
|
||||
:lighter " Pick" :keymap gnus-pick-mode-map
|
||||
(cond
|
||||
((not (derived-mode-p 'gnus-summary-mode)) (setq gnus-pick-mode nil))
|
||||
((not gnus-pick-mode)
|
||||
;; FIXME: a buffer-local minor mode removing globally from a hook??
|
||||
(remove-hook 'gnus-message-setup-hook 'gnus-pick-setup-message))
|
||||
(t
|
||||
;; Make sure that we don't select any articles upon group entry.
|
||||
(set (make-local-variable 'gnus-auto-select-first) nil)
|
||||
;; Change line format.
|
||||
(setq gnus-summary-line-format gnus-summary-pick-line-format)
|
||||
(setq gnus-summary-line-format-spec nil)
|
||||
(gnus-update-format-specifications nil 'summary)
|
||||
(gnus-update-summary-mark-positions)
|
||||
;; FIXME: a buffer-local minor mode adding globally to a hook??
|
||||
(add-hook 'gnus-message-setup-hook 'gnus-pick-setup-message)
|
||||
(set (make-local-variable 'gnus-summary-goto-unread) 'never)
|
||||
;; Set up the menu.
|
||||
(when (gnus-visual-p 'pick-menu 'menu)
|
||||
(gnus-pick-make-menu-bar)))))
|
||||
|
||||
(defun gnus-pick-setup-message ()
|
||||
"Make Message do the right thing on exit."
|
||||
|
@ -319,20 +313,14 @@ This must be bound to a button-down mouse event."
|
|||
;;; gnus-binary-mode
|
||||
;;;
|
||||
|
||||
(defvar gnus-binary-mode nil
|
||||
"Minor mode for providing a binary group interface in Gnus summary buffers.")
|
||||
|
||||
(defvar gnus-binary-mode-hook nil
|
||||
"Hook run in summary binary mode buffers.")
|
||||
|
||||
(defvar gnus-binary-mode-map nil)
|
||||
|
||||
(unless gnus-binary-mode-map
|
||||
(setq gnus-binary-mode-map (make-sparse-keymap))
|
||||
|
||||
(gnus-define-keys
|
||||
gnus-binary-mode-map
|
||||
"g" gnus-binary-show-article))
|
||||
(defvar gnus-binary-mode-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(gnus-define-keys map
|
||||
"g" gnus-binary-show-article)
|
||||
map))
|
||||
|
||||
(defun gnus-binary-make-menu-bar ()
|
||||
(unless (boundp 'gnus-binary-menu)
|
||||
|
@ -341,25 +329,20 @@ This must be bound to a button-down mouse event."
|
|||
'("Pick"
|
||||
["Switch binary mode off" gnus-binary-mode t]))))
|
||||
|
||||
(defun gnus-binary-mode (&optional arg)
|
||||
(define-minor-mode gnus-binary-mode
|
||||
"Minor mode for providing a binary group interface in Gnus summary buffers."
|
||||
(interactive "P")
|
||||
(when (eq major-mode 'gnus-summary-mode)
|
||||
(make-local-variable 'gnus-binary-mode)
|
||||
(setq gnus-binary-mode
|
||||
(if (null arg) (not gnus-binary-mode)
|
||||
(> (prefix-numeric-value arg) 0)))
|
||||
(when gnus-binary-mode
|
||||
;; Make sure that we don't select any articles upon group entry.
|
||||
(make-local-variable 'gnus-auto-select-first)
|
||||
(setq gnus-auto-select-first nil)
|
||||
(make-local-variable 'gnus-summary-display-article-function)
|
||||
(setq gnus-summary-display-article-function 'gnus-binary-display-article)
|
||||
;; Set up the menu.
|
||||
(when (gnus-visual-p 'binary-menu 'menu)
|
||||
(gnus-binary-make-menu-bar))
|
||||
(add-minor-mode 'gnus-binary-mode " Binary" gnus-binary-mode-map)
|
||||
(gnus-run-hooks 'gnus-binary-mode-hook))))
|
||||
:lighter " Binary" :keymap gnus-binary-mode-map
|
||||
(cond
|
||||
((not (derived-mode-p 'gnus-summary-mode)) (setq gnus-binary-mode nil))
|
||||
(gnus-binary-mode
|
||||
;; Make sure that we don't select any articles upon group entry.
|
||||
(make-local-variable 'gnus-auto-select-first)
|
||||
(setq gnus-auto-select-first nil)
|
||||
(make-local-variable 'gnus-summary-display-article-function)
|
||||
(setq gnus-summary-display-article-function 'gnus-binary-display-article)
|
||||
;; Set up the menu.
|
||||
(when (gnus-visual-p 'binary-menu 'menu)
|
||||
(gnus-binary-make-menu-bar)))))
|
||||
|
||||
(defun gnus-binary-display-article (article &optional all-header)
|
||||
"Run ARTICLE through the binary decode functions."
|
||||
|
|
|
@ -2960,6 +2960,8 @@ If FORCE is non-nil, the .newsrc file is read."
|
|||
|
||||
(defun gnus-slave-mode ()
|
||||
"Minor mode for slave Gnusae."
|
||||
;; FIXME: gnus-slave-mode appears to never be set (i.e. it'll always be nil):
|
||||
;; Remove, or fix and use define-minor-mode.
|
||||
(add-minor-mode 'gnus-slave-mode " Slave" (make-sparse-keymap))
|
||||
(gnus-run-hooks 'gnus-slave-mode-hook))
|
||||
|
||||
|
@ -3058,6 +3060,7 @@ If FORCE is non-nil, the .newsrc file is read."
|
|||
nil)
|
||||
(t
|
||||
(save-excursion
|
||||
;; FIXME: Shouldn't save-restriction be done after set-buffer?
|
||||
(save-restriction
|
||||
(set-buffer nntp-server-buffer)
|
||||
(goto-char (point-min))
|
||||
|
|
|
@ -7237,33 +7237,21 @@ The state which existed when entering the ephemeral is reset."
|
|||
|
||||
;;; Dead summaries.
|
||||
|
||||
(defvar gnus-dead-summary-mode-map nil)
|
||||
(defvar gnus-dead-summary-mode-map
|
||||
(let ((map (make-keymap)))
|
||||
(suppress-keymap map)
|
||||
(substitute-key-definition 'undefined 'gnus-summary-wake-up-the-dead map)
|
||||
(dolist (key '("\C-d" "\r" "\177" [delete]))
|
||||
(define-key map key 'gnus-summary-wake-up-the-dead))
|
||||
(dolist (key '("q" "Q"))
|
||||
(define-key map key 'bury-buffer))
|
||||
map))
|
||||
|
||||
(unless gnus-dead-summary-mode-map
|
||||
(setq gnus-dead-summary-mode-map (make-keymap))
|
||||
(suppress-keymap gnus-dead-summary-mode-map)
|
||||
(substitute-key-definition
|
||||
'undefined 'gnus-summary-wake-up-the-dead gnus-dead-summary-mode-map)
|
||||
(dolist (key '("\C-d" "\r" "\177" [delete]))
|
||||
(define-key gnus-dead-summary-mode-map
|
||||
key 'gnus-summary-wake-up-the-dead))
|
||||
(dolist (key '("q" "Q"))
|
||||
(define-key gnus-dead-summary-mode-map key 'bury-buffer)))
|
||||
|
||||
(defvar gnus-dead-summary-mode nil
|
||||
"Minor mode for Gnus summary buffers.")
|
||||
|
||||
(defun gnus-dead-summary-mode (&optional arg)
|
||||
(define-minor-mode gnus-dead-summary-mode
|
||||
"Minor mode for Gnus summary buffers."
|
||||
(interactive "P")
|
||||
(when (eq major-mode 'gnus-summary-mode)
|
||||
(make-local-variable 'gnus-dead-summary-mode)
|
||||
(setq gnus-dead-summary-mode
|
||||
(if (null arg) (not gnus-dead-summary-mode)
|
||||
(> (prefix-numeric-value arg) 0)))
|
||||
(when gnus-dead-summary-mode
|
||||
(add-minor-mode
|
||||
'gnus-dead-summary-mode " Dead" gnus-dead-summary-mode-map))))
|
||||
:lighter " Dead" :keymap gnus-dead-summary-mode-map
|
||||
(unless (derived-mode-p 'gnus-summary-mode)
|
||||
(setq gnus-dead-summary-mode nil)))
|
||||
|
||||
(defun gnus-deaden-summary ()
|
||||
"Make the current summary buffer into a dead summary buffer."
|
||||
|
|
|
@ -1140,6 +1140,7 @@ articles in the topic and its subtopics."
|
|||
|
||||
(defun gnus-topic-mode (&optional arg redisplay)
|
||||
"Minor mode for topicsifying Gnus group buffers."
|
||||
;; FIXME: Use define-minor-mode.
|
||||
(interactive (list current-prefix-arg t))
|
||||
(when (eq major-mode 'gnus-group-mode)
|
||||
(make-local-variable 'gnus-topic-mode)
|
||||
|
|
|
@ -59,6 +59,10 @@
|
|||
:group 'gnus-undo)
|
||||
|
||||
(defcustom gnus-undo-mode nil
|
||||
;; FIXME: This is a buffer-local minor mode which requires running
|
||||
;; code upon activation/deactivation, so defining it as a defcustom
|
||||
;; doesn't seem very useful: setting it to non-nil via Customize
|
||||
;; probably won't do the right thing.
|
||||
"Minor mode for undoing in Gnus buffers."
|
||||
:type 'boolean
|
||||
:group 'gnus-undo)
|
||||
|
@ -77,17 +81,15 @@
|
|||
|
||||
;;; Minor mode definition.
|
||||
|
||||
(defvar gnus-undo-mode-map nil)
|
||||
|
||||
(unless gnus-undo-mode-map
|
||||
(setq gnus-undo-mode-map (make-sparse-keymap))
|
||||
|
||||
(gnus-define-keys gnus-undo-mode-map
|
||||
"\M-\C-_" gnus-undo
|
||||
"\C-_" gnus-undo
|
||||
"\C-xu" gnus-undo
|
||||
;; many people are used to type `C-/' on X terminals and get `C-_'.
|
||||
[(control /)] gnus-undo))
|
||||
(defvar gnus-undo-mode-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(gnus-define-keys map
|
||||
"\M-\C-_" gnus-undo
|
||||
"\C-_" gnus-undo
|
||||
"\C-xu" gnus-undo
|
||||
;; many people are used to type `C-/' on X terminals and get `C-_'.
|
||||
[(control /)] gnus-undo)
|
||||
map))
|
||||
|
||||
(defun gnus-undo-make-menu-bar ()
|
||||
;; This is disabled for the time being.
|
||||
|
@ -96,24 +98,19 @@
|
|||
(cons "Undo" 'gnus-undo-actions)
|
||||
[menu-bar file whatever])))
|
||||
|
||||
(defun gnus-undo-mode (&optional arg)
|
||||
(define-minor-mode gnus-undo-mode
|
||||
"Minor mode for providing `undo' in Gnus buffers.
|
||||
|
||||
\\{gnus-undo-mode-map}"
|
||||
(interactive "P")
|
||||
(set (make-local-variable 'gnus-undo-mode)
|
||||
(if (null arg) (not gnus-undo-mode)
|
||||
(> (prefix-numeric-value arg) 0)))
|
||||
:keymap gnus-undo-mode-map
|
||||
(set (make-local-variable 'gnus-undo-actions) nil)
|
||||
(set (make-local-variable 'gnus-undo-boundary) t)
|
||||
(when gnus-undo-mode
|
||||
;; Set up the menu.
|
||||
(when (gnus-visual-p 'undo-menu 'menu)
|
||||
(gnus-undo-make-menu-bar))
|
||||
(add-minor-mode 'gnus-undo-mode "" gnus-undo-mode-map)
|
||||
(gnus-make-local-hook 'post-command-hook)
|
||||
(add-hook 'post-command-hook 'gnus-undo-boundary nil t)
|
||||
(gnus-run-hooks 'gnus-undo-mode-hook)))
|
||||
(add-hook 'post-command-hook 'gnus-undo-boundary nil t)))
|
||||
|
||||
;;; Interface functions.
|
||||
|
||||
|
|
|
@ -898,8 +898,7 @@ If HANDLES is non-nil, use it instead reparsing the buffer."
|
|||
;; Determine type and stuff.
|
||||
(unless (stringp (car handle))
|
||||
(unless (setq textp (equal (mm-handle-media-supertype handle) "text"))
|
||||
(save-excursion
|
||||
(set-buffer (setq buffer (mml-generate-new-buffer " *mml*")))
|
||||
(with-current-buffer (setq buffer (mml-generate-new-buffer " *mml*"))
|
||||
(if (eq (mail-content-type-get (mm-handle-type handle) 'charset)
|
||||
'gnus-decoded)
|
||||
;; 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."
|
|||
,@(if (featurep 'xemacs) '(t)
|
||||
'(:help "Display the EasyPG manual"))]))
|
||||
|
||||
(defvar mml-mode nil
|
||||
"Minor mode for editing MML.")
|
||||
|
||||
(defun mml-mode (&optional arg)
|
||||
(define-minor-mode mml-mode
|
||||
"Minor mode for editing MML.
|
||||
MML is the MIME Meta Language, a minor mode for composing MIME articles.
|
||||
See Info node `(emacs-mime)Composing'.
|
||||
|
||||
\\{mml-mode-map}"
|
||||
(interactive "P")
|
||||
(when (set (make-local-variable 'mml-mode)
|
||||
(if (null arg) (not mml-mode)
|
||||
(> (prefix-numeric-value arg) 0)))
|
||||
(add-minor-mode 'mml-mode " MML" mml-mode-map)
|
||||
:lighter " MML" :keymap mml-mode-map
|
||||
(when mml-mode
|
||||
(easy-menu-add mml-menu mml-mode-map)
|
||||
(when (boundp 'dnd-protocol-alist)
|
||||
(set (make-local-variable 'dnd-protocol-alist)
|
||||
(append mml-dnd-protocol-alist dnd-protocol-alist)))
|
||||
(run-hooks 'mml-mode-hook)))
|
||||
(append mml-dnd-protocol-alist dnd-protocol-alist)))))
|
||||
|
||||
;;;
|
||||
;;; Helper functions for reading MIME stuff from the minibuffer and
|
||||
|
|
Loading…
Add table
Reference in a new issue