]> code.delx.au - gnu-emacs/blobdiff - lisp/gnus/mml.el
Merge from gnus--devo--0
[gnu-emacs] / lisp / gnus / mml.el
index e3ab803dd5eb6965d972ecffb02e0459a269d194..e682b1b069b90cb35158b3aa372a1cdc885bc3b8 100644 (file)
@@ -1,7 +1,7 @@
 ;;; mml.el --- A package for parsing and validating MML documents
 
 ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-;;   2007, 2008  Free Software Foundation, Inc.
+;;   2007, 2008, 2009  Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; This file is part of GNU Emacs.
@@ -482,7 +482,12 @@ If MML is non-nil, return the buffer up till the correspondent mml tag."
                 (setq charset nil
                       coding nil))
                (charset
-                (setq charset (intern (downcase charset)))))
+                ;; The value of `charset' might be a bogus alias that
+                ;; `mm-charset-synonym-alist' provides, like `utf8',
+                ;; so we prefer the MIME charset that Emacs knows for
+                ;; the coding system `coding'.
+                (setq charset (or (mm-coding-system-to-mime-charset coding)
+                                  (intern (downcase charset))))))
          (if (and (not raw)
                   (member (car (split-string type "/")) '("text" "message")))
              (progn
@@ -1102,13 +1107,13 @@ If HANDLES is non-nil, use it instead reparsing the buffer."
     ["PGG manual" (lambda () (interactive) (message-info mml2015-use))
      ;; XEmacs barfs on :visible.
      ,@(if (featurep 'xemacs) nil
-        '(:visible (equal mml2015-use 'pgg)))
+        '(:visible (and (boundp 'mml2015-use) (equal mml2015-use 'pgg))))
      ,@(if (featurep 'xemacs) '(t)
         '(:help "Display the PGG manual"))]
-    ["EasyPG manual" (lambda () (interactive) (message-info mml2015-use))
+    ["EasyPG manual" (lambda () (interactive) (require 'mml2015) (message-info mml2015-use))
      ;; XEmacs barfs on :visible.
      ,@(if (featurep 'xemacs) nil
-        '(:visible (equal mml2015-use 'epg)))
+        '(:visible (and (boundp 'mml2015-use) (equal mml2015-use 'epg))))
      ,@(if (featurep 'xemacs) '(t)
         '(:help "Display the EasyPG manual"))]))
 
@@ -1284,7 +1289,9 @@ body) or \"attachment\" (separate from the body)."
     (unless (message-in-body-p) (goto-char (point-max)))
     (mml-insert-empty-tag 'part
                          'type type
-                         'filename file
+                         ;; icicles redefines read-file-name and returns a
+                         ;; string w/ text properties :-/
+                         'filename (mm-substring-no-properties file)
                          'disposition (or disposition "attachment")
                          'description description)))