2000-10-28 16:54:45 ShengHuo ZHU <zsh@cs.rochester.edu>
authorShengHuo ZHU <zsh@cs.rochester.edu>
Sat, 28 Oct 2000 20:02:28 +0000 (20:02 +0000)
committerShengHuo ZHU <zsh@cs.rochester.edu>
Sat, 28 Oct 2000 20:02:28 +0000 (20:02 +0000)
* mml.el (mml-generate-mime-postprocess-function): Set to
mml-postprocess.
(autoload): Autoload mml2015 and mml-smime.
(mml-postprocess-alist): Use mml2015-sign and mml2015-encrypt.
* mml2015.el (mml2015-encrypt): New function.
(mml2015-sign): New function.
(mml2015-encrypt-function): New variable.
(mml2015-sign-function): New variable.
(mml2015-mailcrypt-encrypt): Use message-recipients.
(mml2015-setup): Don't set mml-generate-mime-postprocess-function.
* mml-smime.el (mml-smime-setup): Ditto.

2000-10-28 10:09:41  ShengHuo ZHU  <zsh@cs.rochester.edu>

* message.el (message-options): New variable.
(message-options-set-recipient): New function.
(message-send): Use them.
* gnus-int.el (gnus-request-replace-article): Use them.
(gnus-request-accept-article): Ditto.
* mml.el (mml-preview): Use them.
* gnus-sum.el (gnus-summary-edit-article): Use them.

lisp/ChangeLog
lisp/gnus-int.el
lisp/gnus-sum.el
lisp/message.el
lisp/mml-smime.el
lisp/mml.el
lisp/mml2015.el

index cc59f2f..7538714 100644 (file)
@@ -1,3 +1,17 @@
+2000-10-28 16:54:45  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * mml.el (mml-generate-mime-postprocess-function): Set to
+       mml-postprocess.
+       (autoload): Autoload mml2015 and mml-smime.
+       (mml-postprocess-alist): Use mml2015-sign and mml2015-encrypt.
+       * mml2015.el (mml2015-encrypt): New function.
+       (mml2015-sign): New function.
+       (mml2015-encrypt-function): New variable.
+       (mml2015-sign-function): New variable.
+       (mml2015-mailcrypt-encrypt): Use message-recipients.
+       (mml2015-setup): Don't set mml-generate-mime-postprocess-function.
+       * mml-smime.el (mml-smime-setup): Ditto.
+
 2000-10-28  Simon Josefsson  <sj@extundo.com>
 
        * imap.el (imap-parse-resp-text-code): Workaround bug in Stalker
 2000-10-28 10:09:41  ShengHuo ZHU  <zsh@cs.rochester.edu>
 
        * message.el (message-options): New variable.
-       (message-send): Use it.
-       * gnus-int.el (gnus-request-replace-article): Use it.
+       (message-options-set-recipient): New function.
+       (message-send): Use them.
+       * gnus-int.el (gnus-request-replace-article): Use them.
        (gnus-request-accept-article): Ditto.
-       * mml.el (mml-preview): Use it.
-       * gnus-sum.el (gnus-summary-edit-article): Use it.
+       * mml.el (mml-preview): Use them.
+       * gnus-sum.el (gnus-summary-edit-article): Use them.
        
        * message.el (message-options-get): New function.
        (message-options-get): New function.
index 271cb64..509ace2 100644 (file)
@@ -459,6 +459,7 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned."
     (insert "\n"))
   (unless no-encode
     (let ((message-options message-options))
+      (message-options-set-recipient)
       (save-restriction
        (message-narrow-to-head)
        (let ((mail-parse-charset message-default-charset))
@@ -474,6 +475,7 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned."
 (defun gnus-request-replace-article (article group buffer &optional no-encode)
   (unless no-encode
     (let ((message-options message-options))
+      (message-options-set-recipient)
       (save-restriction
        (message-narrow-to-head)
        (let ((mail-parse-charset message-default-charset))
index 64562e4..437359c 100644 (file)
@@ -7853,6 +7853,7 @@ groups."
         `(lambda (no-highlight)
            (let ((mail-parse-charset ',gnus-newsgroup-charset)
                  (message-options message-options)
+                 (message-options-set-recipient)
                  (mail-parse-ignored-charsets 
                   ',gnus-newsgroup-ignored-charsets))
              ,(if (not raw) '(progn 
index 934a4a7..61b4d74 100644 (file)
@@ -2129,6 +2129,7 @@ It should typically alter the sending method in some way or other."
        (success t)
        elem sent
        (message-options message-options))
+    (message-options-set-recipient)
     (while (and success
                (setq elem (pop alist)))
       (when (funcall (cadr elem))
@@ -4577,6 +4578,16 @@ regexp varstr."
           (push (cons symbol value) message-options))))
   value)
 
+(defun message-options-set-recipient ()
+  (save-restriction
+    (message-narrow-to-headers-or-head)
+    (message-options-set 'message-sender
+                        (mail-strip-quoted-names 
+                         (message-fetch-field "from")))
+    (message-options-set 'message-recipients
+                         (mail-strip-quoted-names 
+                          (message-fetch-field "to")))))
+
 (provide 'message)
 
 (run-hooks 'message-load-hook)
index 6a745df..c979402 100644 (file)
@@ -62,7 +62,7 @@
 
 ;;;###autoload
 (defun mml-smime-setup ()
-  (setq mml-generate-mime-postprocess-function 'mml-postprocess))
+  )
 
 (provide 'mml-smime)
 
index 7168b8c..6757290 100644 (file)
@@ -78,13 +78,18 @@ one charsets.")
 The function is called with one parameter, which is the part to be 
 generated.")
 
-(defvar mml-generate-mime-postprocess-function nil
+(defvar mml-generate-mime-postprocess-function 'mml-postprocess
   "A function called after generating a mime part.
 The function is called with one parameter, which is the generated part.")
 
+(autoload 'mml2015-sign "mml2015")
+(autoload 'mml2015-encrypt "mml2015")
+(autoload 'mml-smime-encrypt "mml-smime")
+(autoload 'mml-smime-sign "mml-smime")
+
 (defvar mml-postprocess-alist
-  '(("pgp-sign" . mml2015-mailcrypt-sign)
-    ("pgp-encrypt" . mml2015-mailcrypt-encrypt)
+  '(("pgp-sign" . mml2015-sign)
+    ("pgp-encrypt" . mml2015-encrypt)
     ("smime-sign" . mml-smime-sign)
     ("smime-encrypt" . mml-smime-encrypt))
   "Alist of postprocess functions.")
@@ -850,6 +855,7 @@ If RAW, don't highlight the article."
                                        (message-narrow-to-headers-or-head)
                                        (message-fetch-field "Newsgroups")))
                                     message-posting-charset)))
+    (message-options-set-recipient)
     (switch-to-buffer (generate-new-buffer
                       (concat (if raw "*Raw MIME preview of "
                                 "*MIME preview of ") (buffer-name))))
index e8c2980..708f824 100644 (file)
@@ -37,6 +37,8 @@
 
 (defvar mml2015-decrypt-function 'mailcrypt-decrypt)
 (defvar mml2015-verify-function 'mailcrypt-verify)
+(defvar mml2015-encrypt-function 'mml2015-mailcrypt-encrypt)
+(defvar mml2015-sign-function 'mml2015-mailcrypt-sign)
 
 ;;;###autoload
 (defun mml2015-decrypt (handle)
          (error "Corrupted pgp-encrypted part.")
        (gnus-mime-display-mixed (cdr handle)))))))
 
-;; FIXME: mm-dissect-buffer loses information of micalg and the
-;; original header of signed part.
-
+;;;###autoload
 (defun mml2015-verify (handle)
+  ;; FIXME: mm-dissect-buffer loses information of micalg and the
+  ;; original header of signed part.
   (if (y-or-n-p "Verify signed part?" )
       (let (child result hash)
        (with-temp-buffer
@@ -93,7 +95,6 @@
 
 (defvar mml2015-mailcrypt-prefix 0)
 
-;;;###autoload
 (defun mml2015-mailcrypt-sign (cont)
   (mailcrypt-sign mml2015-mailcrypt-prefix)
   (let ((boundary 
     (insert (format "--%s--\n" boundary))
     (goto-char (point-max))))
 
-;;;###autoload
 (defun mml2015-mailcrypt-encrypt (cont)
-  ;; FIXME:
-  ;; You have to input the receiptant.
-  (mailcrypt-encrypt mml2015-mailcrypt-prefix)
+  (require 'mc-toplev)
+  (mc-encrypt-generic 
+   (or (message-options-get 'message-recipients)
+       (message-options-set 'message-recipients
+                           (mc-cleanup-recipient-headers 
+                            (read-string "Recipients: ")))))
   (let ((boundary 
         (funcall mml-boundary-function (incf mml-multipart-number))))
     (goto-char (point-min))
     (insert (format "--%s--\n" boundary))
     (goto-char (point-max))))
 
+;;;###autoload
+(defun mml2015-encrypt (cont)
+  (funcall mml2015-encrypt-function cont))
+
+;;;###autoload
+(defun mml2015-sign (cont)
+  (funcall mml2015-sign-function cont))
+
 ;;;###autoload
 (defun mml2015-setup ()
-  (setq mml-generate-mime-postprocess-function 'mml-postprocess)
-;  (push '("multipart/signed" . mml2015-verify)
-;      gnus-mime-multipart-functions)
+  ;;(push '("multipart/signed" . mml2015-verify) gnus-mime-multipart-functions)
   (push '("multipart/encrypted" . mml2015-decrypt)
        gnus-mime-multipart-functions))