tm 7.38.
[elisp/tm.git] / tm-play.el
index 1df7786..175a66b 100644 (file)
@@ -8,7 +8,7 @@
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1995/9/26 (separated from tm-view.el)
 ;;; Version:
-;;;    $Id: tm-play.el,v 7.10 1995/12/14 15:37:13 morioka Exp $
+;;;    $Id: tm-play.el,v 7.11 1995/12/21 18:11:03 morioka Exp $
 ;;; Keywords: mail, news, MIME, multimedia
 ;;;
 ;;; This file is part of tm (Tools for MIME).
       (narrow-to-region beg end)
       (goto-char beg)
       (let ((method (cdr (assoc 'method cal)))
-           (name (mime-article/get-name cal))
+           (name (mime-article/get-filename cal))
            )
        (if method
            (let ((file (make-temp-name
   (concat (regexp-* mime-viewer/file-name-char-regexp)
          "\\(\\." mime-viewer/file-name-char-regexp "+\\)*"))
 
-(defun mime-article/get-name (param)
-  (let ((str (mime-viewer/get-subject param)))
-    (if (string-match " " str)
-       (if (or (string-match mime-viewer/file-name-regexp-1 str)
-               (string-match mime-viewer/file-name-regexp-2 str))
-           (substring str (match-beginning 0)(match-end 0))
-         )
-      (replace-as-filename str)
-      )))
+(defun mime-article/get-original-filename (param &optional encoding)
+  (or (mime-article/get-uu-filename param encoding)
+      (let (ret)
+       (or (if (or (and (setq ret (mime/Content-Disposition))
+                        (setq ret (assoc "filename" (cdr ret)))
+                        )
+                   (setq ret (assoc "name" param))
+                   (setq ret (assoc "x-name" param))
+                   )
+               (rfc822/strip-quoted-string (cdr ret))
+             )
+           (if (setq ret
+                     (or (rfc822/get-field-body "Content-Description")
+                         (rfc822/get-field-body "Subject")
+                         ))
+               (if (or (string-match mime-viewer/file-name-regexp-1 ret)
+                       (string-match mime-viewer/file-name-regexp-2 ret))
+                   (substring ret (match-beginning 0)(match-end 0))
+                 ))
+           ))
+      ""))
+
+(defun mime-article/get-filename (param)
+  (replace-as-filename (mime-article/get-original-filename param))
+  )
 
 
 ;;; @ mail/news message