Importing gnus-5.6.23
authorshuhei-k <shuhei-k>
Wed, 1 Jul 1998 22:04:11 +0000 (22:04 +0000)
committershuhei-k <shuhei-k>
Wed, 1 Jul 1998 22:04:11 +0000 (22:04 +0000)
lisp/ChangeLog
lisp/gnus-agent.el
lisp/gnus-sum.el
lisp/gnus-util.el
lisp/gnus.el
lisp/nnmail.el
lisp/nntp.el
texi/ChangeLog
texi/gnus.texi
texi/message.texi

index 68e3957..d3d0183 100644 (file)
@@ -1,3 +1,34 @@
+Wed Jul  1 13:33:26 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.23 is released.
+
+Wed Jul  1 12:52:32 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-record-command): Give more precise time info. 
+       (nntp-next-result-arrived-p): Look for the end of error lines.
+
+Wed Jul  1 12:24:06 1998  François Pinard  <pinard@iro.umontreal.ca>
+
+       * gnus-util.el (gnus-delete-if): Would do the opposite.
+
+Wed Jul  1 01:53:31 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-build-sparse-threads): Didn't work at all.
+
+Tue Jun 30 15:56:54 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-send-authinfo): Store the user name.
+       (nntp-authinfo-user): New variable.
+
+       * gnus-sum.el (gnus-summary-limit-mark-excluded-as-read): Would
+       mark some articles as unread.
+
+       * gnus-agent.el (gnus-agent-expire): Don't sort lines.
+
+Tue Jun 30 15:56:31 1998  Mike McEwan  <mike@lotusland.demon.co.uk>
+
+       * gnus-agent.el (gnus-agent-expire): Use a fresh hash table.
+
 Mon Jun 29 22:49:49 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Gnus v5.6.22 is released.
index aaeb1cb..6d9e033 100644 (file)
@@ -1254,13 +1254,13 @@ The following commands are available:
   (interactive)
   (let ((methods gnus-agent-covered-methods)
        (day (- (gnus-time-to-day (current-time)) gnus-agent-expire-days))
-       (expiry-hashtb (gnus-make-hashtable 1023))
        gnus-command-method sym group articles
        history overview file histories elem art nov-file low info
        unreads marked article)
     (save-excursion
       (setq overview (get-buffer-create " *expire overview*"))
       (while (setq gnus-command-method (pop methods))
+       (let ((expiry-hashtb (gnus-make-hashtable 1023)))
        (gnus-agent-open-history)
        (set-buffer
         (setq gnus-agent-current-history
@@ -1319,7 +1319,7 @@ The following commands are available:
                                 (< art article)))
                   (if (file-exists-p
                        (gnus-agent-article-name
-                        (number-to-string article) group))
+                        (number-to-string art) group))
                       (forward-line 1)
                     ;; Remove old NOV lines that have no articles.
                     (gnus-delete-line)))
@@ -1362,7 +1362,7 @@ The following commands are available:
            (gnus-delete-line))
          (gnus-agent-save-history)
          (gnus-agent-close-history))
-       (gnus-message 4 "Expiry...done")))))
+       (gnus-message 4 "Expiry...done"))))))
 
 ;;;###autoload
 (defun gnus-agent-batch ()
index ee9bf9c..fba9656 100644 (file)
@@ -2939,6 +2939,7 @@ Returns HEADER if it was entered in the DEPENDENCIES.  Returns nil otherwise."
 
 (defun gnus-build-sparse-threads ()
   (let ((headers gnus-newsgroup-headers)
+       (gnus-summary-ignore-duplicates t)
        header references generation relations
        cthread subject child end pthread relation new-child date)
     ;; First we create an alist of generations/relations, where
@@ -2957,12 +2958,14 @@ Returns HEADER if it was entered in the DEPENDENCIES.  Returns nil otherwise."
                generation 0)
          (while (search-backward ">" nil t)
            (setq end (1+ (point)))
-           (if (search-backward "<" nil t)
-               (push (list (incf generation)
-                           child (setq child new-child)
-                           subject date)
-                     relations)))
-         (push (list (1+ generation) child nil subject) relations)
+           (when (search-backward "<" nil t)
+             (setq new-child (buffer-substring (point) end))
+             (push (list (incf generation)
+                         child (setq child new-child)
+                         subject date)
+                   relations)))
+         (when child
+           (push (list (1+ generation) child nil subject) relations))
          (erase-buffer)))
       (kill-buffer (current-buffer)))
     ;; Sort over trustworthiness.
@@ -6033,7 +6036,9 @@ If ALL, mark even excluded ticked and dormants as read."
                    '<)
                   (sort gnus-newsgroup-limit '<)))
        article)
-    (setq gnus-newsgroup-unreads gnus-newsgroup-limit)
+    (setq gnus-newsgroup-unreads
+         (delete-duplicates (append gnus-newsgroup-unreads
+                                    gnus-newsgroup-limit)))
     (if all
        (setq gnus-newsgroup-dormant nil
              gnus-newsgroup-marked nil
index a0afd30..5fe93ef 100644 (file)
@@ -946,7 +946,7 @@ ARG is passed to the first function."
   "Delete elements from LIST that satisfy PREDICATE."
   (let (out)
     (while list
-      (when (funcall predicate (car list))
+      (unless (funcall predicate (car list))
        (push (car list) out))
       (pop list))
     (nreverse out)))
index 46b9d3a..e773f12 100644 (file)
@@ -250,7 +250,7 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "5.6.22"
+(defconst gnus-version-number "5.6.23"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Gnus v%s" gnus-version-number)
index e761868..f44cb70 100644 (file)
@@ -1755,8 +1755,7 @@ If ARGS, PROMPT is used as an argument to `format'."
 
 (defun nnmail-purge-split-history (group)
   "Remove all instances of GROUP from `nnmail-split-history'."
-  (let ((history nnmail-split-history)
-       prev)
+  (let ((history nnmail-split-history))
     (while history
       (setcar history (gnus-delete-if (lambda (e) (string= (car e) group))
                                      (car history)))
index 67eafb7..763c614 100644 (file)
@@ -197,6 +197,7 @@ server there that you can connect to.  See also
 (defvoo nntp-last-command-time nil)
 (defvoo nntp-last-command nil)
 (defvoo nntp-authinfo-password nil)
+(defvoo nntp-authinfo-user nil)
 
 (defvar nntp-connection-list nil)
 
@@ -234,8 +235,10 @@ server there that you can connect to.  See also
   (save-excursion
     (set-buffer (get-buffer-create "*nntp-log*"))
     (goto-char (point-max))
-    (insert (format-time-string "%Y%m%dT%H%M%S" (current-time))
-           " " nntp-address " " string "\n")))
+    (let ((time (current-time)))
+      (insert (format-time-string "%Y%m%dT%H%M%S" time)
+             "." (format "%03d" (/ (nth 2 time) 1000))
+             " " nntp-address " " string "\n"))))
 
 (defsubst nntp-wait-for (process wait-for buffer &optional decode discard)
   "Wait for WAIT-FOR to arrive from PROCESS."
@@ -392,18 +395,22 @@ server there that you can connect to.  See also
 (nnoo-define-basics nntp)
 
 (defsubst nntp-next-result-arrived-p ()
-  (let ((point (point)))
-    (cond
-     ((eq (following-char) ?2)
-      (if (re-search-forward "\n\\.\r?\n" nil t)
-         t
-       (goto-char point)
-       nil))
-     ((looking-at "[34]")
-      (forward-line 1)
-      t)
-     (t
-      nil))))
+  (cond
+   ;; A result that starts with a 2xx code is terminated by
+   ;; a line with only a "." on it.
+   ((eq (following-char) ?2)
+    (if (re-search-forward "\n\\.\r?\n" nil t)
+       t
+      nil))
+   ;; A result that startx with a 3xx or 4xx code is terminated
+   ;; by a newline.
+   ((looking-at "[34]")
+    (if (search-forward "\n" nil t)
+       t
+      nil))
+   ;; No result here.
+   (t
+    nil)))
 
 (deffoo nntp-retrieve-headers (articles &optional group server fetch-old)
   "Retrieve the headers of ARTICLES."
@@ -752,7 +759,10 @@ and a password."
              force)
       (nntp-send-command
        "^3.*\r?\n" "AUTHINFO USER"
-       (or user (read-string (format "NNTP (%s) user name: " nntp-address))))
+       (or user
+          nntp-authinfo-user
+          (setq nntp-authinfo-user
+                (read-string (format "NNTP (%s) user name: " nntp-address)))))
       (nntp-send-command
        "^2.*\r?\n" "AUTHINFO PASS"
        (or passwd
index 980c667..8738e9d 100644 (file)
@@ -1,3 +1,7 @@
+Tue Jun 30 16:11:27 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Topic Commands): Addition.
+
 Mon Jun 29 21:46:13 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
        * gnus.texi (Article Keymap): Typo.
index be48ec1..e79c4e5 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Gnus 5.6.22 Manual
+@settitle Gnus 5.6.23 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -316,7 +316,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Gnus 5.6.22 Manual
+@title Gnus 5.6.23 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -352,7 +352,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
-This manual corresponds to Gnus 5.6.22.
+This manual corresponds to Gnus 5.6.23.
 
 @end ifinfo
 
@@ -2652,8 +2652,13 @@ convention (@pxref{Process/Prefix}).
 @findex gnus-topic-remove-group
 Remove a group from the current topic (@code{gnus-topic-remove-group}).
 This command is mainly useful if you have the same group in several
-topics and wish to remove it from one of the topics.
-The command uses the process/prefix convention
+topics and wish to remove it from one of the topics.  You may also
+remove a group from all topics, but in that case, Gnus will add it to
+the root topic the next time you start Gnus.  In fact, all new groups
+(which, naturally, don't belong to any topic) will show up in the root
+topic. 
+
+This command uses the process/prefix convention
 (@pxref{Process/Prefix}).
 
 @item T M
@@ -15851,7 +15856,7 @@ actually are people who are using Gnus.  Who'd'a thunk it!
 * ding Gnus::          New things in Gnus 5.0/5.1, the first new Gnus.
 * September Gnus::     The Thing Formally Known As Gnus 5.3/5.3.
 * Red Gnus::           Third time best---Gnus 5.4/5.5.
-* Quassia Gnus::       Two times two is four, or Gnus 5.6.22.
+* Quassia Gnus::       Two times two is four, or Gnus 5.6.23.
 @end menu
 
 These lists are, of course, just @emph{short} overviews of the
@@ -16386,7 +16391,7 @@ Emphasized text can be properly fontisized:
 @node Quassia Gnus
 @subsubsection Quassia Gnus
 
-New features in Gnus 5.6.22:
+New features in Gnus 5.6.23:
 
 @itemize @bullet
 
index adb37c1..78168ac 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Message 5.6.22 Manual
+@settitle Message 5.6.23 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -42,7 +42,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Message 5.6.22 Manual
+@title Message 5.6.23 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -83,7 +83,7 @@ Message mode buffers.
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Message 5.6.22.  Message is distributed with
+This manual corresponds to Message 5.6.23.  Message is distributed with
 the Gnus distribution bearing the same version number as this manual
 has.