From c779c488b44999bf76f83e009646d099fc4eb99e Mon Sep 17 00:00:00 2001 From: yamaoka Date: Thu, 21 Feb 2002 22:14:54 +0000 Subject: [PATCH] Synch with Oort Gnus. --- lisp/ChangeLog | 19 ++++++++++++++++++- lisp/gnus-group.el | 18 +++++++++++++++++- lisp/gnus-sum.el | 12 +++++------- lisp/nnmaildir.el | 6 +++++- 4 files changed, 45 insertions(+), 10 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a3e6a2d..bcebb73 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,20 @@ +2002-02-21 Paul Jarc + + * nnmaildir.el (nnmaildir-request-expire-articles): Use + nnmail-expiry-wait* if expire-age parameter is not set. + +2002-02-21 ShengHuo ZHU + + * gnus-group.el (gnus-group-sort-groups-by-real-name): New + function. + (gnus-group-sort-selected-groups-by-real-name): New function. + (gnus-group-make-menu-bar): Add sort by real name. + + * gnus-sum.el (gnus-dependencies-add-header): If replaced, don't + rebuild. + (gnus-summary-edit-article-done): Gnus-get-newsgroup-headers takes + nil as dependencies as well. + 2002-02-20 ShengHuo ZHU * nndoc.el (nndoc-dissect-mime-parts-sub): Fix MIME-Version header @@ -13,7 +30,7 @@ * mm-decode.el (mm-inlined-types): Add application/x-emacs-lisp. (mm-automatic-display): Ditto. - + * mailcap.el (mailcap-mime-data): Ditto. From: Reiner Steib <4uce.02.r.steib@gmx.net> diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index fccd242..4533b5b 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -798,7 +798,8 @@ simple manner.") ["Sort by score" gnus-group-sort-groups-by-score t] ["Sort by level" gnus-group-sort-groups-by-level t] ["Sort by unread" gnus-group-sort-groups-by-unread t] - ["Sort by name" gnus-group-sort-groups-by-alphabet t]) + ["Sort by name" gnus-group-sort-groups-by-alphabet t] + ["Sort by real name" gnus-group-sort-groups-by-real-name t]) ("Sort process/prefixed" ["Default sort" gnus-group-sort-selected-groups (or (not (boundp 'gnus-topic-mode)) (not gnus-topic-mode))] @@ -813,6 +814,8 @@ simple manner.") ["Sort by unread" gnus-group-sort-selected-groups-by-unread (or (not (boundp 'gnus-topic-mode)) (not gnus-topic-mode))] ["Sort by name" gnus-group-sort-selected-groups-by-alphabet + (or (not (boundp 'gnus-topic-mode)) (not gnus-topic-mode))] + ["Sort by real name" gnus-group-sort-selected-groups-by-real-name (or (not (boundp 'gnus-topic-mode)) (not gnus-topic-mode))]) ("Mark" ["Mark group" gnus-group-mark-group @@ -2734,6 +2737,12 @@ If REVERSE, sort in reverse order." (interactive "P") (gnus-group-sort-groups 'gnus-group-sort-by-alphabet reverse)) +(defun gnus-group-sort-groups-by-real-name (&optional reverse) + "Sort the group buffer alphabetically by real (unprefixed) group name. +If REVERSE, sort in reverse order." + (interactive "P") + (gnus-group-sort-groups 'gnus-group-sort-by-real-name reverse)) + (defun gnus-group-sort-groups-by-unread (&optional reverse) "Sort the group buffer by number of unread articles. If REVERSE, sort in reverse order." @@ -2812,6 +2821,13 @@ sort in reverse order." (interactive (gnus-interactive "P\ny")) (gnus-group-sort-selected-groups n 'gnus-group-sort-by-alphabet reverse)) +(defun gnus-group-sort-selected-groups-by-real-name (&optional n reverse) + "Sort the group buffer alphabetically by real group name. +Obeys the process/prefix convention. If REVERSE (the symbolic prefix), +sort in reverse order." + (interactive (gnus-interactive "P\ny")) + (gnus-group-sort-selected-groups n 'gnus-group-sort-by-real-name reverse)) + (defun gnus-group-sort-selected-groups-by-unread (&optional n reverse) "Sort the group buffer by number of unread articles. Obeys the process/prefix convention. If REVERSE (the symbolic prefix), diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 46f166c..faea7a4 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -3577,7 +3577,7 @@ entered. Returns HEADER if it was entered in the DEPENDENCIES. Returns nil otherwise." (let* ((id (mail-header-id header)) (id-dep (and id (intern id dependencies))) - ref ref-dep ref-header) + ref ref-dep ref-header replaced) ;; Enter this `header' in the `dependencies' table. (cond ((not id-dep) @@ -3594,7 +3594,8 @@ Returns HEADER if it was entered in the DEPENDENCIES. Returns nil otherwise." (force-new ;; Overrides an existing entry; ;; just set the header part of the entry. - (setcar (symbol-value id-dep) header)) + (setcar (symbol-value id-dep) header) + (setq replaced t)) ;; Renames the existing `header' to a unique Message-ID. ((not gnus-summary-ignore-duplicates) @@ -3617,7 +3618,7 @@ Returns HEADER if it was entered in the DEPENDENCIES. Returns nil otherwise." (or (mail-header-xref header) ""))) (setq header nil))) - (when header + (when (and header (not replaced)) ;; First check that we are not creating a References loop. (setq ref (gnus-parent-id (mail-header-references header))) (while (and ref @@ -8950,10 +8951,7 @@ groups." (insert ".\n") (let ((nntp-server-buffer (current-buffer))) (setq header (car (gnus-get-newsgroup-headers - (save-excursion - (set-buffer gnus-summary-buffer) - gnus-newsgroup-dependencies) - t)))) + nil t)))) (save-excursion (set-buffer gnus-summary-buffer) (gnus-data-set-header diff --git a/lisp/nnmaildir.el b/lisp/nnmaildir.el index 1f58d16..25b15a8 100644 --- a/lisp/nnmaildir.el +++ b/lisp/nnmaildir.el @@ -1472,7 +1472,11 @@ by nnmaildir-request-article.") pgname (nnmaildir--grp-get-pname group)) (if (nnmaildir--param pgname 'read-only) (throw 'return (gnus-uncompress-range ranges))) - (setq time (or (nnmaildir--param pgname 'expire-age) 604800)) + (setq time (or (nnmaildir--param pgname 'expire-age) + (* 86400 ;; seconds per day + (or (and nnmail-expiry-wait-function + (funcall nnmail-expiry-wait-function gname)) + nnmail-expiry-wait)))) (if (or force (integerp time)) nil (throw 'return (gnus-uncompress-range ranges))) (setq boundary (current-time) -- 1.7.10.4