;;; mm-view.el --- functions for viewing MIME objects
;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;; 2005, 2006 Free Software Foundation, Inc.
+;; 2005, 2006, 2007 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; This file is part of GNU Emacs.
;; GNU Emacs 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)
+;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
(require 'mailcap)
(require 'mm-bodies)
(require 'mm-decode)
+(require 'smime)
(eval-and-compile
(autoload 'gnus-article-prepare-display "gnus-art")
(autoload 'vcard-parse-string "vcard")
(autoload 'vcard-format-string "vcard")
(autoload 'fill-flowed "flow-fill")
- (autoload 'html2text "html2text"))
+ (autoload 'html2text "html2text" nil t))
(defvar gnus-article-mime-handles)
(defvar gnus-newsgroup-charset)
handle
`(lambda ()
(let (buffer-read-only)
- (if (functionp 'remove-specifier)
- (mapcar (lambda (prop)
- (remove-specifier
- (face-property 'default prop)
- (current-buffer)))
- '(background background-pixmap foreground)))
+ ,@(if (functionp 'remove-specifier)
+ '((mapcar (lambda (prop)
+ (remove-specifier
+ (face-property 'default prop)
+ (current-buffer)))
+ '(background background-pixmap foreground))))
(delete-region ,(point-min-marker)
,(point-max-marker)))))))))
(mm-setup-w3m)
(let ((text (mm-get-part handle))
(b (point))
- (charset (mail-content-type-get (mm-handle-type handle) 'charset)))
+ (charset (or (mail-content-type-get (mm-handle-type handle) 'charset)
+ mail-parse-charset)))
(save-excursion
(insert (if charset (mm-decode-string text charset) text))
(save-restriction
(mm-handle-set-undisplayer
handle
`(lambda ()
- (let (buffer-read-only)
- (if (functionp 'remove-specifier)
- (mapcar (lambda (prop)
- (remove-specifier
- (face-property 'default prop)
- (current-buffer)))
- '(background background-pixmap foreground)))
+ (let ((inhibit-read-only t))
(delete-region ,(point-min-marker)
,(point-max-marker)))))))))
"Render a text/html part using w3m."
(if (mm-w3m-standalone-supports-m17n-p)
(let ((source (mm-get-part handle))
- (charset (mail-content-type-get (mm-handle-type handle) 'charset))
+ (charset (or (mail-content-type-get (mm-handle-type handle)
+ 'charset)
+ (symbol-name mail-parse-charset)))
cs)
(unless (and charset
(setq cs (mm-charset-to-coding-system charset))
(defun mm-inline-render-with-function (handle func &rest args)
(let ((source (mm-get-part handle))
- (charset (mail-content-type-get (mm-handle-type handle) 'charset)))
+ (charset (or (mail-content-type-get (mm-handle-type handle) 'charset)
+ mail-parse-charset)))
(mm-insert-inline
handle
(mm-with-multibyte-buffer
(save-restriction
(narrow-to-region b (point))
(goto-char b)
- (fill-flowed nil (equalp (cdr (assoc 'delsp (mm-handle-type handle)))
- "yes"))
+ (fill-flowed nil (equal (cdr (assoc 'delsp (mm-handle-type handle)))
+ "yes"))
(goto-char (point-max))))
(save-restriction
(narrow-to-region b (point))