tm 7.38.
[elisp/tm.git] / tm-edit.el
index aac9c17..2d931ce 100644 (file)
@@ -7,7 +7,7 @@
 
 ;; Author: UMEDA Masanobu <umerin@mse.kyutech.ac.jp>
 ;;         MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Version: $Revision: 7.37 $
+;; Version: $Revision: 7.38 $
 ;; Keywords: mail, news, MIME, multimedia, multilingual
 
 ;; This file is not part of GNU Emacs.
 ;; LCD Archive Entry:
 ;; mime|Masanobu UMEDA|umerin@mse.kyutech.ac.jp|
 ;; Simple MIME Composer|
-;; $Date: 1995/12/19 17:47:16 $|$Revision: 7.37 $|~/misc/mime.el.Z|
+;; $Date: 1995/12/21 18:27:09 $|$Revision: 7.38 $|~/misc/mime.el.Z|
 
 ;;; Code:
 
 ;;;
 
 (defconst mime-editor/RCS-ID
-  "$Id: tm-edit.el,v 7.37 1995/12/19 17:47:16 morioka Exp $")
+  "$Id: tm-edit.el,v 7.38 1995/12/21 18:27:09 morioka Exp $")
 
 (defconst mime-editor/version (get-version-string mime-editor/RCS-ID))
 
@@ -236,10 +236,7 @@ To insert a signature file specified by mime-signature-file
      ("rfc822")
      )
     ("application"
-     ("octet-stream"
-      ("name")
-      ("type" "" "tar" "shar")
-      ("conversions"))
+     ("octet-stream" ("type" "" "tar" "shar"))
      ("postscript")
      ("x-kiss" ("x-cnf")))
     ("image"
@@ -258,59 +255,83 @@ To insert a signature file specified by mime-signature-file
 
 (defvar mime-file-types
   '(("\\.rtf$"
-     "text"    "richtext"      nil     nil)
+     "text"    "richtext"      nil
+     nil
+     nil               nil)
     ("\\.html$"
-     "text"    "html"          nil     nil)
+     "text"    "html"          nil
+     nil
+     nil               nil)
     ("\\.ps$"
-     "application" "postscript"        nil     "quoted-printable"
-     (("Content-Description" . file))
+     "application" "postscript"        nil
+     "quoted-printable"
+     "attachment"      (("filename" . file))
      )
     ("\\.jpg$"
-     "image"   "jpeg"          nil     "base64"
-     (("Content-Description" . file))
+     "image"   "jpeg"          nil
+     "base64"
+     "inline"          (("filename" . file))
      )
     ("\\.gif$"
-     "image"   "gif"           nil     "base64"
-     (("Content-Description" . file))
+     "image"   "gif"           nil
+     "base64"
+     "inline"          (("filename" . file))
      )
     ("\\.tiff$"
-     "image"   "tiff"          nil     "base64"
-     (("Content-Description" . file))
+     "image"   "tiff"          nil
+     "base64"
+     "inline"          (("filename" . file))
      )
     ("\\.pic$"
-     "image"   "x-pic"         nil     "base64"
-     (("Content-Description" . file)))
+     "image"   "x-pic"         nil
+     "base64"
+     "inline"          (("filename" . file))
+     )
     ("\\.mag$"
-     "image"   "x-mag"         nil     "base64"
-     (("Content-Description" . file))
+     "image"   "x-mag"         nil
+     "base64"
+     "inline"          (("filename" . file))
      )
     ("\\.xbm$"
-     "image"   "x-xbm"         nil     "base64"
-     (("Content-Description" . file))
+     "image"   "x-xbm"         nil
+     "base64"
+     "inline"          (("filename" . file))
      )
     ("\\.xwd$"
-     "image"   "x-xwd"         nil     "base64"
-     (("Content-Description" . file))
+     "image"   "x-xwd"         nil
+     "base64"
+     "inline"          (("filename" . file))
      )
     ("\\.au$"
-     "audio"   "basic"         nil     "base64")
+     "audio"   "basic"         nil
+     "base64"
+     "attachment"              (("filename" . file))
+     )
     ("\\.mpg$"
-     "video"   "mpeg"          nil     "base64"
-     (("Content-Description" . file))
+     "video"   "mpeg"          nil
+     "base64"
+     "attachment"      (("filename" . file))
      )
     ("\\.el$"
-     "application" "octet-stream" (("name" . file)
-                                  ("type" . "emacs-lisp")) "7bit")
+     "application" "octet-stream" (("type" . "emacs-lisp"))
+     "7bit"
+     "attachment"      (("filename" . file))
+     )
     ("\\.lsp$"
-     "application" "octet-stream" (("name" . file)
-                                  ("type" . "common-lisp")) "7bit")
+     "application" "octet-stream" (("type" . "common-lisp"))
+     "7bit"
+     "attachment"      (("filename" . file))
+     )
     ("\\.tar.gz$"
-     "application" "octet-stream" (("name" . file)
-                                  ("type" . "tar")
-                                  ("conversions" . "gzip")) nil)
+     "application" "octet-stream" (("type" . "tar+gzip"))
+     nil
+     "attachment"      (("filename" . file))
+     )
     ("\\.diff$"
-     "application" "octet-stream" (("name" . file)
-                                  ("type" . "patch")) nil)
+     "application" "octet-stream" (("type" . "patch"))
+     nil
+     "attachment"      (("filename" . file))
+     )
     ("\\.signature"
      "text"    "plain"         nil     nil)
     (".*"      nil             nil     nil     nil)
@@ -827,7 +848,8 @@ Charset is automatically obtained from the mime-body-charset-chooser."
          (subtype (nth 1 guess))
          (parameters (nth 2 guess))
          (default (nth 3 guess))       ;Guess encoding from its file name.
-         (fields (nth 4 guess))
+         (disposition-type (nth 4 guess))
+         (disposition-params (nth 5 guess))
          (encoding
           (if (not (interactive-p))
               default
@@ -844,7 +866,7 @@ Charset is automatically obtained from the mime-body-charset-chooser."
              mime-encoding-method-alist nil t nil))))
     (if (string-equal encoding "")
        (setq encoding default))
-    (if (or (consp parameters) (consp fields))
+    (if (or (consp parameters) (stringp disposition-type))
        (let ((rest parameters) cell attribute value)
          (setq parameters "")
          (while rest
@@ -857,17 +879,24 @@ Charset is automatically obtained from the mime-body-charset-chooser."
            (setq parameters (concat parameters "; " attribute "=" value))
            (setq rest (cdr rest))
            )
-         (setq rest fields)
-         (while rest
-           (setq cell (car rest))
-           (setq attribute (car cell))
-           (setq value (cdr cell))
-           (if (eq value 'file)
-               (setq value (file-name-nondirectory file))
-             )
-           (setq parameters (concat parameters "\n" attribute ": " value))
-           (setq rest (cdr rest))
-           )
+         (if disposition-type
+             (progn
+               (setq parameters
+                     (concat parameters "\n"
+                             "Content-Disposition: " disposition-type))
+               (setq rest disposition-params)
+               (while rest
+                 (setq cell (car rest))
+                 (setq attribute (car cell))
+                 (setq value (cdr cell))
+                 (if (eq value 'file)
+                     (setq value (file-name-nondirectory file))
+                   )
+                 (setq parameters
+                       (concat parameters "; " attribute "=" value))
+                 (setq rest (cdr rest))
+                 )
+               ))
          ))
     (mime-editor/insert-tag pritype subtype parameters)
     (mime-editor/insert-binary-file file encoding)
@@ -1706,7 +1735,8 @@ Content-Transfer-Encoding: 7bit
          )
        (goto-char beg)
        (insert (format "--[[multipart/encrypted;
- boundary=\"%s\"; protocol=\"application/pgp-encrypted\"][7bit]]
+ boundary=\"%s\";
+ protocol=\"application/pgp-encrypted\"][7bit]]
 --%s
 Content-Type: application/pgp-encrypted