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)