Applied patch from YAMASHITA Junji <ysjj@unixuser.org>.
[elisp/semi.git] / pgg-pgp5.el
index f4cfedc..58c3309 100644 (file)
@@ -25,6 +25,7 @@
 
 ;;; Code:
 
+(require 'mel) ; binary-to-text-funcall, binary-write-decoded-region
 (eval-when-compile (require 'pgg))
 
 (defgroup pgg-pgp5 ()
@@ -103,11 +104,10 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"."
       (setenv "PGPPASSFD" "0"))
     (unwind-protect
        (progn
-         (let ((coding-system-for-read 'binary)
-               (coding-system-for-write 'binary))
-           (setq process
-                 (apply #'start-process-shell-command "*PGP*" output-buffer
-                        program args)))
+         (setq process
+               (apply #'binary-funcall
+                      #'start-process-shell-command "*PGP*" output-buffer
+                      program args))
          (set-process-sentinel process #'ignore)
          (when passphrase
            (process-send-string process (concat passphrase "\n")))
@@ -211,7 +211,7 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"."
     (unwind-protect
        (progn
          (set-default-file-modes 448)
-         (binary-write-region start end orig-file))
+         (binary-write-decoded-region start end orig-file))
       (set-default-file-modes orig-mode))
     (when (stringp signature)
       (copy-file signature (setq signature (concat orig-file ".asc")))