* ntlm.el (ntlm-ascii2unicode): Don't apply zerop to a character.
[elisp/flim.git] / mel-q.el
index a5830d2..5c9f7c5 100644 (file)
--- a/mel-q.el
+++ b/mel-q.el
@@ -1,6 +1,6 @@
 ;;; mel-q.el --- Quoted-Printable encoder/decoder.
 
-;; Copyright (C) 1995,1996,1997,1998,1999 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99,2000,2001 Free Software Foundation, Inc.
 
 ;; Author: MORIOKA Tomohiko <tomo@m17n.org>
 ;; Created: 1995/6/25
 (require 'path-util)
 (eval-when-compile
   ;; XXX: should provide char-list instead of string-to-char-list.
+  ;; XXx: and also the macro `as-binary-process' should be provided
+  ;; XXx: by the module "pces" which will be loaded by way of "poem".
   (require 'poem))
 
+
 ;;; @ Quoted-Printable encoder
 ;;;
 
@@ -251,7 +254,8 @@ the program (maybe mmencode included in metamail or XEmacs package)."
 
 
 (defvar quoted-printable-external-decoder-option-to-specify-file '("-o")
-  "*list of options of quoted-printable decoder program to specify file.")
+  "*list of options of quoted-printable decoder program to specify file.
+If the quoted-printable decoder does not have such option, set this as nil.")
 
 (mel-define-method mime-write-decoded-region (start end filename
                                                    (nil "quoted-printable"))
@@ -261,10 +265,18 @@ START and END are buffer positions."
   (as-binary-process
    (apply (function call-process-region)
          start end (car quoted-printable-external-decoder)
-         nil nil nil
-         (append (cdr quoted-printable-external-decoder)
-                 quoted-printable-external-decoder-option-to-specify-file
-                 (list filename)))))
+         (null quoted-printable-external-decoder-option-to-specify-file)
+         (unless quoted-printable-external-decoder-option-to-specify-file
+           (list (current-buffer) nil))
+         nil
+         (delq nil
+               (append
+                (cdr quoted-printable-external-decoder)
+                quoted-printable-external-decoder-option-to-specify-file
+                (when quoted-printable-external-decoder-option-to-specify-file
+                  (list filename))))))
+  (unless quoted-printable-external-decoder-option-to-specify-file
+    (write-region-as-binary (point-min) (point-max) filename)))
 
 \f
 ;;; @ Q-encoding encode/decode string