Synch with Oort Gnus.
authoryamaoka <yamaoka>
Thu, 21 Feb 2002 22:14:54 +0000 (22:14 +0000)
committeryamaoka <yamaoka>
Thu, 21 Feb 2002 22:14:54 +0000 (22:14 +0000)
lisp/ChangeLog
lisp/gnus-group.el
lisp/gnus-sum.el
lisp/nnmaildir.el

index a3e6a2d..bcebb73 100644 (file)
@@ -1,3 +1,20 @@
+2002-02-21  Paul Jarc  <prj@po.cwru.edu>
+
+       * nnmaildir.el (nnmaildir-request-expire-articles): Use
+       nnmail-expiry-wait* if expire-age parameter is not set.
+
+2002-02-21  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * 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  <zsh@cs.rochester.edu>
 
        * 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>
 
index fccd242..4533b5b 100644 (file)
@@ -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),
index 46f166c..faea7a4 100644 (file)
@@ -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
index 1f58d16..25b15a8 100644 (file)
@@ -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)