- 'raw-text-dos)))
- (when (epg-context-result-for context 'verify)
- (epa-display-verify-result
- (epg-context-result-for context 'verify))))))
-
- ((require 'pgg nil t)
- (defun wl-mime-pgp-decrypt-region (beg end &optional no-decode)
- (require 'pgg)
- (let ((buffer-file-coding-system wl-cs-autoconv)
- status)
- (setq status (pgg-decrypt-region beg end))
- (if no-decode
- (when status
- (delete-region beg end)
- (insert-buffer-substring pgg-output-buffer))
- (pgg-display-output-buffer beg end status))
- (unless status
- (error "Decryption is failed"))))
-
- (defun wl-mime-pgp-verify-region (beg end &optional coding-system)
- (require 'pgg)
- (let ((message-buffer (current-buffer))
- success)
- (with-temp-buffer
- (insert-buffer-substring message-buffer beg end)
- (when coding-system
- (encode-coding-region (point-min) (point-max) coding-system))
- (setq success (pgg-verify-region (point-min) (point-max) nil 'fetch)))
- (mime-show-echo-buffer)
- (set-buffer mime-echo-buffer-name)
- (set-window-start
- (get-buffer-window mime-echo-buffer-name)
- (point-max))
- (insert-buffer-substring
- (if success
- pgg-output-buffer
- pgg-errors-buffer)))))
- (t
- (defun wl-mime-pgp-decrypt-region (beg end &optional no-decode)
- (error "Does not support PGP decryption"))
-
- (defun wl-mime-pgp-verify-region (beg end &optional coding-system)
- (error "Does not support PGP verification"))))
+ 'raw-text-dos))))
+ (when (epg-context-result-for context 'verify)
+ (epa-display-info (epg-verify-result-to-string
+ (epg-context-result-for context 'verify))))))
+
+(defun wl-mime-pgp-decrypt-region-with-pgg (beg end &optional no-decode)
+ (require 'pgg)
+ (let ((buffer-file-coding-system wl-cs-autoconv)
+ status)
+ (setq status (pgg-decrypt-region beg end))
+ (if no-decode
+ (when status
+ (delete-region beg end)
+ (insert-buffer-substring pgg-output-buffer))
+ (pgg-display-output-buffer beg end status))
+ (unless status
+ (error "Decryption is failed"))
+ last-coding-system-used))
+
+(defun wl-mime-pgp-verify-region-with-pgg (beg end &optional coding-system)
+ (require 'pgg)
+ (let ((message-buffer (current-buffer))
+ success)
+ (with-temp-buffer
+ (insert-buffer-substring message-buffer beg end)
+ (when coding-system
+ (encode-coding-region (point-min) (point-max) coding-system))
+ (setq success (pgg-verify-region (point-min) (point-max) nil 'fetch)))
+ (mime-show-echo-buffer)
+ (set-buffer mime-echo-buffer-name)
+ (set-window-start
+ (get-buffer-window mime-echo-buffer-name)
+ (point-max))
+ (insert-buffer-substring
+ (if success
+ pgg-output-buffer
+ pgg-errors-buffer))))
+
+(defsubst wl-mime-pgp-decrypt-region (beg end &optional no-decode)
+ (case wl-use-pgp-module
+ (epg
+ (wl-mime-pgp-decrypt-region-with-epg beg end no-decode))
+ (pgg
+ (wl-mime-pgp-decrypt-region-with-pgg beg end no-decode))
+ (t
+ (error "Don't support PGP decryption"))))
+
+(defsubst wl-mime-pgp-verify-region (beg end &optional coding-system)
+ (case wl-use-pgp-module
+ (epg
+ (wl-mime-pgp-verify-region-with-epg beg end coding-system))
+ (pgg
+ (wl-mime-pgp-verify-region-with-pgg beg end coding-system))
+ (t
+ (error "Don't support PGP decryption"))))