Mercurial > hg > xemacs-beta
diff lisp/tm/gnus-sum-mime.el @ 4:b82b59fe008d r19-15b3
Import from CVS: tag r19-15b3
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:46:56 +0200 |
parents | |
children | 4b173ad71786 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/tm/gnus-sum-mime.el Mon Aug 13 08:46:56 2007 +0200 @@ -0,0 +1,104 @@ +;;; gnus-sum-mime.el --- MIME extension for summary mode of Gnus + +;; Copyright (C) 1995,1996 Free Software Foundation, Inc. + +;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp> +;; Created: 1996/8/6 +;; Version: +;; $Id: gnus-sum-mime.el,v 1.1.1.1 1996/12/18 03:55:31 steve Exp $ +;; Keywords: news, MIME, multimedia, multilingual, encoded-word + +;; This file is not part of GNU Emacs yet. + +;; This program is free software; you can redistribute it and/or +;; modify it under the terms of the GNU General Public License as +;; published by the Free Software Foundation; either version 2, or (at +;; your option) any later version. + +;; This program is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Code: + +(require 'gnus-mime) +(require 'gnus-art-mime) + + +;;; @ summary filter +;;; + +(defun gnus-set-summary-default-charset () + (let ((charset + (if (buffer-live-p gnus-summary-buffer) + (save-excursion + (set-buffer gnus-summary-buffer) + (let ((ret (assoc-if (function + (lambda (key) + (string-match key gnus-newsgroup-name) + )) + gnus-newsgroup-default-charset-alist) + )) + (if ret + (progn + (make-local-variable 'default-mime-charset) + (setq default-mime-charset (cdr ret)) + )) + ) + default-mime-charset) + default-mime-charset))) + (goto-char (point-min)) + (while (< (point)(point-max)) + (decode-mime-charset-region (point) + (progn + (end-of-line) + (point)) + charset) + (end-of-line) + (forward-char) + ))) + + +;;; @ command functions +;;; + +(defun gnus-summary-preview-mime-message (arg) + "MIME decode and play this message." + (interactive "P") + (let ((gnus-break-pages nil)) + (gnus-summary-select-article t t) + ) + (pop-to-buffer gnus-original-article-buffer t) + (let (buffer-read-only) + (if (text-property-any (point-min) (point-max) 'invisible t) + (remove-text-properties (point-min) (point-max) + gnus-hidden-properties) + )) + (mime/viewer-mode nil nil nil gnus-original-article-buffer + gnus-article-buffer) + ) + +(defun gnus-summary-scroll-down () + "Scroll down one line current article." + (interactive) + (gnus-summary-scroll-up -1) + ) + +(define-key gnus-summary-mode-map "v" + (function gnus-summary-preview-mime-message)) +(define-key gnus-summary-mode-map "\e\r" + (function gnus-summary-scroll-down)) + + +;;; @ end +;;; + +(provide 'gnus-sum-mime) + +;;; gnus-sum-mime.el ends here