X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mel-q.el;h=5c9f7c547e5c1af8ca51bb3cca6208246aa612ad;hb=2cc492c20479075c905b60bb50bbbd18b51e573a;hp=a5830d2c064452cf8f52cd4ac93e34f6db039d59;hpb=63c5cf2953dd5622ae1883851b268fcd2b0dc586;p=elisp%2Fflim.git diff --git a/mel-q.el b/mel-q.el index a5830d2..5c9f7c5 100644 --- 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 ;; Created: 1995/6/25 @@ -29,8 +29,11 @@ (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))) ;;; @ Q-encoding encode/decode string