X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=tm-gnus3.el;h=38ef4a432734dd8bd6d9314c597f5cff75e86ebc;hb=fe8761fcfaa18799752717f6b39c95304e1e6192;hp=8143b82c332fc029f5dc36ecf97cae399ab59c43;hpb=c8d67b7f628b6e02157bbee9018bcf0ef9b4f16d;p=elisp%2Ftm.git diff --git a/tm-gnus3.el b/tm-gnus3.el index 8143b82..38ef4a4 100644 --- a/tm-gnus3.el +++ b/tm-gnus3.el @@ -1,69 +1,51 @@ ;;; -;;; $Id: tm-gnus3.el,v 2.0 1994/07/24 08:33:00 morioka Exp morioka $ +;;; $Id: tm-gnus3.el,v 5.4 1994/10/25 08:29:17 morioka Exp $ ;;; (provide 'tm-gnus3) (require 'tm-gnus) - -(if (and (null gnus-Startup-hook) - (boundp 'gnus-startup-hook)) - (setq gnus-Startup-hook gnus-startup-hook) - ) -(if (and (null gnus-Select-group-hook) - (boundp 'gnus-select-group-hook)) - (setq gnus-Select-group-hook gnus-select-group-hook) - ) -(if (and (null gnus-Subject-mode-hook) - (boundp 'gnus-summary-mode-hook)) - (setq gnus-Subject-mode-hook gnus-summary-mode-hook) - ) -(if (and (null gnus-Article-mode-hook) - (boundp 'gnus-article-mode-hook)) - (setq gnus-Article-mode-hook gnus-article-mode-hook) - ) -(if (and (null gnus-Article-prepare-hook) - (boundp 'gnus-article-prepare-hook)) - (setq gnus-Article-prepare-hook gnus-article-prepare-hook) - ) - -(defun tm-gnus/full-decode-message-old (arg) - "MIME full-decode this article." +(require 'tm-view) +(require 'tl-list) + +(setq mime/go-to-top-node-method-alist + (put-alist 'gnus-Article-mode + (if (string-match (regexp-quote "3.14.4") gnus-version) + (function + (lambda () + (mime/exit-view-mode) + (delete-other-windows) + (gnus-Article-show-summary) + )) + (function + (lambda () + (mime/exit-view-mode) + (delete-other-windows) + (gnus-Article-show-subjects) + ))) + mime/go-to-top-node-method-alist)) + +(defun tm-gnus/view-message (arg) + "MIME decode and play this message." (interactive "P") - (let ((gnus-Article-prepare-hook mime/body-decoding-method)) - ;; The following is a trick - ;; to force to read the current article again. - (setq gnus-have-all-headers (not gnus-have-all-headers)) - (gnus-summary-select-article (not gnus-have-all-headers) t) - )) + (let ((gnus-break-pages nil)) + (gnus-Subject-select-article t t) + ) + (pop-to-buffer gnus-Article-buffer t) + (mime/viewer-mode) + ) -(add-hook 'gnus-Select-group-hook - (function - (lambda () - (mapcar (function - (lambda (header) - (nntp-set-header-subject - header - (mime/decode-string (gnus-header-subject header)) - ))) - gnus-newsgroup-headers) - ))) +(add-hook 'gnus-Select-group-hook (function tm-gnus/decode-summary-subjects)) (define-key gnus-Subject-mode-map "\et" 'tm-gnus/toggle-mime-header-decoding-mode) -(define-key gnus-Subject-mode-map "v" 'tm-gnus/play-message) -(define-key gnus-Subject-mode-map "e" 'tm-gnus/extract-message) -(define-key gnus-Subject-mode-map "\C-cp" 'tm-gnus/print-message) +(define-key gnus-Subject-mode-map "v" 'tm-gnus/view-message) (fset 'gnus-summary-select-article 'gnus-Subject-select-article) (fset 'gnus-Article-set-mode-line 'tm-gnus/article-set-mode-line) (add-hook 'gnus-Article-prepare-hook - (function - (lambda () - (if mime/header-decoding-mode - (mime/decode-message-header) - ))) t) + (function mime/decode-message-header-if-you-need) t) (if (not (string-match "^GNUS 3\.14\.4" gnus-version)) (progn @@ -73,13 +55,8 @@ (make-local-variable 'minor-mode-alist) (mime/add-header-decoding-mode-to-mode-line) ))) - - (fset 'tm-gnus/full-decode-message 'tm-gnus/full-decode-message-old) ) (progn (add-hook 'gnus-Article-mode-hook (function mime/add-header-decoding-mode-to-mode-line)) - - (fset 'tm-gnus/full-decode-message 'tm-gnus/full-decode-message-new) - (setq gnus-show-mime-method mime/body-decoding-method) ))