From: yamaoka Date: Fri, 8 Jun 2001 02:09:02 +0000 (+0000) Subject: Synch with Oort Gnus. X-Git-Tag: t-gnus-6_15_4-02-quimby~31 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=430a93845a96271decc3642d4e3b5f9f1191cb1e;p=elisp%2Fgnus.git- Synch with Oort Gnus. --- diff --git a/ChangeLog b/ChangeLog index 0d41196..152cece 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-06-08 Katsumi Yamaoka + + * lisp/lpath.el: Fbind `xml-node-children' for XEmacsen and old FSF + Emacsen. + 2001-06-07 Katsumi Yamaoka * lisp/nnshimbun.el (nnshimbun-request-expire-articles): Prefer the diff --git a/contrib/xml.el b/contrib/xml.el index 25851e2..a07f449 100644 --- a/contrib/xml.el +++ b/contrib/xml.el @@ -1,6 +1,6 @@ ;; @(#) xml.el --- XML parser -;; Copyright (C) 2000 Free Software Foundation, Inc. +;; Copyright (C) 2000, 2001 Free Software Foundation, Inc. ;; Author: Emmanuel Briot ;; Maintainer: Emmanuel Briot @@ -272,6 +272,8 @@ Returns one of: ;; This was an invalid start tag (error "XML: Invalid attribute list") )))) + (t ;; This is not a tag. + (error "XML: Invalid character.")) )) (defun xml-parse-attlist (end) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 953df78..50b4a1d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,28 @@ +2001-06-03 Dale Hagglund + + * gnus-mlspl.el (gnus-group-split-fancy): Fix generation of split + restrict clauses. + +2001-06-07 16:00:00 ShengHuo ZHU + + From Benjamin Rutt + + * message.el (message-wide-reply-confirm-recipients): New variable. + +2001-06-06 Mark Thomas + + * nnmail.el (nnmail-fix-eudora-headers): Change the In-Reply-To + fix so it works with XEmacs. + +2001-06-07 16:00:00 ShengHuo ZHU + + * nnrss.el (nnrss-retrieve-headers): Support description as extra + headers. + +2001-06-07 15:00:00 ShengHuo ZHU + + * nnrss.el: Fix a few bugs. + 2001-06-05 Simon Josefsson * mm-decode.el (mm-handle-set-external-undisplayer): Don't diff --git a/lisp/gnus-mlspl.el b/lisp/gnus-mlspl.el index 46ccc99..126c7d2 100644 --- a/lisp/gnus-mlspl.el +++ b/lisp/gnus-mlspl.el @@ -196,12 +196,9 @@ Calling (gnus-group-split-fancy nil nil \"mail.misc\") returns: (list 'any split-regexp) ;; Generate RESTRICTs for SPLIT-EXCLUDEs. (if (listp split-exclude) - (let ((seq split-exclude) - res) - (while seq - (push (cons '- (pop seq)) - res)) - (apply #'nconc (nreverse res))) + (apply #'append + (mapcar (lambda (arg) (list '- arg)) + split-exclude)) (list '- split-exclude)) (list group-clean)) split) diff --git a/lisp/lpath.el b/lisp/lpath.el index 4d25272..ae2cbb0 100644 --- a/lisp/lpath.el +++ b/lisp/lpath.el @@ -99,7 +99,7 @@ (let ((functions-variables (cond ((featurep 'xemacs) - '((propertize xml-parse-region))) + '((propertize xml-node-children xml-parse-region))) ((>= emacs-major-version 21) '((function-max-args smiley-encode-buffer))) ((boundp 'MULE) @@ -107,10 +107,11 @@ coding-system-get compose-mail file-name-extension find-coding-systems-region function-max-args get-charset-property propertize shell-command-to-string smiley-encode-buffer - xml-parse-region))) + xml-node-children xml-parse-region))) (t '((function-max-args - propertize smiley-encode-buffer xml-parse-region)))))) + propertize smiley-encode-buffer + xml-node-children xml-parse-region)))))) (maybe-fbind (car functions-variables)) (maybe-bind (car (cdr functions-variables)))) diff --git a/lisp/message.el b/lisp/message.el index 338387b..0cce8e0 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -1345,6 +1345,16 @@ Except if it is nil, use Gnus native MUA; if it is t, use :version "21.1" :group 'message) +(defcustom message-wide-reply-confirm-recipients nil + "Whether to confirm a wide reply to multiple email recipients. +If this variable is nil, don't ask whether to reply to all recipients. +If this variable is non-nil, pose the question \"Reply to all +recipients?\" before a wide reply to multiple recipients. If the user +answers yes, reply to all recipients as usual. If the user answers +no, only reply back to the author." + :group 'message-headers + :type 'boolean) + ;;; Internal variables. (defvar message-sending-message "Sending...") @@ -4908,7 +4918,12 @@ responses here are directed to other addresses."))) (lambda (addr) (cdr addr)) ccalist ", ")))) (when (string-match "^ +" (cdr ccs)) (setcdr ccs (substring (cdr ccs) (match-end 0)))) - (push ccs follow-to))))) + (push ccs follow-to))) + ;; 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?"))) + (setq follow-to (delq (assoc 'Cc follow-to) follow-to))))) follow-to)) ;;;###autoload diff --git a/lisp/nnmail.el b/lisp/nnmail.el index 227f61c..8a9cb7c 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -1121,8 +1121,8 @@ Return the number of characters in the body." (beginning-of-line) (insert "X-Gnus-Broken-Eudora-")) (goto-char (point-min)) - (when (re-search-forward "^In-Reply-To:[^\n]+\\(\n[ \t]+\\)" nil t) - (replace-match "" t t nil 1)))) + (when (re-search-forward "^\\(In-Reply-To:[^\n]+\\)\n[ \t]+" nil t) + (replace-match "\\1" t)))) (custom-add-option 'nnmail-prepare-incoming-header-hook 'nnmail-fix-eudora-headers) diff --git a/lisp/nnrss.el b/lisp/nnrss.el index 078a94a..48a1180 100644 --- a/lisp/nnrss.el +++ b/lisp/nnrss.el @@ -154,6 +154,10 @@ (defvar nnrss-use-local nil) +(defvar nnrss-description-field 'X-Gnus-Description + "Field name used for DESCRIPTION. +To use the description in headers, put this name into `nnmail-extra-headers'.") + (nnoo-define-basics nnrss) ;;; Interface functions @@ -168,10 +172,11 @@ (if (setq e (assq article nnrss-group-data)) (insert (number-to-string (car e)) "\t" ;; number (if (nth 3 e) - (nnrss-string-as-multibyte (nth 3 e)) "") + (nnrss-format-string (nth 3 e)) "") "\t" ;; subject (if (nth 4 e) - (nnrss-string-as-multibyte (nth 4 e)) "") + (nnrss-format-string (nth 4 e)) + "(nobody)") "\t" ;;from (or (nth 5 e) "") "\t" ;; date @@ -180,6 +185,12 @@ "\t" ;; refs "0" "\t" ;; chars "0" "\t" ;; lines + "" "\t" ;; Xref + (if (memq nnrss-description-field nnmail-extra-headers) + (concat (symbol-name nnrss-description-field) + ": " + (nnrss-format-string (nth 6 e)) "\t") + "") "\n"))))) 'nov) @@ -208,11 +219,11 @@ (erase-buffer) (goto-char (point-min)) (if (nth 3 e) - (insert "Subject: " (nnrss-string-as-multibyte (nth 3 e)) "\n")) + (insert "Subject: " (nnrss-format-string (nth 3 e)) "\n")) (if (nth 4 e) - (insert "From: " (nnrss-string-as-multibyte (nth 4 e)) "\n")) + (insert "From: " (nnrss-format-string (nth 4 e)) "\n")) (if (nth 5 e) - (insert "Date: " (nnrss-string-as-multibyte (nth 5 e)) "\n")) + (insert "Date: " (nnrss-format-string (nth 5 e)) "\n")) (insert "Message-ID: " (format "<%d@%s.nnrss>" (car e) group) "\n") (insert "\n") (if (nth 6 e) @@ -457,14 +468,14 @@ (dolist (item (nreverse xml)) (when (and (listp item) (eq 'item (car item)) - (setq url (caddr (assq 'link (cddr item)))) + (setq url (nnrss-node-text (assq 'link (cddr item)))) (setq url (nnrss-decode-entities-unibyte-string url)) (not (gnus-gethash url nnrss-group-hashtb))) - (setq subject (caddr (assq 'title (cddr item)))) - (setq extra (or (caddr (assq 'description (cddr item))) - (caddr (assq 'dc:description (cddr item))))) - (setq author (caddr (assq 'dc:creator (cddr item)))) - (setq date (or (caddr (assq 'dc:date (cddr item))) + (setq subject (nnrss-node-text (assq 'title (cddr item)))) + (setq extra (or (nnrss-node-text (assq 'description (cddr item))) + (nnrss-node-text (assq 'dc:description (cddr item))))) + (setq author (nnrss-node-text (assq 'dc:creator (cddr item)))) + (setq date (or (nnrss-node-text (assq 'dc:date (cddr item))) (message-make-date))) (push (list @@ -532,6 +543,13 @@ It is useful when `(setq nnrss-use-local t)'." (if changed (nnrss-save-server-data "")))) +(defun nnrss-format-string (string) + (nnweb-replace-in-string (nnrss-string-as-multibyte string) " *\n *" " ")) + +(defun nnrss-node-text (node) + (if (stringp node) node + (mapconcat 'nnrss-node-text (xml-node-children node) ""))) + (provide 'nnrss) ;;; nnrss.el ends here diff --git a/texi/ChangeLog b/texi/ChangeLog index 4fddf68..3645414 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,7 @@ +2001-06-07 16:00:00 ShengHuo ZHU + + * gnus.texi (RSS): Add. + 2001-05-31 13:00:00 ShengHuo ZHU * gnus.texi (Setting Marks): Add. diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index dc1bd86..6a24dce 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -12732,6 +12732,18 @@ asahi RET an_group RET}$B!#(B(@sc{an_group} $B$r1\Mw$7$?$$5-;v%0%k!<%W$KCV$-4 $B$O(B @samp{~/News/rss/} $B$G$9!#(B @end table +$B35N,%P%C%U%!$K@bL@$rI=<($5$;$?$$$J$i$P!"0J2<$N%3!<%I$,Lr$KN)$D$G$7$g$&!#(B + +@lisp +(add-to-list 'nnmail-extra-headers nnrss-description-field) +(setq gnus-summary-line-format "%U%R%z%I%(%[%4L: %-15,15f%]%) %s%uX\n") + +(defun gnus-user-format-function-X (header) + (let ((descr + (assq nnrss-description-field (mail-header-extra header)))) + (if descr (concat "\n\t" (cdr descr)) ""))) +@end lisp + @node Customizing w3 @subsection w3 $B$N%+%9%?%^%$%:(B @cindex w3 diff --git a/texi/gnus.texi b/texi/gnus.texi index 6da0766..1a9d267 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -13251,6 +13251,19 @@ The directory where @code{nnrss} stores its files. The default is @end table +The following code may be helpful, if you want to show the description in +the summary buffer. + +@lisp +(add-to-list 'nnmail-extra-headers nnrss-description-field) +(setq gnus-summary-line-format "%U%R%z%I%(%[%4L: %-15,15f%]%) %s%uX\n") + +(defun gnus-user-format-function-X (header) + (let ((descr + (assq nnrss-description-field (mail-header-extra header)))) + (if descr (concat "\n\t" (cdr descr)) ""))) +@end lisp + @node Customizing w3 @subsection Customizing w3 @cindex w3