From fdc6e83739056c34312593c02d673787dded73fe Mon Sep 17 00:00:00 2001 From: yamaoka Date: Tue, 11 Feb 2003 03:57:06 +0000 Subject: [PATCH] Synch to Oort Gnus. --- lisp/ChangeLog | 11 +++++++++++ lisp/gnus-sum.el | 19 ++++++++++++------- lisp/gnus-topic.el | 18 ++++++++++-------- texi/ChangeLog | 4 ++++ texi/gnus-ja.texi | 6 ++++-- texi/gnus.texi | 6 ++++-- 6 files changed, 45 insertions(+), 19 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e5e5974..72aa5c8 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,14 @@ +2003-02-11 Lars Magne Ingebrigtsen + + * gnus-topic.el (gnus-topic-expire-articles): Recursive. + (gnus-topic-catchup-articles): Ditto. + (gnus-topic-mark-topic): Reverse recursive logic. + +2003-02-11 Jesper Harder + + * gnus-sum.el (gnus-summary-refer-thread): Handle case where + gnus-refer-thread-limit is t. + 2003-02-10 Jesper Harder * mm-util.el (mm-mule-charset-to-mime-charset): Use diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 054b0dd..332e00e 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -7983,13 +7983,18 @@ of what's specified by the `gnus-refer-thread-limit' variable." (unless (eq gnus-fetch-old-headers 'invisible) (gnus-message 5 "Fetching headers for %s..." gnus-newsgroup-name) ;; Retrieve the headers and read them in. - (if (eq (gnus-retrieve-headers - (list (min - (+ (mail-header-number - (gnus-summary-article-header)) - limit) - gnus-newsgroup-end)) - gnus-newsgroup-name (* limit 2)) + (if (eq (if (numberp limit) + (gnus-retrieve-headers + (list (min + (+ (mail-header-number + (gnus-summary-article-header)) + limit) + gnus-newsgroup-end)) + gnus-newsgroup-name (* limit 2)) + ;; gnus-refer-thread-limit is t, i.e. fetch _all_ + ;; headers. + (gnus-retrieve-headers (list gnus-newsgroup-end) + gnus-newsgroup-name limit)) 'nov) (gnus-build-all-threads) (error "Can't fetch thread from backends that don't support NOV")) diff --git a/lisp/gnus-topic.el b/lisp/gnus-topic.el index 97b2392..7733b2c 100644 --- a/lisp/gnus-topic.el +++ b/lisp/gnus-topic.el @@ -1203,7 +1203,8 @@ If performed over a topic line, toggle folding the topic." (gnus-message 5 "Expiring groups in %s..." topic) (let ((gnus-group-marked (mapcar (lambda (entry) (car (nth 2 entry))) - (gnus-topic-find-groups topic gnus-level-killed t)))) + (gnus-topic-find-groups topic gnus-level-killed t + nil t)))) (gnus-group-expire-articles nil)) (gnus-message 5 "Expiring groups in %s...done" topic)))) @@ -1216,7 +1217,8 @@ Also see `gnus-group-catchup'." (save-excursion (let* ((groups (mapcar (lambda (entry) (car (nth 2 entry))) - (gnus-topic-find-groups topic gnus-level-killed t))) + (gnus-topic-find-groups topic gnus-level-killed t + nil t))) (buffer-read-only nil) (gnus-group-marked groups)) (gnus-group-catchup-current) @@ -1425,9 +1427,9 @@ If PERMANENT, make it stay shown in subsequent sessions as well." (setcar (cdr (cadr topic)) 'visible) (gnus-group-list-groups))))) -(defun gnus-topic-mark-topic (topic &optional unmark recursive) +(defun gnus-topic-mark-topic (topic &optional unmark non-recursive) "Mark all groups in the TOPIC with the process mark. -If RECURSIVE is t, mark its subtopics too." +If NON-RECURSIVE (which is the prefix) is t, don't mark its subtopics." (interactive (list (gnus-group-topic-name) nil (and current-prefix-arg t))) @@ -1435,20 +1437,20 @@ If RECURSIVE is t, mark its subtopics too." (call-interactively 'gnus-group-mark-group) (save-excursion (let ((groups (gnus-topic-find-groups topic gnus-level-killed t nil - recursive))) + (not non-recursive)))) (while groups (funcall (if unmark 'gnus-group-remove-mark 'gnus-group-set-mark) (gnus-info-group (nth 2 (pop groups))))))))) -(defun gnus-topic-unmark-topic (topic &optional dummy recursive) +(defun gnus-topic-unmark-topic (topic &optional dummy non-recursive) "Remove the process mark from all groups in the TOPIC. -If RECURSIVE is t, unmark its subtopics too." +If NON-RECURSIVE (which is the prefix) is t, don't unmark its subtopics." (interactive (list (gnus-group-topic-name) nil (and current-prefix-arg t))) (if (not topic) (call-interactively 'gnus-group-unmark-group) - (gnus-topic-mark-topic topic t recursive))) + (gnus-topic-mark-topic topic t non-recursive))) (defun gnus-topic-get-new-news-this-topic (&optional n) "Check for new news in the current topic." diff --git a/texi/ChangeLog b/texi/ChangeLog index 477cd97..139725f 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,7 @@ +2003-02-11 Lars Magne Ingebrigtsen + + * gnus.texi (Topic Commands): Addition. + 2003-02-07 Teodor Zlatanov * gnus.texi (BBDB Whitelists, Blacklists and Whitelists): diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index 5de1d72..276db80 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -3741,13 +3741,15 @@ Gnus @kindex T # (トピック) @findex gnus-topic-mark-topic 現在のトピックにあるグループ全てにプロセスマークをつけま -す (@code{gnus-topic-mark-topic})。 +す (@code{gnus-topic-mark-topic})。接頭辞が与えられない場合、このコマン +ドは副トピックに対して再帰的に働きます。 @item T M-# @kindex T M-# (トピック) @findex gnus-topic-unmark-topic 現在のトピックにある全てのグループからプロセスマークを消しま -す (@code{gnus-topic-unmark-topic})。 +す (@code{gnus-topic-unmark-topic})。接頭辞が与えられない場合、このコマ +ンドは副トピックに対して再帰的に働きます。 @item C-c C-x @kindex C-c C-x (トピック) diff --git a/texi/gnus.texi b/texi/gnus.texi index 8109b74..74de049 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -3676,13 +3676,15 @@ Toggle hiding empty topics @kindex T # (Topic) @findex gnus-topic-mark-topic Mark all groups in the current topic with the process mark -(@code{gnus-topic-mark-topic}). +(@code{gnus-topic-mark-topic}). This command works recursively on +sub-topics unless given a prefix. @item T M-# @kindex T M-# (Topic) @findex gnus-topic-unmark-topic Remove the process mark from all groups in the current topic -(@code{gnus-topic-unmark-topic}). +(@code{gnus-topic-unmark-topic}). This command works recursively on +sub-topics unless given a prefix. @item C-c C-x @kindex C-c C-x (Topic) -- 1.7.10.4