X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=pgg-pgp5.el;h=034758fc5ae43576b4ffa06504786031a182dd03;hb=a418e1c8b54f1dfb2e4f648b30107c0e9b5ae98b;hp=83e8187073d33ccfc82dd5365300687fca62950b;hpb=17cacd9ff91f19bac96c1b6f9db2c414a53d2b68;p=elisp%2Fsemi.git diff --git a/pgg-pgp5.el b/pgg-pgp5.el index 83e8187..034758f 100644 --- a/pgg-pgp5.el +++ b/pgg-pgp5.el @@ -20,11 +20,12 @@ ;; 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. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Code: +(require 'mel) ; binary-to-text-funcall, binary-write-decoded-region (eval-when-compile (require 'pgg)) (defgroup pgg-pgp5 () @@ -82,9 +83,7 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"." (luna-make-entity 'pgg-scheme-pgp5)))) (defun pgg-pgp5-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-pgp5-extra-args @@ -103,10 +102,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"))) @@ -203,14 +202,13 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"." (luna-define-method pgg-scheme-verify-region ((scheme pgg-scheme-pgp5) start end &optional signature) - (let* ((basename (expand-file-name "pgg" temporary-file-directory)) - (orig-file (make-temp-name basename)) - (args '("+verbose=1" "+batchmode=1" "+language=us")) - (orig-mode (default-file-modes))) + (let ((orig-file (make-temp-file "pgg")) + (args '("+verbose=1" "+batchmode=1" "+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"))) @@ -238,12 +236,12 @@ Bourne shell or its equivalent \(not tcsh) is needed for \"2>\"." (luna-define-method pgg-scheme-snarf-keys-region ((scheme pgg-scheme-pgp5) start end) (let* ((pgg-pgp5-user-id (or pgg-pgp5-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=1" "+language=us" "-a" 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-pgp5-process-region start end nil pgg-pgp5-pgpk-program args) (delete-file key-file) (pgg-process-when-success nil)))