X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=pgg-pgp5.el;h=c6438f6184c40fdb7ede1e26a4ec793fe227153e;hb=refs%2Fheads%2Femiko-1_14-epg;hp=1fe971e490b0d05073d10b3367e183311c0f1eee;hpb=9508f6e75dac82936bfb331c6bc056285f901c08;p=elisp%2Fsemi.git diff --git a/pgg-pgp5.el b/pgg-pgp5.el index 1fe971e..c6438f6 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,15 +83,14 @@ 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 (list (concat "2>" errors-file-name)))) (shell-file-name pgg-pgp5-shell-file-name) (shell-command-switch pgg-pgp5-shell-command-switch) + (process-environment process-environment) (output-buffer pgg-output-buffer) (errors-buffer pgg-errors-buffer) (process-connection-type nil) @@ -102,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"))) @@ -202,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"))) @@ -237,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)))