;; 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-pgp ()
(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
(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")))
(format "PGP passphrase for %s: " pgg-pgp-user-id)
(pgg-scheme-lookup-key scheme pgg-pgp-user-id 'sign)))
(args
- (list (if clearsign "-fast" "-fbast")
+ (list (if clearsign "-fast" "-fbas")
"+verbose=1" "+language=us" "+batchmode"
"-u" pgg-pgp-user-id)))
- (pgg-pgp-process-region start end passphrase pgg-pgp-program args)
+ (pgg-as-lbt start end 'CRLF
+ (pgg-pgp-process-region start end passphrase pgg-pgp-program args))
(pgg-process-when-success
(goto-char (point-min))
(when (re-search-forward "^-+BEGIN PGP" nil t);XXX
(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))
- (args '("+verbose=1" "+batchmode" "+language=us"))
- (orig-mode (default-file-modes)))
+ (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")))
(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)))