Sync up to Gnus 5.6.23.
authorshuhei-k <shuhei-k>
Wed, 1 Jul 1998 22:54:20 +0000 (22:54 +0000)
committershuhei-k <shuhei-k>
Wed, 1 Jul 1998 22:54:20 +0000 (22:54 +0000)
14 files changed:
lisp/ChangeLog
lisp/gnus-agent.el
lisp/gnus-salt.el
lisp/gnus-spec.el
lisp/gnus-sum.el
lisp/gnus-topic.el
lisp/gnus-util.el
lisp/gnus.el
lisp/nndoc.el
lisp/nnmail.el
lisp/nntp.el
texi/ChangeLog
texi/gnus.texi
texi/message.texi

index 8db48c8..d3d0183 100644 (file)
@@ -1,3 +1,53 @@
+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.
+
+Mon Jun 29 21:22:46 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-salt.el (gnus-pick-mode-map): Remove gnus-mouse.
+
+       * gnus-sum.el (gnus-dependencies-add-header): `debug' left in.
+       Eh.  Eh.
+
+       * gnus-salt.el (gnus-summary-pick-line-format): Missing %.-
+
+       * gnus-topic.el (gnus-topic-rename): Fix error message.
+
+Sun Jun 28 14:32:08 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-spec.el (gnus-face-face-function): Double quoting removed. 
+
 Sun Jun 28 09:54:52 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Gnus v5.6.21 is released.
index 7d40b82..2a01d85 100644 (file)
@@ -1265,13 +1265,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
@@ -1330,7 +1330,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)))
@@ -1373,7 +1373,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 0dbf148..c8280b2 100644 (file)
@@ -58,7 +58,7 @@
   :group 'gnus-summary-pick)
 
 (defcustom gnus-summary-pick-line-format
-  "-5P %U\%R\%z\%I\%(%[%4L: %-20,20n%]%) %s\n"
+  "%-5P %U\%R\%z\%I\%(%[%4L: %-20,20n%]%) %s\n"
   "*The format specification of the lines in pick buffers.
 It accepts the same format specs that `gnus-summary-line-format' does."
   :type 'string
@@ -87,7 +87,6 @@ It accepts the same format specs that `gnus-summary-line-format' does."
     "E" gnus-uu-mark-by-regexp
     "b" gnus-uu-mark-buffer
     "B" gnus-uu-unmark-buffer
-    gnus-mouse-2 gnus-pick-mouse-pick
     "X" gnus-pick-start-reading
     ))
 
index 9163180..23215fb 100644 (file)
 (defun gnus-face-face-function (form type)
   `(gnus-add-text-properties
     (point) (progn ,@form (point))
-    '(gnus-face t
-               face ',(symbol-value (intern (format "gnus-face-%d" type))))))
+    '(gnus-face t face ,(symbol-value (intern (format "gnus-face-%d" type))))))
 
 (defun gnus-tilde-max-form (el max-width)
   "Return a form that limits EL to MAX-WIDTH."
index 8c48ea8..cd14b36 100644 (file)
@@ -34,6 +34,7 @@
 (require 'gnus-range)
 (require 'gnus-int)
 (require 'gnus-undo)
+(require 'gnus-util)
 (require 'mime-view)
 
 (autoload 'gnus-summary-limit-include-cached "gnus-cache" nil t)
@@ -2934,7 +2935,6 @@ Returns HEADER if it was entered in the DEPENDENCIES.  Returns nil otherwise."
            ;; Yuk!  This is a reference loop.  Make the article be a
            ;; root article.
            (progn
-             (debug)
              (mail-header-set-references (car (symbol-value id-dep)) "none")
              (setq ref nil))
          (setq ref (gnus-parent-id (mail-header-references ref-header)))))
@@ -2949,6 +2949,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
@@ -2967,12 +2968,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.
@@ -6085,7 +6088,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 1f404ba..6880f63 100644 (file)
@@ -1267,7 +1267,7 @@ If COPYP, copy the groups instead."
           (read-string (format "Rename %s to: " topic)))))
   ;; Check whether the new name exists.
   (when (gnus-topic-find-topology new-name)
-    (error "Topic '%s' already exists"))
+    (error "Topic '%s' already exists" new-name))
   ;; "nil" is an invalid name, for reasons I'd rather not go
   ;; into here.  Trust me.
   (when (equal new-name "nil")
@@ -1281,7 +1281,8 @@ If COPYP, copy the groups instead."
       (setcar entry new-name))
     (forward-line -1)
     (gnus-dribble-touch)
-    (gnus-group-list-groups)))
+    (gnus-group-list-groups)
+    (forward-line 1)))
 
 (defun gnus-topic-indent (&optional unindent)
   "Indent a topic -- make it a sub-topic of the previous topic.
index 82e7f94..09dc5c9 100644 (file)
@@ -949,7 +949,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 b77d839..f995e5a 100644 (file)
@@ -250,11 +250,11 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "6.7.7"
+(defconst gnus-version-number "6.7.9"
   "Version number for this version of gnus.")
 
 (defconst gnus-version
-  (format "Semi-gnus %s (based on Gnus 5.6.20; for SEMI 1.8)"
+  (format "Semi-gnus %s (based on Gnus 5.6.23; for SEMI 1.8)"
           gnus-version-number)
   "Version string for this version of gnus.")
 
index 0092ac0..c32f50f 100644 (file)
@@ -30,6 +30,7 @@
 (require 'message)
 (require 'nnmail)
 (require 'nnoo)
+(require 'gnus-util)
 (eval-when-compile (require 'cl))
 
 (nnoo-declare nndoc)
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 30092c9..8738e9d 100644 (file)
@@ -1,6 +1,19 @@
+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.
+
+Sun Jun 28 17:41:10 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Formatting Fonts): Typo fix.
+
 Sat Jun 27 04:37:14 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
        * gnus.texi (Mail-To-News Gateways): Addition.
+       (Mail-To-News Gateways): Typo.
 
 Fri Jun 26 13:33:00 1998  Yoshiki Hayashi  <g740685@komaba.ecc.u-tokyo.ac.jp>
 
index 7321a49..2d14cce 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Semi-gnus 6.7.5 Manual
+@settitle Semi-gnus 6.7.9 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 Semi-gnus 6.7.5 Manual
+@title Semi-gnus 6.7.9 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -359,7 +359,7 @@ internationalization/localization and multiscript features based on MULE
 API.  So Semi-gnus does not discriminate various language communities.
 Oh, if you are a Klingon, please wait Unicode Next Generation.
 
-This manual corresponds to Semi-gnus 6.7.5.
+This manual corresponds to Semi-gnus 6.7.9.
 
 @end ifinfo
 
@@ -2661,6 +2661,13 @@ convention (@pxref{Process/Prefix}).
 @kindex T D (Topic)
 @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.  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}).
 
@@ -7915,7 +7922,7 @@ Scroll backwards one page (@code{gnus-article-prev-page}).
 @kindex C-c ^ (Article)
 @findex gnus-article-refer-article
 If point is in the neighborhood of a @code{Message-ID} and you press
-@kbd{r}, gnus will try to get that article from the server
+@kbd{C-c ^}, gnus will try to get that article from the server
 (@code{gnus-article-refer-article}).
 
 @item C-c C-m
@@ -9622,7 +9629,9 @@ the five possible split syntaxes:
 @enumerate
 
 @item
-@samp{group}: If the split is a string, that will be taken as a group name.
+@samp{group}: If the split is a string, that will be taken as a group
+name.  Normal regexp match expansion will be done.  See below for
+examples. 
 
 @item
 @var{(FIELD VALUE SPLIT)}: If the split is a list, the first element of
@@ -9676,6 +9685,12 @@ substitutions in the group names), you can say things like:
 (any "debian-\\(\\w*\\)@@lists.debian.org" "mail.debian.\\1")
 @end example
 
+If the string contains the element @samp{\&}, then the previously
+matched string will be substituted.  Similarly, the elements @samp{\1}
+up to @samp{\9} will be substituted with the text matched by the
+groupings 1 through 9.
+
+
 @node Mail and Procmail
 @subsection Mail and Procmail
 @cindex procmail
@@ -11078,7 +11093,7 @@ Here's an example:
 
 @lisp
 (setq gnus-post-method
-      '(nngateway "mail2news@replay.com"
+      '(nngateway "mail2news@@replay.com"
                   (nngateway-header-transformation
                    nngateway-mail2news-header-transformation)))
 @end lisp
@@ -13107,7 +13122,7 @@ by hand.
 
 The kill to score conversion package isn't included in Gnus by default.
 You can fetch it from
-@file{http://www.ifi.uio.no/~larsi/ding-other/gnus-kill-to-score}.
+@file{http://www.stud.ifi.uio.no/~larsi/ding-other/gnus-kill-to-score}.
 
 If your old kill files are very complex---if they contain more
 non-@code{gnus-kill} forms than not, you'll have to convert them by
@@ -13851,9 +13866,9 @@ the special @code{mouse-face} property set, which means that it will be
 highlighted (with @code{gnus-mouse-face}) when you put the mouse pointer
 over it.
 
-Text inside the @samp{%[} and @samp{%]} specifiers will have their
+Text inside the @samp{%@{} and @samp{%@}} specifiers will have their
 normal faces set using @code{gnus-face-0}, which is @code{bold} by
-default.  If you say @samp{%1[}, you'll get @code{gnus-face-1} instead,
+default.  If you say @samp{%1@{}, you'll get @code{gnus-face-1} instead,
 and so on.  Create as many faces as you wish.  The same goes for the
 @code{mouse-face} specs---you can say @samp{%3(hello%)} to have
 @samp{hello} mouse-highlighted with @code{gnus-mouse-face-3}.
@@ -15342,7 +15357,7 @@ but at the common table.@*
 
 If you want to investigate the person responsible for this outrage, you
 can point your (feh!) web browser to
-@file{http://www.ifi.uio.no/~larsi/}.  This is also the primary
+@file{http://www.stud.ifi.uio.no/~larsi/}.  This is also the primary
 distribution point for the new and spiffy versions of Gnus, and is known
 as The Site That Destroys Newsrcs And Drives People Mad.
 
@@ -15842,7 +15857,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.20.
+* 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
@@ -16377,7 +16392,7 @@ Emphasized text can be properly fontisized:
 @node Quassia Gnus
 @subsubsection Quassia Gnus
 
-New features in Gnus 5.6.20:
+New features in Gnus 5.6.23:
 
 @itemize @bullet
 
@@ -17682,6 +17697,14 @@ in any other dummy thread will make gnus highlight the
 dummy root instead of the first article.
 
 @item
+Propagate all group properties (marks, article numbers, etc) up to the
+topics for displaying.
+
+@item
+`n' in the group buffer with topics should go to the next group
+with unread articles, even if that group is hidden in a topic.
+
+@item
 Solve the halting problem.
 
 @c TODO
index 1c808dd..78168ac 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Message 5.6.20 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.20 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.20.  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.