(nnmail-fancy-expiry-target): Use rmail-dont-reply-to to exclude address
[gnus] / lisp / mm-view.el
index 675d4e3..ffaf0ed 100644 (file)
@@ -1,14 +1,14 @@
 ;;; 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))