-;;; pgg-epg.el --- Gnus/PGG backend of EasyPG.
+;;; pgg-epg.el --- Gnus' PGG backend of EasyPG.
;; Copyright (C) 1999, 2000, 2002, 2003, 2004,
;; 2005, 2006 Free Software Foundation, Inc.
;; Copyright (C) 2006 Daiki Ueno
;; Author: Daiki Ueno <ueno@unixuser.org>
-;; Keywords: PGP, GnuPG
+;; Keywords: PGP, GnuPG, Gnus
;; This file is part of EasyPG.
(epg-context-set-armor context t)
(epg-context-set-textmode context pgg-text-mode)
(epg-context-set-passphrase-callback context #'pgg-epg-passphrase-callback)
- (get-buffer-create pgg-output-buffer)
- (get-buffer-create pgg-errors-buffer)
+ (save-excursion
+ (set-buffer (get-buffer-create pgg-output-buffer))
+ (erase-buffer)
+ (set-buffer (get-buffer-create pgg-errors-buffer))
+ (erase-buffer))
(condition-case error
(setq cipher
(epg-encrypt-string context
(signal (car error) (cdr error))))
(save-excursion
(set-buffer (get-buffer-create pgg-output-buffer))
- (erase-buffer)
(insert cipher))
t))
(epg-context-set-armor context t)
(epg-context-set-textmode context pgg-text-mode)
(epg-context-set-passphrase-callback context #'pgg-epg-passphrase-callback)
- (get-buffer-create pgg-output-buffer)
- (get-buffer-create pgg-errors-buffer)
+ (save-excursion
+ (set-buffer (get-buffer-create pgg-output-buffer))
+ (erase-buffer)
+ (set-buffer (get-buffer-create pgg-errors-buffer))
+ (erase-buffer))
(condition-case error
- (setq plain (epg-decrypt-string context (buffer-substring start end))
+ (setq plain
+ (epg-decrypt-string context (buffer-substring start end))
pgg-epg-secret-key-id-list nil)
(error
(while pgg-epg-secret-key-id-list
(pgg-remove-passphrase-from-cache (car pgg-epg-secret-key-id-list))
(setq pgg-epg-secret-key-id-list (cdr pgg-epg-secret-key-id-list)))
(signal (car error) (cdr error))))
+ (if pgg-text-mode
+ (setq plain (decode-coding-string plain 'raw-text)))
(save-excursion
(set-buffer (get-buffer-create pgg-output-buffer))
- (erase-buffer)
(insert plain))
t))
(epg-context-set-armor context t)
(epg-context-set-textmode context pgg-text-mode)
(epg-context-set-passphrase-callback context #'pgg-epg-passphrase-callback)
- (get-buffer-create pgg-output-buffer)
- (get-buffer-create pgg-errors-buffer)
+ (save-excursion
+ (set-buffer (get-buffer-create pgg-output-buffer))
+ (erase-buffer)
+ (set-buffer (get-buffer-create pgg-errors-buffer))
+ (erase-buffer))
(condition-case error
(setq signature
(epg-sign-string context
(buffer-substring start end)
(if cleartext
- 'clearsign
+ 'clear
'detached))
pgg-epg-secret-key-id-list nil)
(error
(signal (car error) (cdr error))))
(save-excursion
(set-buffer (get-buffer-create pgg-output-buffer))
- (erase-buffer)
(insert signature))
t))
(inhibit-redisplay t)) ;Gnus users don't like flickering
(epg-context-set-armor context t)
(epg-context-set-textmode context pgg-text-mode)
- (get-buffer-create pgg-output-buffer)
- (get-buffer-create pgg-errors-buffer)
+ (save-excursion
+ (set-buffer (get-buffer-create pgg-output-buffer))
+ (erase-buffer)
+ (set-buffer (get-buffer-create pgg-errors-buffer))
+ (erase-buffer))
(if signature
(epg-verify-string context
(with-temp-buffer
(set-buffer (get-buffer-create pgg-errors-buffer))
(make-local-variable 'pgg-epg-signatures)
(setq pgg-epg-signatures (epg-context-result-for context 'verify))
- (erase-buffer)
(insert (epg-verify-result-to-string pgg-epg-signatures)))
t))
)
(epg-context-set-armor context t)
(epg-context-set-textmode context pgg-text-mode)
- (get-buffer-create pgg-output-buffer)
- (get-buffer-create pgg-errors-buffer)
+ (save-excursion
+ (set-buffer (get-buffer-create pgg-output-buffer))
+ (erase-buffer)
+ (set-buffer (get-buffer-create pgg-errors-buffer))
+ (erase-buffer))
(insert (epg-export-keys-to-string context pgg-default-user-id))))
(defun pgg-epg-snarf-keys-region (start end)
)
(epg-context-set-armor context t)
(epg-context-set-textmode context pgg-text-mode)
- (get-buffer-create pgg-output-buffer)
- (get-buffer-create pgg-errors-buffer)
+ (save-excursion
+ (set-buffer (get-buffer-create pgg-output-buffer))
+ (erase-buffer)
+ (set-buffer (get-buffer-create pgg-errors-buffer))
+ (erase-buffer))
(epg-import-keys-from-string context (buffer-substring start end))))
(eval-when-compile
(let* ((expired (eq (epg-signature-status (car pgg-epg-signatures))
'key-expired))
(signer (cons (epg-signature-key-id (car pgg-epg-signatures))
- (epg-signature-user-id (car pgg-epg-signatures))))
+ (cdr (assoc (epg-signature-key-id
+ (car pgg-epg-signatures))
+ epg-user-id-alist))))
(fprint (epg-signature-fingerprint (car pgg-epg-signatures)))
(trust-good-enough-p
(memq (epg-signature-validity (car pgg-epg-signatures))