* mime-edit.el (mime-edit-temp-message-buffer): Define.
[elisp/semi.git] / mime-edit.el
index 649053b..3eff0ef 100644 (file)
@@ -230,6 +230,9 @@ To insert a signature file automatically, call the function
     ("application"
      ("octet-stream" ("type" "" "tar" "shar"))
      ("postscript")
+     ("pdf")
+     ("msword")
+     ("vnd.ms-excel")
      ("vnd.ms-powerpoint")
      ("x-kiss" ("x-cnf")))
     ("image"
@@ -305,6 +308,10 @@ To insert a signature file automatically, call the function
      "application" "msword" nil
      "base64"
      "attachment" (("filename" . file)))
+    ("\\.xls$"                         ; MS Excel
+     "application" "vnd.ms-excel" nil
+     "base64"
+     "attachment" (("filename" . file)))
     ("\\.ppt$"                         ; MS Power Point
      "application" "vnd.ms-powerpoint" nil
      "base64"
@@ -316,7 +323,11 @@ To insert a signature file automatically, call the function
      "inline"          (("filename" . file)))
     ("\\.ps$"
      "application" "postscript"        nil
-     "quoted-printable"
+     "base64"
+     "attachment"      (("filename" . file)))
+    ("\\.pdf$"
+     "application" "pdf"       nil
+     "base64"
      "attachment"      (("filename" . file)))
 
     ;;  Pure binary
@@ -456,6 +467,8 @@ If encoding is nil, it is determined from its contents."
     (iso-8859-7                8 "quoted-printable")
     (iso-8859-8                8 "quoted-printable")
     (iso-8859-9                8 "quoted-printable")
+    (iso-8859-14       8 "quoted-printable")
+    (iso-8859-15       8 "quoted-printable")
     (iso-2022-jp       7 "base64")
     (iso-2022-jp-3     7 "base64")
     (iso-2022-kr       7 "base64")
@@ -607,7 +620,10 @@ If it is not specified for a major-mode,
          (if (fboundp 'apel-version)
              (concat (apel-version) " "))
          (if (featurep 'xemacs)
-             (concat (cond ((featurep 'utf-2000)
+             (concat (cond ((and (featurep 'chise)
+                                 (boundp 'xemacs-chise-version))
+                            (concat "CHISE-MULE/" xemacs-chise-version))
+                           ((featurep 'utf-2000)
                             (concat "UTF-2000-MULE/" utf-2000-version))
                            ((featurep 'mule) "MULE"))
                      " XEmacs"
@@ -675,7 +691,7 @@ Tspecials means any character that matches with it in header must be quoted.")
   (concat "MIME-Version:"
          (mime-encode-field-body
           (concat " 1.0 (split by " mime-edit-version ")\n")
-          "MIME-Version:"))
+          "MIME-Version"))
   "MIME version field for message/partial.")
 
 
@@ -2106,7 +2122,13 @@ Content-Transfer-Encoding: 7bit
                    (narrow-to-region beg (mime-edit-content-end))
                    (goto-char beg)
                    (while (re-search-forward "\\(\\=\\|[^\r]\\)\n" nil t)
-                     (replace-match "\\1\r\n"))))
+                     ;; In a certain period, `replace-match' with "\\N"
+                     ;; converted 8-bit characters into multibyte string,
+                     ;; but it has been fixed at 2004-01-15.
+                     ;;(replace-match "\\1\r\n"))))
+                     (backward-char 1)
+                     (insert "\r")
+                     (forward-char 1))))
              (goto-char beg)
              (mime-encode-region beg (mime-edit-content-end)
                                  (or encoding "7bit"))
@@ -2369,14 +2391,10 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n"
       (setq mime-edit-message-max-length
            (or (cdr (assq major-mode mime-edit-message-max-lines-alist))
                mime-edit-message-default-max-lines)))
-  (let* ((mime-edit-draft-file-name
-         (or (buffer-file-name)
-             (make-temp-name
-              (expand-file-name "mime-draft" temporary-file-directory))))
-        (separator mail-header-separator)
-        (id (concat "\""
-                    (replace-space-with-underline (current-time-string))
-                    "@" (system-name) "\"")))
+  (let ((separator mail-header-separator)
+       (id (concat "\""
+                   (replace-space-with-underline (current-time-string))
+                   "@" (system-name) "\"")))
     (run-hooks 'mime-edit-before-split-hook)
     (let ((the-buf (current-buffer))
          (copy-buf (get-buffer-create " *Original Message*"))
@@ -2462,6 +2480,7 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n"
 ;;;
 
 (defvar mime-edit-buffer nil) ; buffer local variable
+(defvar mime-edit-temp-message-buffer nil) ; buffer local variable
 
 (defun mime-edit-preview-message ()
   "preview editing MIME message."