From: Reiner Steib Date: Thu, 4 May 2006 16:04:54 +0000 (+0000) Subject: 2006-05-04 Stefan Monnier X-Git-Url: http://cgit.sxemacs.org/?a=commitdiff_plain;h=f6935d192f748d6907da49c2856407d0de328b00;p=gnus 2006-05-04 Stefan Monnier * mm-decode.el (mm-dissect-buffer): Remove spurious double assignment. (mm-copy-to-buffer): Use with-current-buffer. (mm-display-part): Simplify. (mm-inlinable-p): Add optional arg `type'. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 579aa77a7..b25fd5f57 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2006-05-04 Stefan Monnier + + * mm-decode.el (mm-dissect-buffer): Remove spurious double assignment. + (mm-copy-to-buffer): Use with-current-buffer. + (mm-display-part): Simplify. + (mm-inlinable-p): Add optional arg `type'. + 2006-05-03 Stefan Monnier * gnus-art.el (gnus-mime-view-part-as-type): Add optional PRED diff --git a/lisp/mm-decode.el b/lisp/mm-decode.el index c9c6beb73..b03bde2fe 100644 --- a/lisp/mm-decode.el +++ b/lisp/mm-decode.el @@ -562,7 +562,7 @@ Postpone undisplaying of viewers for types in description) (setq type (split-string (car ctl) "/")) (setq subtype (cadr type) - type (pop type)) + type (car type)) (setq result (cond @@ -639,16 +639,15 @@ Postpone undisplaying of viewers for types in (defun mm-copy-to-buffer () "Copy the contents of the current buffer to a fresh buffer." - (save-excursion (let ((obuf (current-buffer)) beg) (goto-char (point-min)) (search-forward-regexp "^\n" nil t) (setq beg (point)) - (set-buffer + (with-current-buffer ;; Preserve the data's unibyteness (for url-insert-file-contents). (let ((default-enable-multibyte-characters (mm-multibyte-p))) - (generate-new-buffer " *mm*"))) + (generate-new-buffer " *mm*")) (insert-buffer-substring obuf beg) (current-buffer)))) @@ -699,7 +698,8 @@ external if displayed external." (forward-line 1) (mm-insert-inline handle (mm-get-part handle)) 'inline) - (if (and method ;; If nil, we always use "save". + (setq external + (and method ;; If nil, we always use "save". (stringp method) ;; 'mailcap-save-binary-file (or (eq mm-enable-external t) (and (eq mm-enable-external 'ask) @@ -712,9 +712,7 @@ external if displayed external." (concat " \"" (format method filename) "\"") "") - "? "))))) - (setq external t) - (setq external nil)) + "? ")))))) (if external (mm-display-external handle (or method 'mailcap-save-binary-file)) @@ -1017,10 +1015,12 @@ external if displayed external." methods nil))) result)) -(defun mm-inlinable-p (handle) - "Say whether HANDLE can be displayed inline." +(defun mm-inlinable-p (handle &optional type) + "Say whether HANDLE can be displayed inline. +TYPE is the mime-type of the object; it defaults to the one given +in HANDLE." + (unless type (setq type (mm-handle-media-type handle))) (let ((alist mm-inline-media-tests) - (type (mm-handle-media-type handle)) test) (while alist (when (string-match (caar alist) type)