`lynx' : use lynx;
`html2text' : use html2text;
nil : use external viewer."
+ :version "21.4"
:type '(choice (const w3)
(const w3m)
(const w3m-standalone)
(const html2text)
(const nil)
(function))
- :version "21.3"
:group 'mime-display)
(defvar mm-inline-text-html-renderer nil
"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."
+ :version "21.4"
:type 'boolean
:group 'mime-display)
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."
+ :version "21.4"
:type '(choice (regexp :tag "Regexp")
(const :tag "All URLs are safe" nil))
:group 'mime-display)
(defcustom mm-inline-text-html-with-w3m-keymap t
"If non-nil, use emacs-w3m command keys in the article buffer."
+ :version "21.4"
:type 'boolean
:group 'mime-display)
(locate-library "diff-mode")))
("application/emacs-lisp" mm-display-elisp-inline identity)
("application/x-emacs-lisp" mm-display-elisp-inline identity)
+ ("text/dns" mm-display-dns-inline identity)
("text/html"
mm-inline-text-html
(lambda (handle)
"application/pdf" "application/x-dvi")
"List of media types for which the external viewer will not be killed
when selecting a different article."
+ :version "21.4"
:type '(repeat string)
:group 'mime-display)
(defcustom mm-automatic-display
'("text/plain" "text/enriched" "text/richtext" "text/html"
"text/x-vcard" "image/.*" "message/delivery-status" "multipart/.*"
- "message/rfc822" "text/x-patch" "application/pgp-signature"
+ "message/rfc822" "text/x-patch" "text/dns" "application/pgp-signature"
"application/emacs-lisp" "application/x-emacs-lisp"
"application/x-pkcs7-signature"
"application/pkcs7-signature" "application/x-pkcs7-mime"
(defcustom mm-attachment-file-modes 384
"Set the mode bits of saved attachments to this integer."
+ :version "21.4"
:type 'integer
:group 'mime-display)
(defcustom mm-external-terminal-program "xterm"
"The program to start an external terminal."
+ :version "21.4"
:type 'string
:group 'mime-display)
"Option of verifying signed parts.
`never', not verify; `always', always verify;
`known', only verify known protocols. Otherwise, ask user."
+ :version "21.4"
:type '(choice (item always)
(item never)
(item :tag "only known protocols" known)
"Option of decrypting encrypted parts.
`never', not decrypt; `always', always decrypt;
`known', only decrypt known protocols. Otherwise, ask user."
+ :version "21.4"
:type '(choice (item always)
(item never)
(item :tag "only known protocols" known)
;; solution, avoids most of them.
(if from
(setq from (cadr (mail-extract-address-components from))))))
- (when cte
- (setq cte (mail-header-strip cte)))
(if (or (not ctl)
(not (string-match "/" (car ctl))))
(mm-dissect-singlepart
(list mm-dissect-default-type)
- (and cte (intern (downcase (mail-header-remove-whitespace
- (mail-header-remove-comments
- cte)))))
+ (and cte (intern (downcase (mail-header-strip cte))))
no-strict-mime
(and cd (ignore-errors (mail-header-parse-content-disposition cd)))
description)
(mm-possibly-verify-or-decrypt
(mm-dissect-singlepart
ctl
- (and cte (intern (downcase (mail-header-remove-whitespace
- (mail-header-remove-comments
- cte)))))
+ (and cte (intern (downcase (mail-header-strip cte))))
no-strict-mime
(and cd (ignore-errors
(mail-header-parse-content-disposition cd)))
(defun mm-copy-to-buffer ()
"Copy the contents of the current buffer to a fresh buffer."
(save-excursion
- (let ((flag enable-multibyte-characters)
- (new-buffer (generate-new-buffer " *mm*")))
+ (let ((obuf (current-buffer))
+ beg)
(goto-char (point-min))
(search-forward-regexp "^\n" nil t)
- (save-restriction
- (narrow-to-region (point) (point-max))
- (when flag
- (set-buffer-multibyte nil))
- (copy-to-buffer new-buffer (point-min) (point-max))
- (when flag
- (set-buffer-multibyte t)))
- new-buffer)))
+ (setq beg (point))
+ (set-buffer
+ ;; Preserve the data's unibyteness (for url-insert-file-contents).
+ (let ((default-enable-multibyte-characters (mm-multibyte-p)))
+ (generate-new-buffer " *mm*")))
+ (insert-buffer-substring obuf beg)
+ (current-buffer))))
(defun mm-display-parts (handle &optional no-default)
(if (stringp (car handle))