X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=pgg-pgp.el;h=d34445bb2735e61968495295969b5b33d5c4ff23;hb=166510ab0ade19a06ece258b0df6572c55dc4312;hp=4f3fbd72bde2b85d7cc15ddd9594511479fbeba3;hpb=17cacd9ff91f19bac96c1b6f9db2c414a53d2b68;p=elisp%2Fsemi.git diff --git a/pgg-pgp.el b/pgg-pgp.el index 4f3fbd7..d34445b 100644 --- a/pgg-pgp.el +++ b/pgg-pgp.el @@ -25,6 +25,7 @@ ;;; Code: +(require 'mel) ; binary-to-text-funcall, binary-write-decoded-region (eval-when-compile (require 'pgg)) (defgroup pgg-pgp () @@ -67,9 +68,7 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"." (luna-make-entity 'pgg-scheme-pgp)))) (defun pgg-pgp-process-region (start end passphrase program args) - (let* ((errors-file-name - (concat temporary-file-directory - (make-temp-name "pgg-errors"))) + (let* ((errors-file-name (make-temp-file "pgg-errors")) (args (append args pgg-pgp-extra-args @@ -88,10 +87,10 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"." (setenv "PGPPASSFD" "0")) (unwind-protect (progn - (as-binary-process - (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"))) @@ -191,14 +190,13 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"." (luna-define-method pgg-scheme-verify-region ((scheme pgg-scheme-pgp) start end &optional signature) - (let* ((basename (expand-file-name "pgg" temporary-file-directory)) - (orig-file (make-temp-name basename)) + (let* ((orig-file (make-temp-file "pgg")) (args '("+verbose=1" "+batchmode" "+language=us")) (orig-mode (default-file-modes))) (unwind-protect (progn (set-default-file-modes 448) - (write-region-as-binary 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"))) @@ -229,12 +227,12 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"." (luna-define-method pgg-scheme-snarf-keys-region ((scheme pgg-scheme-pgp) start end) (let* ((pgg-pgp-user-id (or pgg-pgp-user-id pgg-default-user-id)) - (basename (expand-file-name "pgg" temporary-file-directory)) - (key-file (make-temp-name basename)) + (key-file (make-temp-file "pgg")) (args (list "+verbose=1" "+batchmode" "+language=us" "-kaf" key-file))) - (write-region-as-raw-text-CRLF start end key-file) + (let ((coding-system-for-write 'raw-text-dos)) + (write-region start end key-file)) (pgg-pgp-process-region start end nil pgg-pgp-program args) (delete-file key-file) (pgg-process-when-success nil)))