From 50103c4b3603088d900cdfdfe528450ec008f119 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Thu, 9 Aug 2001 22:50:01 +0000 Subject: [PATCH] Synch with Oort Gnus. --- lisp/ChangeLog | 37 ++++++++++++++++++++++++++++++ lisp/message.el | 8 +++---- lisp/mm-decode.el | 66 ++++++++++++++++++++++++++++++++++------------------- lisp/mm-view.el | 36 +++++++++++------------------ lisp/nndraft.el | 3 +-- texi/ChangeLog | 10 ++++++++ texi/gnus-ja.texi | 11 +++++++-- texi/gnus.texi | 8 +++++-- 8 files changed, 122 insertions(+), 57 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b4a7ec0..2e9c551 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,40 @@ +2001-08-09 15:00:00 ShengHuo ZHU + + * nndraft.el (nndraft-request-group): Use + nndraft-auto-save-file-name. + +2001-08-09 Simon Josefsson + + * mm-view.el (mm-view-pkcs7-decrypt): Operate in current buffer. + Don't ask whether to decrypt. Just leave result in buffer (don't + call mm). + + * mm-decode.el (mm-dissect-buffer): Possibly verify/decrypt single + parts as well. + (mm-inline-media-tests): Ignore application/{x-,}pkcs7-mime. + (mm-possibly-verify-or-decrypt): Support application/{x-,}pkcs7-mime. + +2001-08-09 Simon Josefsson + + * mm-decode.el (mm-insert-part): Return decoding success status. + (mm-save-part-to-file): Error if decoding failed. + +2001-08-09 10:00:00 ShengHuo ZHU + + * message.el (message-tab): Use indent-relative. + (message-mode): Don't bind indent-line-function to indent-relative. + +2001-08-09 Simon Josefsson + + * message.el (message-get-reply-headers): Fix string. Suggested by + Christoph Conrad . + +2001-08-08 15:00:00 ShengHuo ZHU + + * message.el (message-tab): Use the current value of + indent-line-function. + (message-mode): Bind indent-line-function to indent-relative. + 2001-08-08 Simon Josefsson * imap.el (imap-gssapi-auth-p, imap-kerberos4-auth-p): Also check diff --git a/lisp/message.el b/lisp/message.el index 3e19cc3..738b6f5 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -4854,7 +4854,7 @@ responses here are directed to other addresses."))) ;; Allow the user to be asked whether or not to reply to all ;; recipients in a wide reply. (if (and ccalist wide message-wide-reply-confirm-recipients - (not (y-or-n-p "Reply to all recipients?"))) + (not (y-or-n-p "Reply to all recipients? "))) (setq follow-to (delq (assoc 'Cc follow-to) follow-to))))) follow-to)) @@ -5571,15 +5571,15 @@ which specify the range to operate on." "Alist of (RE . FUN). Use FUN for completion on header lines matching RE.") (defun message-tab () - "Expand group names in Newsgroups and Followup-To headers. -Do a `tab-to-tab-stop' if not in those headers." + "Complete names according to `message-completion-alist'. +Do an `indent-relative' if not in those headers." (interactive) (let ((alist message-completion-alist)) (while (and alist (let ((mail-abbrev-mode-regexp (caar alist))) (not (mail-abbrev-in-expansion-header-p)))) (setq alist (cdr alist))) - (funcall (or (cdar alist) (default-value 'indent-line-function))))) + (funcall (or (cdar alist) 'indent-relative)))) (defun message-expand-group () "Expand the group name under point." diff --git a/lisp/mm-decode.el b/lisp/mm-decode.el index 8614d4c..6774bdf 100644 --- a/lisp/mm-decode.el +++ b/lisp/mm-decode.el @@ -177,8 +177,8 @@ ("application/pgp-signature" ignore identity) ("application/x-pkcs7-signature" ignore identity) ("application/pkcs7-signature" ignore identity) - ("application/x-pkcs7-mime" mm-view-pkcs7 identity) - ("application/pkcs7-mime" mm-view-pkcs7 identity) + ("application/x-pkcs7-mime" ignore identity) + ("application/pkcs7-mime" ignore identity) ("multipart/alternative" ignore identity) ("multipart/mixed" ignore identity) ("multipart/related" ignore identity) @@ -468,14 +468,17 @@ for types in mm-keep-viewer-alive-types." (car ctl)) (cons (car ctl) (mm-dissect-multipart ctl)))) (t - (mm-dissect-singlepart - ctl - (and cte (intern (downcase (mail-header-remove-whitespace - (mail-header-remove-comments - cte))))) - no-strict-mime - (and cd (ignore-errors (mail-header-parse-content-disposition cd))) - description id)))) + (mm-possibly-verify-or-decrypt + (mm-dissect-singlepart + ctl + (and cte (intern (downcase (mail-header-remove-whitespace + (mail-header-remove-comments + cte))))) + no-strict-mime + (and cd (ignore-errors + (mail-header-parse-content-disposition cd))) + description id) + ctl)))) (when id (when (string-match " *<\\(.*\\)> *" id) (setq id (match-string 1 id))) @@ -895,20 +898,22 @@ external if displayed external." (if (member (mm-handle-media-supertype handle) '("text" "message")) (with-temp-buffer (insert-buffer-substring (mm-handle-buffer handle)) - (mm-decode-content-transfer-encoding - (mm-handle-encoding handle) - (mm-handle-media-type handle)) - (let ((temp (current-buffer))) - (set-buffer cur) - (insert-buffer-substring temp))) + (prog1 + (mm-decode-content-transfer-encoding + (mm-handle-encoding handle) + (mm-handle-media-type handle)) + (let ((temp (current-buffer))) + (set-buffer cur) + (insert-buffer-substring temp)))) (mm-with-unibyte-buffer (insert-buffer-substring (mm-handle-buffer handle)) - (mm-decode-content-transfer-encoding - (mm-handle-encoding handle) - (mm-handle-media-type handle)) - (let ((temp (current-buffer))) - (set-buffer cur) - (insert-buffer-substring temp))))))) + (prog1 + (mm-decode-content-transfer-encoding + (mm-handle-encoding handle) + (mm-handle-media-type handle)) + (let ((temp (current-buffer))) + (set-buffer cur) + (insert-buffer-substring temp)))))))) (defun mm-file-name-delete-whitespace (file-name) "Remove all whitespace characters from FILE-NAME." @@ -963,7 +968,8 @@ like underscores." (defun mm-save-part-to-file (handle file) (mm-with-unibyte-buffer - (mm-insert-part handle) + (or (mm-insert-part handle) + (error "Error with message")) (let ((coding-system-for-write 'binary) ;; Don't re-compress .gz & al. Arguably we should make ;; `file-name-handler-alist' nil, but that would chop @@ -1218,10 +1224,22 @@ If RECURSIVE, search recursively." (car handle)))) (defun mm-possibly-verify-or-decrypt (parts ctl) - (let ((subtype (cadr (split-string (car ctl) "/"))) + (let ((type (car ctl)) + (subtype (cadr (split-string (car ctl) "/"))) (mm-security-handle ctl) ;; (car CTL) is the type. protocol func functest) (cond + ((or (equal type "application/x-pkcs7-mime") + (equal type "application/pkcs7-mime")) + (with-temp-buffer + (when (and (cond + ((eq mm-decrypt-option 'never) nil) + ((eq mm-decrypt-option 'always) t) + ((eq mm-decrypt-option 'known) t) + (t (y-or-n-p + (format "Decrypt (S/MIME) part? ")))) + (mm-view-pkcs7 parts)) + (setq parts (mm-dissect-buffer t))))) ((equal subtype "signed") (unless (and (setq protocol (mm-handle-multipart-ctl-parameter ctl 'protocol)) diff --git a/lisp/mm-view.el b/lisp/mm-view.el index 9ff9428..edd824b 100644 --- a/lisp/mm-view.el +++ b/lisp/mm-view.el @@ -358,29 +358,19 @@ (otherwise (error "Unknown or unimplemented PKCS#7 type")))) (defun mm-view-pkcs7-decrypt (handle) - (if (cond - ((eq mm-decrypt-option 'never) nil) - ((eq mm-decrypt-option 'always) t) - ((eq mm-decrypt-option 'known) t) - (t (y-or-n-p - (format "Decrypt (S/MIME) part? ")))) - (let (res) - (with-temp-buffer - (insert-buffer (mm-handle-buffer handle)) - (goto-char (point-min)) - (insert "MIME-Version: 1.0\n") - (mm-insert-headers "application/pkcs7-mime" "base64" "smime.p7m") - (smime-decrypt-region - (point-min) (point-max) - (if (= (length smime-keys) 1) - (cadar smime-keys) - (smime-get-key-by-email - (completing-read "Decrypt this part with which key? " - smime-keys nil nil - (and (listp (car-safe smime-keys)) - (caar smime-keys)))))) - (setq res (buffer-string))) - (mm-insert-inline handle res)))) + (insert-buffer (mm-handle-buffer handle)) + (goto-char (point-min)) + (insert "MIME-Version: 1.0\n") + (mm-insert-headers "application/pkcs7-mime" "base64" "smime.p7m") + (smime-decrypt-region + (point-min) (point-max) + (if (= (length smime-keys) 1) + (cadar smime-keys) + (smime-get-key-by-email + (completing-read "Decrypt this part with which key? " + smime-keys nil nil + (and (listp (car-safe smime-keys)) + (caar smime-keys))))))) (provide 'mm-view) diff --git a/lisp/nndraft.el b/lisp/nndraft.el index e40e7cd..e1302a7 100644 --- a/lisp/nndraft.el +++ b/lisp/nndraft.el @@ -176,8 +176,7 @@ (dolist (n dir) (unless (file-exists-p (setq file (expand-file-name (int-to-string n) pathname))) - (rename-file (let ((buffer-file-name file)) - (make-auto-save-file-name)) file))))) + (rename-file (nndraft-auto-save-file-name file) file))))) (nnoo-parent-function 'nndraft 'nnmh-request-group (list group server dont-check))) diff --git a/texi/ChangeLog b/texi/ChangeLog index cff95a0..e4ff951 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,13 @@ +2001-08-09 15:00:00 ShengHuo ZHU + From Benjamin Rutt + + * gnus.texi (Troubleshooting): Addition. + +2001-08-09 Simon Josefsson + From Benjamin Rutt + + * gnus.texi (Mail Backend Variables): Fix. + 2001-08-04 Kai Gro,A_(Bjohann * gnus.texi (Summary Buffer Lines): Mention `gnus-goto-colon'. diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index d806133..3124d09 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -11369,6 +11369,9 @@ www.my-deja.com $B$J$I$N%&%'%V%a!<%k%5!<%P!<$+$i%a!<%k$rA0$K(B @@ -11377,10 +11380,10 @@ www.my-deja.com $B$J$I$N%&%'%V%a!<%k%5!<%P!<$+$i%a!<%k$ro$K$^$l( $B$=$l$r$I$3$+