Mercurial > emacs
diff lisp/gnus/mm-decode.el @ 68940:808f636eb13e
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-93
Merge from gnus--rel--5.10
Patches applied:
* gnus--rel--5.10 (patch 30-34)
- Merge from emacs--devo--0
- Update from CVS
author | Miles Bader <miles@gnu.org> |
---|---|
date | Fri, 17 Feb 2006 00:24:04 +0000 |
parents | d9dde5b81e71 |
children | 6580c61aced7 9e490faa9f6b |
line wrap: on
line diff
--- a/lisp/gnus/mm-decode.el Fri Feb 17 00:23:58 2006 +0000 +++ b/lisp/gnus/mm-decode.el Fri Feb 17 00:24:04 2006 +0000 @@ -769,19 +769,18 @@ (gnus-map-function mm-file-name-rewrite-functions (file-name-nondirectory filename)) dir)) - (setq file (mm-make-temp-file (expand-file-name "mm." dir))) - (let ((newname - ;; Use nametemplate (defined in RFC1524) if it is - ;; specified in mailcap. - (if (assoc "nametemplate" mime-info) - (format (cdr (assoc "nametemplate" mime-info)) file) - ;; Add a suffix according to `mailcap-mime-extensions'. - (concat file (car (rassoc (mm-handle-media-type handle) - mailcap-mime-extensions)))))) - (unless (string-equal file newname) - (when (file-exists-p file) - (rename-file file newname)) - (setq file newname)))) + ;; Use nametemplate (defined in RFC1524) if it is specified + ;; in mailcap. + (let ((suffix (cdr (assoc "nametemplate" mime-info)))) + (if (and suffix + (string-match "\\`%s\\(\\..+\\)\\'" suffix)) + (setq suffix (match-string 1 suffix)) + ;; Otherwise, use a suffix according to + ;; `mailcap-mime-extensions'. + (setq suffix (car (rassoc (mm-handle-media-type handle) + mailcap-mime-extensions)))) + (setq file (mm-make-temp-file (expand-file-name "mm." dir) + nil suffix)))) (let ((coding-system-for-write mm-binary-coding-system)) (write-region (point-min) (point-max) file nil 'nomesg)) (message "Viewing with %s" method) @@ -1312,8 +1311,8 @@ ;; out to a file, and then create a file ;; specifier. (let ((file (mm-make-temp-file - (expand-file-name "emm.xbm" - mm-tmp-directory)))) + (expand-file-name "emm" mm-tmp-directory) + nil ".xbm"))) (unwind-protect (progn (write-region (point-min) (point-max) file)