2 ;;; tm-gnus3.el --- tm-gnus module for GNUS 3.*
14 (defconst tm-gnus/RCS-ID
15 "$Id: tm-gnus3.el,v 7.0 1995/10/22 12:02:04 morioka Exp $")
17 (defconst tm-gnus/version
18 (concat (get-version-string tm-gnus/RCS-ID) " for GNUS 3"))
24 (autoload 'mime/viewer-mode "tm-view" "View MIME message." t)
26 (defun tm-gnus/view-message (arg)
27 "MIME decode and play this message."
29 (let ((gnus-break-pages nil))
30 (gnus-Subject-select-article t t)
32 (pop-to-buffer gnus-Article-buffer t)
40 (set-alist 'mime-viewer/quitting-method-alist
42 (if (string-match (regexp-quote "3.14.4") gnus-version)
45 (mime-viewer/kill-buffer)
46 (delete-other-windows)
47 (gnus-Article-show-summary)
51 (mime-viewer/kill-buffer)
52 (delete-other-windows)
53 (gnus-Article-show-subjects)
66 (set-atype 'mime/content-decoding-condition
67 '((type . "message/partial")
68 (method . mime-article/grab-message/partials)
69 (major-mode . gnus-Article-mode)
70 (summary-buffer-exp . gnus-Subject-buffer)
73 (set-alist 'tm-partial/preview-article-method-alist
77 (tm-gnus/view-message (gnus-Subject-article-number))
82 ;;; @ Summary decoding
85 (add-hook 'gnus-Select-group-hook (function tm-gnus/decode-summary-subjects))
91 (define-key gnus-Subject-mode-map "\et" 'tm-gnus/toggle-decoding-mode)
92 (define-key gnus-Subject-mode-map "v" 'tm-gnus/view-message)
94 (fset 'gnus-summary-select-article 'gnus-Subject-select-article)
96 (fset 'gnus-Article-set-mode-line 'tm-gnus/article-set-mode-line)
98 (defun tm-gnus/decode-encoded-word-if-you-need ()
99 (if (and tm-gnus/decoding-mode
100 (cond ((boundp 'all-headers) (not all-headers))
103 (mime/decode-message-header)
106 (add-hook 'gnus-Article-prepare-hook
107 (function tm-gnus/decode-encoded-word-if-you-need) t)
109 (if (not (string-match "^GNUS 3\.14\.4" gnus-version))
111 (add-hook 'gnus-Article-mode-hook
114 (make-local-variable 'minor-mode-alist)
115 (tm-gnus/add-decoding-mode-to-mode-line)
119 (add-hook 'gnus-Article-mode-hook
120 (function tm-gnus/add-decoding-mode-to-mode-line))