Automatically decrypt pgp blocks in messages. semi-1_14-vtl
authorvitaly <vitaly>
Thu, 28 May 2009 11:22:40 +0000 (11:22 +0000)
committervitaly <vitaly>
Thu, 28 May 2009 11:22:40 +0000 (11:22 +0000)
mime-pgp.el
pgg-def.el
semi-setup.el

index 3a5b655..8f49a2e 100644 (file)
        (setq mime-view-temp-message-buffer message-buf))
       (set-window-buffer p-win preview-buffer))))
 
+(defun mime-display-multipart/pgp-encrypted (entity situation)
+   (if pgg-decrypt-automatically
+       (let ((pgp-begin (point)))
+        (mime-insert-entity entity)
+        (goto-char pgp-begin)
+        (when (re-search-forward "^-+BEGIN PGP MESSAGE-+$" nil t)
+          (pgg-decrypt-region pgp-begin (point-max))
+          (delete-region pgp-begin (point-max))
+          (mime-display-entity
+           (mime-parse-buffer pgg-output-buffer))))
+     (mime-display-multipart/mixed entity situation)))
 
 ;;; @ end
 ;;;
index 5f8d722..403684f 100644 (file)
   :group 'pgg
   :type 'boolean)
 
+(defcustom pgg-decrypt-automatically nil
+  "*If t, decrypt messages automatically."
+  :group 'pgg
+  :type 'boolean)
+
 (defvar pgg-messages-coding-system nil
   "Coding system used when reading from a PGP external process.")
 
index 0c1931c..2333877 100644 (file)
@@ -79,6 +79,8 @@ it is used as hook to set."
 (if mime-setup-enable-pgp
     (eval-after-load "mime-view"
       '(progn
+        (require 'mime-pgp)
+
         (mime-add-condition
          'preview '((type . application)(subtype . pgp)
                     (message-button . visible)))
@@ -136,6 +138,12 @@ it is used as hook to set."
          '((type . application)(subtype . x-pkcs7-mime)
            (method . mime-view-application/pkcs7-mime))
          'strict "mime-pgp")
+
+        (ctree-set-calist-strictly
+         'mime-preview-condition
+         '((type . multipart) (subtype . encrypted) ("protocol" . "application/pgp-encrypted")
+           (body . visible)
+           (body-presentation-method . mime-display-multipart/pgp-encrypted)))
         ))
   )