;;; ;;; $Id: tm-gnus3.el,v 5.1 1994/10/03 03:45:44 morioka Exp $ ;;; (provide 'tm-gnus3) (require 'tm-gnus) (require 'tm-view) (require 'tl-list) (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) ) (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-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) ))) (define-key gnus-Subject-mode-map "\et" 'tm-gnus/toggle-mime-header-decoding-mode) (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) (if (not (string-match "^GNUS 3\.14\.4" gnus-version)) (progn (add-hook 'gnus-Article-mode-hook (function (lambda () (make-local-variable 'minor-mode-alist) (mime/add-header-decoding-mode-to-mode-line) ))) ) (progn (add-hook 'gnus-Article-mode-hook (function mime/add-header-decoding-mode-to-mode-line)) ))