;;; mm-decode.el --- Functions for decoding MIME things
-;; Copyright (C) 1998-2013 Free Software Foundation, Inc.
+;; Copyright (C) 1998-2014 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; MORIOKA Tomohiko <morioka@jaist.ac.jp>
;;; Code:
-;; For Emacs <22.2 and XEmacs.
-(eval-and-compile
- (unless (fboundp 'declare-function) (defmacro declare-function (&rest r))))
-
(require 'mail-parse)
(require 'mm-bodies)
(eval-when-compile (require 'cl))
((executable-find "w3m") 'gnus-w3m)
((executable-find "links") 'links)
((executable-find "lynx") 'lynx)
- ((locate-library "w3") 'w3)
((locate-library "html2text") 'html2text)
(t nil))
"Render of HTML contents.
`w3m-standalone': use plain w3m;
`links': use links;
`lynx': use lynx;
-`w3': use Emacs/W3;
`html2text': use html2text;
nil : use external viewer (default web browser)."
:version "24.1"
:type '(choice (const shr)
(const gnus-w3m)
- (const w3)
(const w3m :tag "emacs-w3m")
(const w3m-standalone :tag "standalone w3m" )
(const links)
:group 'mime-display)
(defcustom mm-inline-text-html-with-images 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."
+ "If non-nil, Gnus will allow retrieving images in HTML that has <img> tags.
+See also the documentation for the `mm-w3m-safe-url-regexp'
+variable."
:version "22.1"
:type 'boolean
:group 'mime-display)
map)
"Keymap for input viewer with completion.")
-(defvar mm-viewer-completion-map
- (let ((map (make-sparse-keymap 'mm-viewer-completion-map)))
- (set-keymap-parent map minibuffer-local-completion-map)
- ;; Should we bind other key to minibuffer-complete-word?
- (define-key map " " 'self-insert-command)
- map)
- "Keymap for input viewer with completion.")
-
;;; The functions.
(defun mm-alist-to-plist (alist)
description)))))
(if (or (not ctl)
(not (string-match "/" (car ctl))))
- (let ((cdl (and cd (mail-header-parse-content-disposition cd))))
(mm-dissect-singlepart
- ;; Guess Content-Type from the file name extention.
- ;; Some mailer sends a part without type like this:
- ;; Content-Type: ; name="IMG_3156.JPG"
- ;; Content-Disposition: attachment; filename="IMG_3156.JPG"
- (list (or
- (let ((tem
- (or (mail-content-type-get cdl 'filename)
- (and ct
- (with-temp-buffer
- (insert ct)
- (goto-char (point-min))
- (and (re-search-forward "\
-;[\t\n ]*name=\\([\"']\\|\\([^\t\n\r ]+\\)\\)" nil t)
- (or (match-string 2)
- (progn
- (goto-char (match-beginning 1))
- (condition-case nil
- (progn
- (forward-sexp 1)
- (buffer-substring
- (1+ (match-beginning 1))
- (1- (point))))
- (error nil))))))))))
- (and tem
- (setq tem (file-name-extension tem))
- (require 'mailcap)
- (cdr (assoc (concat "." (downcase tem))
- mailcap-mime-extensions))))
- mm-dissect-default-type))
+ (list mm-dissect-default-type)
(and cte (intern (downcase (mail-header-strip cte))))
- no-strict-mime cdl description))
+ no-strict-mime
+ (and cd (mail-header-parse-content-disposition cd))
+ description)
(setq type (split-string (car ctl) "/"))
(setq subtype (cadr type)
type (car type))
'inline)
((and (mm-inlinable-p ehandle)
(mm-inlined-p ehandle))
- (forward-line 1)
(mm-display-inline handle)
'inline)
((or method
handle
`(lambda ()
(let ((inhibit-read-only t))
- (delete-region ,(point-min-marker)
+ (delete-region ,(copy-marker (point-min) t)
,(point-max-marker))))))))
(defvar shr-map)