tm 7.80.
[elisp/tm.git] / tm-file.el
index 07a2280..105f62b 100644 (file)
@@ -2,11 +2,13 @@
 ;;; tm-file.el --- tm-view internal method for file extraction
 ;;;
 ;;; Copyright (C) 1995 Free Software Foundation, Inc.
-;;; Copyright (C) 1995 MORIOKA Tomohiko
+;;; Copyright (C) 1995,1996 MORIOKA Tomohiko
 ;;;
 ;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;;; modified by KOBAYASHI Shuhei <shuhei-k@jaist.ac.jp>
+;;; Maintainer: KOBAYASHI Shuhei <shuhei-k@jaist.ac.jp>
 ;;; Version:
-;;;    $Id: tm-file.el,v 7.1 1995/12/15 11:58:29 morioka Exp $
+;;;    $Id: tm-file.el,v 7.6 1996/05/27 07:58:21 morioka Exp $
 ;;; Keywords: mail, news, MIME, multimedia
 ;;;
 ;;; This file is part of tm (Tools for MIME).
 (require 'tm-view)
 
 (defun mime-article/extract-file (beg end cal)
-  (let* ((name (or (cdr (assoc "name" cal))
-                  (cdr (assoc "x-name" cal))))
+  (goto-char beg)
+  (let* ((name
+         (save-restriction
+           (narrow-to-region beg end)
+           (mime-article/get-filename cal)
+           ))
         (encoding (cdr (assq 'encoding cal)))
         (filename
-          (if name
+          (if (and name (not (string-equal name "")))
              (expand-file-name name
                                (call-interactively
                                 (function
         (the-buf (current-buffer))
         (tmp-buf (generate-new-buffer (file-name-nondirectory filename)))
         )
-    (goto-char beg)
+    (if (file-exists-p filename)
+        (or (yes-or-no-p (format "File %s exists. Save anyway? " filename))
+            (error "")))
     (re-search-forward "\n\n")
     (append-to-buffer tmp-buf (match-end 0) end)
     (save-excursion
       (set-buffer tmp-buf)
-      (mime/decode-region encoding (point-min)(point-max))
+      (mime-decode-region (point-min)(point-max) encoding)
       (let ((mc-flag nil)                   ; for Mule
            (file-coding-system
             (if (featurep 'mule) *noconv*))
@@ -87,3 +95,5 @@
 ;;;
 
 (provide 'tm-file)
+
+;;; end of tm-file.el