`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)
(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-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)
(defun mm-dissect-singlepart (ctl cte &optional force cdl description id)
(when (or force
(if (equal "text/plain" (car ctl))
- ;; FIXME: This is a kludge. Proper fix is to make
- ;; gnus-display-mime invoke mm-uu-dissect on all
- ;; textual MIME parts, and stop using mm-fill-flowed
- ;; here.
- (and mm-fill-flowed (assoc 'format ctl))
+ (assoc 'format ctl)
t))
(mm-make-handle
(mm-copy-to-buffer) ctl cte nil cdl description nil id)))
(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))