Synch to Gnus 200311130835.
[elisp/gnus.git-] / lisp / mm-decode.el
index 04b352a..d87ec5b 100644 (file)
@@ -127,9 +127,9 @@ nil    : using external viewer."
 It is suggested to customize `mm-text-html-renderer' instead.")
 
 (defcustom mm-inline-text-html-with-images nil
-  "If non-nil, Gnus will allow retrieving images in the HTML contents
-with <img> tags.  It has no effect on Emacs/w3.  See also
-the documentation for the option `mm-w3m-safe-url-regexp'."
+  "If non-nil, Gnus will allow retrieving images in HTML contents with
+the <img> tags.  It has no effect on Emacs/w3.  See also the
+documentation for the `mm-w3m-safe-url-regexp' variable."
   :type 'boolean
   :group 'mime-display)
 
@@ -141,10 +141,10 @@ It is most likely intended to check whether the ominous spam mail has
 reached your eyes or not, in which case the spammer knows for sure
 that your email address is valid.  It is done by embedding an
 identifier string into a URL that you might automatically retrieve
-when displaying the image.  By default, the
-`mm-inline-text-html-with-images' variable is nil and Gnus will never
-connect to the spammer's site arbitrarily.  You may set this value to
-nil if you consider all urls to be safe."
+when displaying the image.  The default value is \"\\\\`cid:\" which only
+matches parts embedded to the Multipart/Related type MIME contents and
+Gnus will never connect to the spammer's site arbitrarily.  You may
+set this variable to nil if you consider all urls to be safe."
   :type '(choice (regexp :tag "Regexp")
                 (const :tag "All URLs are safe" nil))
   :group 'mime-display)
@@ -155,7 +155,7 @@ nil if you consider all urls to be safe."
   :group 'mime-display)
 
 (defcustom mm-inline-media-tests
-  '(("image/jpeg"
+  '(("image/p?jpeg"
      mm-inline-image
      (lambda (handle)
        (mm-valid-and-fit-image-p 'jpeg handle)))
@@ -241,7 +241,7 @@ nil if you consider all urls to be safe."
     ;; Default to displaying as text
     (".*" mm-inline-text mm-readable-p))
   "Alist of media types/tests saying whether types can be displayed inline."
-  :type '(repeat (list (string :tag "MIME type")
+  :type '(repeat (list (regexp :tag "MIME type")
                       (function :tag "Display function")
                       (function :tag "Display test")))
   :group 'mime-display)
@@ -528,7 +528,8 @@ Postpone undisplaying of viewers for types in
          ((equal type "multipart")
           (let ((mm-dissect-default-type (if (equal subtype "digest")
                                              "message/rfc822"
-                                           "text/plain")))
+                                           "text/plain"))
+                (start (cdr (assq 'start (cdr ctl)))))
             (add-text-properties 0 (length (car ctl))
                                  (mm-alist-to-plist (cdr ctl)) (car ctl))
 
@@ -538,10 +539,9 @@ Postpone undisplaying of viewers for types in
             ;; the mm-handle API so we simply store the multipart buffert
             ;; name as a text property of the "multipart/whatever" string.
             (add-text-properties 0 (length (car ctl))
-                                 (list 'buffer (mm-copy-to-buffer))
-                                 (car ctl))
-            (add-text-properties 0 (length (car ctl))
-                                 (list 'from from)
+                                 (list 'buffer (mm-copy-to-buffer)
+                                       'from from
+                                       'start start)
                                  (car ctl))
             (cons (car ctl) (mm-dissect-multipart ctl))))
          (t
@@ -1041,7 +1041,7 @@ string if you do not like underscores."
 (defun mm-file-name-delete-gotchas (filename)
   "Delete shell gotchas from FILENAME."
   (setq filename (gnus-replace-in-string filename "[<>|]" ""))
-  (gnus-replace-in-string filename "^[.-]*" ""))
+  (gnus-replace-in-string filename "^[.-]+" ""))
 
 (defun mm-save-part (handle)
   "Write HANDLE to a file."