Synch with `flim-1_14'.
authoryamaoka <yamaoka>
Tue, 26 Dec 2000 01:34:46 +0000 (01:34 +0000)
committeryamaoka <yamaoka>
Tue, 26 Dec 2000 01:34:46 +0000 (01:34 +0000)
* mel.el (binary-to-text-funcall): Bind `default-process-coding-system',
 `input-coding-system', `output-coding-system', `program-coding-system-alist',
 and `selective-display' for old Emacsen.  It won't work with Nemacs.
(binary-funcall): Bind `default-kanji-flag', `default-kanji-process-code',
 `default-mc-flag', `default-process-coding-system', `input-coding-system',
 `kanji-flag', `mc-flag', `output-coding-system',
 `program-coding-system-alist', `program-kanji-code-alist' and
 `selective-display' for old Emacsen.
(binary-find-file-noselect): Alias to `find-file-noselect-as-binary'.
(binary-insert-encoded-file): Alias to `insert-file-contents-as-binary'.
(binary-write-decoded-region): Alias to `write-region-as-binary'.
(8bit-write-decoded-region): Use `write-region-as-coding-system'  with the 1st
 arg `raw-text'.
(8bit-insert-encoded-file): Alias to `insert-file-contents-as-raw-text'.

ChangeLog
FLIM-API.en
FLIM-ELS
VERSION
mel.el
mmbuffer.el
mmexternal.el
qmtp.el
raw-io.el [deleted file]
smtp.el
smtpmail.el

index cf868d8..af8ce5e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,85 @@
+2000-12-26  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * mel.el (binary-to-text-funcall): Bind
+       `default-process-coding-system', `input-coding-system',
+       `output-coding-system', `program-coding-system-alist', and
+       `selective-display' for old Emacsen.  It won't work with Nemacs.
+       (binary-funcall): Bind `default-kanji-flag',
+       `default-kanji-process-code', `default-mc-flag',
+       `default-process-coding-system', `input-coding-system',
+       `kanji-flag', `mc-flag', `output-coding-system',
+       `program-coding-system-alist', `program-kanji-code-alist'
+       and `selective-display' for old Emacsen.
+       (binary-find-file-noselect): Alias to
+       `find-file-noselect-as-binary'.
+       (binary-insert-encoded-file): Alias to
+       `insert-file-contents-as-binary'.
+       (binary-write-decoded-region): Alias to `write-region-as-binary'.
+       (8bit-write-decoded-region): Use `write-region-as-coding-system'
+       with the 1st arg `raw-text'.
+       (8bit-insert-encoded-file): Alias to
+       `insert-file-contents-as-raw-text'.
+
+\f
+2000-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * FLIM: Version 1.14.2 (Yagi-Nishiguchi) released.
+
+2000-12-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * smtpmail.el (smtpmail-send-it): Use
+       `binary-write-decoded-region' instead of `binary-write-region'.
+
+       * mmexternal.el (mmexternal-require-buffer): Use
+       `binary-insert-encoded-file' instead of
+       `binary-insert-file-contents'.
+       (mime-write-entity-body): Use `binary-write-decoded-region'
+       instead of `binary-write-region'.
+
+       * mmbuffer.el (mime-write-entity-body): Use
+       `binary-write-decoded-region' instead of `binary-write-region'.
+
+       * mel.el: - Don't require `raw-io'.
+       (8bit-insert-encoded-file): New function.
+       (8bit-write-decoded-region): New function.
+       (7bit-insert-encoded-file): New alias.
+       (7bit-write-decoded-region): New alias.
+       (binary-insert-encoded-file): New alias.
+       (binary-find-file-noselect): New function.
+       (binary-funcall): New function.
+       (binary-to-text-funcall): New function.
+       (mime-insert-encoded-file of "base64"): Use
+       `binary-insert-encoded-file' instead of
+       `binary-insert-file-contents'.
+
+       * FLIM-API.en (base64-decode-string): New function.
+       (base64-encode-string): New function.
+       (ENCODING-write-decoded-region): New function.
+       (ENCODING-insert-encoded-file): New function.
+
+       * raw-io.el: Deleted.
+
+       * FLIM-ELS (flim-modules): Delete `raw-io'.
+
+2000-12-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * smtp.el (smtp-open-connection-function): Revert initial value to
+       `open-network-stream'.
+       (qmtp-open-connection): Use `binary-funcall'.
+
+       * qmtp.el (qmtp-open-connection-function): Revert initial value to
+       `open-network-stream'.
+       (qmtp-send-buffer): Use `binary-funcall'.
+
+2000-12-23  OKAZAKI Tetsurou  <okazaki@be.to>
+
+       * FLIM-ELS (flim-modules): Delete `mmdbuffer'.
+
+\f
+2000-12-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * FLIM: Version 1.14.1 (Yagi) released.
+
 2000-12-22  Katsumi Yamaoka   <yamaoka@jpl.org>
 
        * raw-io.el (binary-start-process-shell-command): Replace #' with
 \f
 2000-12-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
 
+       * FLIM: Version 1.14.0 (Ninokuchi) released.
+
        * mime.el (mime-entity-media-type): Add DOC.
        (mime-entity-media-subtype): Add DOC.
        (mime-entity-parameters): Add DOC.
 \f
 2000-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
 
-       * FLIM-Chao: Version 1.14.1 (Rokujiz~) released.
+       * FLIM-Chao: Version 1.14.1 (Rokujiz\e-Dò)\e-A released.
 
 2000-07-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
 
 \f
 1999-12-14  MORIOKA Tomohiko  <tomo@m17n.org>
 
-       * CLIME: Version 1.13.6 (Nakanosh~) released.
+       * CLIME: Version 1.13.6 (Nakanosh\e-Dò)\e-A released.
 
 1999-12-13  Katsumi Yamaoka   <yamaoka@jpl.org>
 
 \f
 1999-08-19  MORIOKA Tomohiko  <tomo@m17n.org>
 
-       * CLIME: Version 1.13.0 (Shin-H~ry~ji) released.
+       * CLIME: Version 1.13.0 (Shin-H\e-Dòryþji)\e-A released.
 
 1999-08-18  MORIOKA Tomohiko  <tomo@m17n.org>
 
 \f
 1999-05-31  MORIOKA Tomohiko  <tomo@m17n.org>
 
-       * FLIM: Version 1.12.7 (Y~zaki) released.
+       * FLIM: Version 1.12.7 (Y\e-Dþzaki)\e-A released.
 
 1999-05-31  MORIOKA Tomohiko  <tomo@m17n.org>
 
 \f
 1999-05-11  MORIOKA Tomohiko  <tomo@m17n.org>
 
-       * FLIM: Version 1.12.6 (Family-K~enmae) released.
+       * FLIM: Version 1.12.6 (Family-K\e-Dòenmae)\e-A released.
 
 1999-04-27  Shuhei KOBAYASHI  <shuhei@aqua.ocn.ne.jp>
 
 \f
 1999-01-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM: Version 1.12.3 (Kintetsu-K~riyama) released.
+       * FLIM: Version 1.12.3 (Kintetsu-K\e-Dòriyama)\e-A released.
 
 1999-01-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 \f
 1999-01-21  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM: Version 1.12.2 (Kuj~) released.
+       * FLIM: Version 1.12.2 (Kuj\e-Dò)\e-A released.
 
 1999-01-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 \f
 1998-12-02  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM: Version 1.12.1 (Nishinoky~) released.
+       * FLIM: Version 1.12.1 (Nishinoky\e-Dò)\e-A released.
 
 1998-11-30  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 \f
 1998-10-26  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM: Version 1.11.2 (Heij~) was released.
+       * FLIM: Version 1.11.2 (Heij\e-Dò)\e-A was released.
 
        * NEWS (Abolish variable `mime-temp-directory'): New subsection.
 
 \f
 1998-10-12  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM: Version 1.10.4 (Shin-H~sono) was released.
+       * FLIM: Version 1.10.4 (Shin-H\e-Dòsono)\e-A was released.
 
 1998-10-12  Katsumi Yamaoka   <yamaoka@jpl.org>
 
 \f
 1998-09-29  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM: Version 1.10.0 (K~do) was released.
+       * FLIM: Version 1.10.0 (K\e-Dòdo)\e-A was released.
 
        * README.en (What's FLIM): Add mel-ccl.el.
 
 \f
 1998-08-31  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM: Version 1.9.1 (Tonosh~) was released.
+       * FLIM: Version 1.9.1 (Tonosh\e-Dò)\e-A was released.
 
        * mime-en.sgml (mm-backend): Translate a little.
 
 \f
 1998-07-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM-Chao: Version 1.8.0 (Shij~) was released.
+       * FLIM-Chao: Version 1.8.0 (Shij\e-Dò)\e-A was released.
 
 1998-07-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 \f
 1998-07-01  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM: Version 1.8.0 (~kubo) was released.
+       * FLIM: Version 1.8.0 (\e-DÒkubo)\e-A was released.
 
        * README.en: Delete `How to use'.
 
 \f
 1998-06-28  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM-Chao: Version 1.7.0 (Goj~) was released.
+       * FLIM-Chao: Version 1.7.0 (Goj\e-Dò)\e-A was released.
 
 1998-06-26  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 \f
 1998-06-19  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM: Version 1.4.1 (Momoyama-Gory~mae) was released.
+       * FLIM: Version 1.4.1 (Momoyama-Gory\e-Dòmae)\e-A was released.
 
 1998-06-18  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 \f
 1998-05-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM: Version 1.2.0 (J~j~) was released.
+       * FLIM: Version 1.2.0 (J\e-Dþjò)\e-A was released.
 
        * README.en (What's FLIM): Delete description about
        std11-parse.el; add description about mailcap.el.
 \f
 1998-05-05  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM: Version 1.1.0 (T~ji) was released.
+       * FLIM: Version 1.1.0 (T\e-Dòji)\e-A was released.
 
 1998-05-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
 \f
 1998-04-17  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
-       * FLIM: Version 1.0.1 (Ky~to) was released.
+       * FLIM: Version 1.0.1 (Ky\e-Dòto)\e-A was released.
 
        * mime-def.el (mime-spadework-module-version-string): New
        constant.
index 623ca7b..ed2a2fd 100644 (file)
@@ -1,6 +1,6 @@
          FLIM (Faithful Library about Internet Message) API
                             Version 1.14
-                          Draft Release 1
+                          Draft Release 2
 
 * Notation
 
@@ -626,7 +626,7 @@ and return parsed it.
   [Suggest]
 
 
-** Decoder
+** String
 
 [Function] mime-decode-string (string encoding)
   Decode STRING using ENCODING.
@@ -637,15 +637,32 @@ and return parsed it.
   [Required]<Suggest>
 
 
-[Function] mime-decode-region (start end encoding)
-  Decode region START to END of current buffer using ENCODING.
+[Function] mime-encode-string (string encoding)
+  Encode STRING using ENCODING.
 
   ENCODING must be string.
 
-  [Suggest]<Not Suggest>
+  [Required]<Suggest>
+
+
+[Function] base64-decode-string (STRING)
+  Base64-decode STRING and return the result.
+
+  [Required]
+
+
+[Function] base64-encode-string (STRING &optional NO-LINE-BREAK)
+  Base64-encode STRING and return the result.
 
+  Optional second argument NO-LINE-BREAK means do not break long lines
+  into shorter lines.
 
-[Function] mime-write-decoded-region (start end filename encoding)
+  [Required]
+
+
+** File
+
+[Command] mime-write-decoded-region (start end filename encoding)
   Decode and write current region encoded by ENCODING into FILENAME.
 
   START and END are buffer positions.
@@ -653,17 +670,94 @@ and return parsed it.
   [Required]<Suggest>
 
 
-** Encoder
+[Command] mime-insert-encoded-file (filename encoding)
+  Insert file FILENAME encoded by ENCODING format.
 
-[Function] mime-encode-string (string encoding)
-  Encode STRING using ENCODING.
+  [Required]<Suggest>
+
+
+[Command] 7bit-write-decoded-region (start end filename)
+  Decode and write current region encoded by "7bit" into FILENAME.
+
+  START and END are buffer positions.
+
+  [Optional]
+
+
+[Command] 7bit-insert-encoded-file (filename)
+  Insert file FILENAME encoded by "7bit" format.
+
+  [Optional]
+
+
+[Command] 8bit-write-decoded-region (start end filename)
+  Decode and write current region encoded by "8bit" into FILENAME.
+
+  START and END are buffer positions.
+
+  [Optional]
+
+
+[Command] 8bit-insert-encoded-file (filename)
+  Insert file FILENAME encoded by "8bit" format.
+
+  [Optional]
+
+
+[Command] binary-write-decoded-region (start end filename)
+  Decode and write current region encoded by "binary" into FILENAME.
+
+  START and END are buffer positions.
+
+  [Required]
+
+
+[Command] binary-insert-encoded-file (filename)
+  Insert file FILENAME encoded by "binary" format.
+
+  [Required]
+
+
+[Command] base64-write-decoded-region (start end filename)
+  Decode and write current region encoded by "base64" into FILENAME.
+
+  START and END are buffer positions.
+
+  [Optional]
+
+
+[Command] base64-insert-encoded-file (filename)
+  Insert file FILENAME encoded by "base64" format.
+
+  [Optional]
+
+
+[Command] quoted-printable-write-decoded-region (start end filename)
+  Decode and write current region encoded by "quoted-printable" into
+  FILENAME.
+
+  START and END are buffer positions.
+
+  [Optional]
+
+
+[Command] quoted-printable-insert-encoded-file (filename)
+  Insert file FILENAME encoded by "quoted-printable" format.
+
+  [Optional]
+
+
+** Region
+
+[Command] mime-decode-region (start end encoding)
+  Decode region START to END of current buffer using ENCODING.
 
   ENCODING must be string.
 
-  [Optional]<Not Suggest>
+  [Suggest]<Not Suggest>
 
 
-[Function] mime-encode-region (start end encoding)
+[Command] mime-encode-region (start end encoding)
   Encode region START to END of current buffer using ENCODING.
 
   ENCODING must be string.
@@ -671,10 +765,26 @@ and return parsed it.
   [Suggest]<Not Suggest>
 
 
-[Function] mime-insert-encoded-file (filename encoding)
-  Insert file FILENAME encoded by ENCODING format.
+[Command] base64-decode-region (BEG END)
+  Base64-decode the region between BEG and END.
 
-  [Required]<Suggest>
+  Return the length of the decoded text.
+  
+  If the region can't be decoded, return nil and don't modify the
+  buffer.
+
+  [Suggest]<Not Suggest>
+
+
+[Command] base64-encode-region (BEG END &optional NO-LINE-BREAK)
+  Base64-encode the region between BEG and END.
+
+  Return the length of the encoded text.
+
+  Optional third argument NO-LINE-BREAK means do not break long lines
+  into shorter lines.
+
+  [Suggest]<Not Suggest>
 
 
 ** encoded-text
index e25bea5..e404504 100644 (file)
--- a/FLIM-ELS
+++ b/FLIM-ELS
@@ -9,11 +9,10 @@
                     mel mel-q mel-u mel-g
                     eword-decode eword-encode
                     mime mime-parse mmgeneric
-                    mmbuffer mmcooked mmdbuffer mmexternal
+                    mmbuffer mmcooked mmexternal
                     mime-conf
                     sasl sasl-cram sasl-digest
-                    smtp qmtp smtpmail
-                    raw-io))
+                    smtp qmtp smtpmail))
 
 (setq flim-version-specific-modules '(mailcap))
 
diff --git a/VERSION b/VERSION
index eacced1..960ea11 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -50,9 +50,9 @@
 1.13.2 Kasanui                 \e$(B3^K%\e(B
 1.14.0 Ninokuchi               \e$(B?7%N8}\e(B
 1.14.1 Yagi                    \e$(BH,LZ\e(B             ; = \e$(B6aE4\e(B \e$(BBg:e@~\e(B
------- Yagi-Nishiguchi         \e$(BH,LZ@>8}\e(B
+1.14.2 Yagi-Nishiguchi         \e$(BH,LZ@>8}\e(B
 ------ Unebigory\e-Dòmae\e-A             \e$(B@&K58fNMA0\e(B
------- Kashiharajingu-mae      \e$(B3`86?@5\A0\e(B       ; = \e$(B6aE4\e(B \e$(BFnBg:e@~!"5HLn@~\e(B
+------ Kashiharajing\e-Dþ-mae\e-A        \e$(B3`86?@5\A0\e(B       ; = \e$(B6aE4\e(B \e$(BFnBg:e@~!"5HLn@~\e(B
 
 
 [Chao Version names]
diff --git a/mel.el b/mel.el
index f54132e..5ef5819 100644 (file)
--- a/mel.el
+++ b/mel.el
@@ -1,6 +1,6 @@
 ;;; mel.el --- A MIME encoding/decoding library.
 
-;; Copyright (C) 1995,1996,1997,1998,1999 Free Software Foundation, Inc.
+;; Copyright (C) 1995,1996,1997,1998,1999,2000 Free Software Foundation, Inc.
 
 ;; Author: MORIOKA Tomohiko <tomo@m17n.org>
 ;; Created: 1995/6/25
@@ -79,22 +79,77 @@ Content-Transfer-Encoding for it."
 ;;; @ setting for modules
 ;;;
 
-(mel-define-backend "7bit")
-(mel-define-method-function (mime-encode-string string (nil "7bit"))
+;; Returns list of absolute file name and length of data inserted.
+(defalias '8bit-insert-encoded-file 'insert-file-contents-as-raw-text)
+
+(defun 8bit-write-decoded-region (start end filename)
+  "Decode and write current region encoded by \"8bit\" into FILENAME."
+  (write-region-as-coding-system 'raw-text start end filename))
+
+(mel-define-backend "8bit")
+(mel-define-method-function (mime-encode-string string (nil "8bit"))
                            'identity)
-(mel-define-method-function (mime-decode-string string (nil "7bit"))
+(mel-define-method-function (mime-decode-string string (nil "8bit"))
                            'identity)
-(mel-define-method mime-encode-region (start end (nil "7bit")))
-(mel-define-method mime-decode-region (start end (nil "7bit")))
-(mel-define-method-function (mime-insert-encoded-file filename (nil "7bit"))
-                           'insert-file-contents-as-binary)
+(mel-define-method mime-encode-region (start end (nil "8bit")))
+(mel-define-method mime-decode-region (start end (nil "8bit")))
+(mel-define-method-function (mime-insert-encoded-file filename (nil "8bit"))
+                           '8bit-insert-encoded-file)
 (mel-define-method-function (mime-write-decoded-region
-                            start end filename (nil "7bit"))
-                           'write-region-as-binary)
-
-(mel-define-backend "8bit" ("7bit"))
-
-(mel-define-backend "binary" ("8bit"))
+                            start end filename (nil "8bit"))
+                           '8bit-write-decoded-region)
+
+
+(defalias '7bit-insert-encoded-file '8bit-insert-encoded-file)
+(defalias '7bit-write-decoded-region '8bit-write-decoded-region)
+
+(mel-define-backend "7bit" ("8bit"))
+
+
+(defalias 'binary-write-decoded-region 'write-region-as-binary)
+
+(defalias 'binary-insert-encoded-file 'insert-file-contents-as-binary)
+
+(defalias 'binary-find-file-noselect 'find-file-noselect-as-binary)
+
+(defun binary-funcall (name &rest args)
+  "Like `funcall', q.v., but read and write as binary."
+  (let ((coding-system-for-read 'binary)
+       (coding-system-for-write 'binary)
+       selective-display
+       (default-process-coding-system '(binary . binary))
+       (input-coding-system 'binary)
+       (output-coding-system 'binary)
+       default-mc-flag mc-flag
+       program-coding-system-alist
+       (default-kanji-process-code 0)
+       default-kanji-flag kanji-flag program-kanji-code-alist)
+    (apply name args)))
+
+(defun binary-to-text-funcall (coding-system name &rest args)
+  "Like `funcall', q.v., but write as binary and read as text.
+Read text is decoded as CODING-SYSTEM.  It won't work with Nemacs."
+  (let ((coding-system-for-read coding-system)
+       (coding-system-for-write 'binary)
+       selective-display
+       (default-process-coding-system (cons coding-system 'binary))
+       (input-coding-system coding-system)
+       (output-coding-system 'binary)
+       program-coding-system-alist)
+    (apply name args)))
+
+(mel-define-backend "binary")
+(mel-define-method-function (mime-encode-string string (nil "binary"))
+                           'identity)
+(mel-define-method-function (mime-decode-string string (nil "binary"))
+                           'identity)
+(mel-define-method mime-encode-region (start end (nil "binary")))
+(mel-define-method mime-decode-region (start end (nil "binary")))
+(mel-define-method-function (mime-insert-encoded-file filename (nil "binary"))
+                           'binary-insert-encoded-file)
+(mel-define-method-function (mime-write-decoded-region
+                            start end filename (nil "binary"))
+                           'binary-write-decoded-region)
 
 (defvar mel-b-builtin
    (and (fboundp 'base64-encode-string)
@@ -109,7 +164,7 @@ Content-Transfer-Encoding for it."
   (mel-define-method-function (mime-encode-region start end (nil "base64"))
                              'base64-encode-region)
   (mel-define-method-function (mime-decode-region start end (nil "base64"))
-                             'base64-decode-region)  
+                             'base64-decode-region)
   (mel-define-method mime-insert-encoded-file (filename (nil "base64"))
     "Encode contents of file FILENAME to base64, and insert the result.
 It calls external base64 encoder specified by
@@ -119,10 +174,10 @@ mmencode included in metamail or XEmacs package)."
     (insert (base64-encode-string
             (with-temp-buffer
               (set-buffer-multibyte nil)
-              (insert-file-contents-as-binary filename)
+              (binary-insert-encoded-file filename)
               (buffer-string))))
     (or (bolp) (insert ?\n)))
-    
+
   ;; (mel-define-method-function (encoded-text-encode-string string (nil "B"))
   ;;                             'base64-encode-string)
   (mel-define-method encoded-text-decode-string (string (nil "B"))
index d1fef8d..f0e8643 100644 (file)
                                            filename)
   (save-excursion
     (set-buffer (mime-buffer-entity-buffer-internal entity))
-    (write-region-as-binary (mime-buffer-entity-body-start-internal entity)
-                           (mime-buffer-entity-body-end-internal entity)
-                           filename)))
+    (binary-write-decoded-region
+     (mime-buffer-entity-body-start-internal entity)
+     (mime-buffer-entity-body-end-internal entity)
+     filename)))
 
 
 ;;; @ entity content
index 9da0773..9992156 100644 (file)
@@ -79,7 +79,7 @@
                                 (concat " *Body of "
                                         (mime-entity-name entity)
                                         "*"))
-            (insert-file-contents-as-binary
+            (binary-insert-encoded-file
              (mime-external-entity-body-file-internal entity))
             (current-buffer))))
       (error (message "Can't get external-body.")))))
                                            filename)
   (mmexternal-require-buffer entity)
   (with-current-buffer (mime-external-entity-body-buffer-internal entity)
-    (write-region-as-binary (point-min) (point-max) filename)))
+    (binary-write-decoded-region (point-min) (point-max) filename)))
 
 
 ;;; @ entity content
diff --git a/qmtp.el b/qmtp.el
index f1f3104..9c5591e 100644 (file)
--- a/qmtp.el
+++ b/qmtp.el
@@ -35,6 +35,7 @@
 
 (require 'poem)
 (require 'pcustom)
+(require 'mel) ; binary-funcall
 
 (defgroup qmtp nil
   "QMTP protocol for sending mail."
@@ -127,10 +128,10 @@ called from `qmtp-via-qmtp' with arguments SENDER and RECIPIENTS.")
     (let (process)
       (unwind-protect
          (progn
-           (as-binary-process
-            (setq process
-                  (funcall qmtp-open-connection-function
-                           "QMTP" (current-buffer) qmtp-server qmtp-service)))
+           (setq process
+                 (binary-funcall qmtp-open-connection-function
+                                 "QMTP" (current-buffer)
+                                 qmtp-server qmtp-service))
            (qmtp-send-package process sender recipients buffer))
        (when (and process
                   (memq (process-status process) '(open run)))
diff --git a/raw-io.el b/raw-io.el
deleted file mode 100644 (file)
index 5232ffe..0000000
--- a/raw-io.el
+++ /dev/null
@@ -1,64 +0,0 @@
-;;; raw-io.el --- input/output without code-conversion
-
-;; Copyright (C) 1997,1998,1999,2000 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <tomo@m17n.org>
-;;         Katsumi Yamaoka  <yamaoka@jpl.org>
-;; Keywords: definition, MIME, multimedia, mail, news
-
-;; This file is part of APEL (A Portable Emacs Library).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(eval-when-compile (require 'static))
-
-(require 'pces)
-
-(defalias 'binary-insert-file-contents 'insert-file-contents-as-binary)
-
-(defalias 'binary-write-region 'write-region-as-binary)
-
-(defalias 'binary-find-file-noselect 'find-file-noselect-as-binary)
-
-(defalias 'binary-open-network-stream 'open-network-stream-as-binary)
-
-(defun binary-start-process (name buffer program &rest program-args)
-  "Like `start-process', q.v., but don't code conversion."
-  (as-binary-process
-   (apply (function start-process) name buffer program program-args)))
-
-(defun binary-start-process-shell-command (name buffer &rest args)
-  "Like `start-process-shell-command', q.v., but don't code conversion."
-  (static-if (fboundp 'start-process-shell-command)
-      (as-binary-process
-       (apply (function start-process-shell-command) name buffer args))
-    (as-binary-process
-     (start-process name buffer shell-file-name shell-command-switch
-                   (mapconcat (function identity) args " ")))))
-
-(defalias 'raw-text-insert-file-contents 'insert-file-contents-as-raw-text)
-
-(defalias 'raw-message-write-region 'write-region-as-raw-text-CRLF)
-
-
-;;; @ end
-;;;
-
-(provide 'raw-io)
-
-;;; raw-io.el ends here
diff --git a/smtp.el b/smtp.el
index cb55936..9c82cb0 100644 (file)
--- a/smtp.el
+++ b/smtp.el
@@ -1,6 +1,6 @@
 ;;; smtp.el --- basic functions to send mail with SMTP server
 
-;; Copyright (C) 1995, 1996, 1998, 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1998, 1999, 2000 Free Software Foundation, Inc.
 
 ;; Author: Tomoji Kagatani <kagatani@rbc.ncl.omron.co.jp>
 ;;     Simon Leinen <simon@switch.ch> (ESMTP support)
@@ -36,6 +36,7 @@
 (require 'mail-utils)                  ; mail-strip-quoted-names
 (require 'sasl)
 (require 'luna)
+(require 'mel) ; binary-funcall
 
 (defgroup smtp nil
   "SMTP protocol for sending mail."
@@ -234,11 +235,9 @@ to connect to.  SERVICE is name of the service desired."
 Return a newly allocated connection-object.
 BUFFER is the buffer to associate with the connection.  SERVER is name
 of the host to connect to.  SERVICE is name of the service desired."
-  (let* ((coding-system-for-read  'binary)
-        (coding-system-for-write 'binary)
-        (process
-         (funcall smtp-open-connection-function
-                  "SMTP" buffer  server service))
+  (let* ((process
+         (binary-funcall smtp-open-connection-function
+                         "SMTP" buffer  server service))
         connection)
     (when process
       (setq connection (smtp-make-connection process server service))
index 8582394..de0f593 100644 (file)
@@ -47,6 +47,7 @@
 (require 'smtp)
 (require 'sendmail)
 (require 'time-stamp)
+(require 'mel)
 
 (eval-when-compile (require 'static))
 
@@ -245,7 +246,7 @@ This is relative to `smtpmail-queue-dir'.")
                (insert-buffer tembuf)
                (or (file-directory-p smtpmail-queue-dir)
                    (make-directory smtpmail-queue-dir t))
-               (write-region-as-binary (point-min) (point-max) file-data)
+               (binary-write-decoded-region (point-min) (point-max) file-data)
                (set-buffer buffer-elisp)
                (erase-buffer)
                (insert (concat