;;; ;;; A MIME extension for GNUS ;;; ;;; by Morioka Tomohiko, 1993/11/20 ;;; (provide 'tm-gnus) ;;; @ require modules ;;; (require 'tm-misc) (require 'tl-str) (require 'gnus) ;;; @ version ;;; (defconst tm-gnus/RCS-ID "$Id: tm-gnus.el,v 5.1 1994/10/25 07:17:51 morioka Exp $") (defconst tm-gnus/version (get-version-string tm-gnus/RCS-ID)) ;;; @ variables ;;; (defvar tm-gnus/startup-hook nil) ;;; @ to decode subjects in mode-line ;;; ;; This function imported from gnus.el. ;; ;; New implementation in gnus 3.14.3 ;; (defun tm-gnus/article-set-mode-line () "Set Article mode line string. If you don't like it, define your own gnus-article-set-mode-line." (let ((maxlen 15) ;Maximum subject length (subject (if gnus-current-headers (mime/decode-string (nntp-header-subject gnus-current-headers)) "") )) ;; The value must be a string to escape %-constructs because of subject. (setq mode-line-buffer-identification (format "GNUS: %s%s %s%s%s" gnus-newsgroup-name (if gnus-current-article (format "/%d" gnus-current-article) "") (rightful-boundary-short-string subject (min (string-width subject) maxlen)) (if (> (string-width subject) maxlen) "..." "") (make-string (max 0 (- 17 (string-width subject))) ? ) ))) (set-buffer-modified-p t)) ;;; @ to decode subjects in Summary buffer ;;; (defun tm-gnus/decode-summary-subjects () (mapcar (function (lambda (header) (nntp-set-header-subject header (mime/decode-string (gnus-header-subject header)) ))) gnus-newsgroup-headers) ) ;;; @ change MIME header decoding mode, decoding or non decoding. ;;; (defun tm-gnus/set-mime-header-decoding-mode (arg) "Set MIME header processing. With arg, turn MIME processing on iff arg is positive." (setq mime/header-decoding-mode arg) (setq gnus-have-all-headers (not gnus-have-all-headers)) (gnus-summary-select-article (not gnus-have-all-headers) t) ) (defun tm-gnus/toggle-mime-header-decoding-mode () "Toggle MIME header processing. With arg, turn MIME processing on iff arg is positive." (interactive) (tm-gnus/set-mime-header-decoding-mode (not mime/header-decoding-mode)) ) ;;; @ set up ;;; (if (string-match "^GNUS [0-3]" gnus-version) (require 'tm-gnus3) (require 'tm-gnus4) ) (run-hooks 'tm-gnus/startup-hook)