Importing gnus-5.6.27
authorichikawa <ichikawa>
Mon, 27 Jul 1998 06:18:56 +0000 (06:18 +0000)
committerichikawa <ichikawa>
Mon, 27 Jul 1998 06:18:56 +0000 (06:18 +0000)
13 files changed:
lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-group.el
lisp/gnus-soup.el
lisp/gnus-sum.el
lisp/gnus-topic.el
lisp/gnus-util.el
lisp/gnus-uu.el
lisp/gnus.el
lisp/nnmail.el
texi/ChangeLog
texi/gnus.texi
texi/message.texi

index 02f0491..7b41fcb 100644 (file)
@@ -1,3 +1,48 @@
+Mon Jul 27 03:26:00 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.27 is released.
+
+1998-07-27 02:27:11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-topic.el (gnus-topic-update-unreads): New function.
+
+       * gnus-sum.el (gnus-summary-limit): Update mode line.
+
+       * gnus-soup.el (gnus-soup-add-article): Update mode line.
+
+       * gnus-group.el (gnus-group-make-menu-bar): Bug.
+
+       * gnus-art.el (gnus-article-make-menu-bar): Menu.
+
+       * gnus-sum.el (gnus-summary-make-menu-bar): Bug reports.
+
+       * gnus-topic.el (gnus-topic-mode-map): h -> H.
+
+1998-07-19 16:59  Simon Josefsson  <jas@pdc.kth.se>
+
+       * gnus-util.el (gnus-netrc-syntax-table): @ is whitespace
+
+1998-07-17  Gordon Matzigkeit  <gord@fig.org>
+
+       * gnus-uu.el (gnus-uu-reginize-string): Simplify by looking
+       from back to front for part numbers, rather than skipping
+       leading ``version numbers.''
+
+       (gnus-uu-part-number): Make consistent with
+       gnus-uu-reginize-string.
+
+1998-07-26 19:01:58  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-art.el (gnus-request-article-this-buffer): Pass along
+       header. 
+
+       * gnus-sum.el (gnus-summary-update-article): Don't pass along
+       iheader to regeneration routine.
+
+1998-07-26 17:33:03  KOSEKI Yoshinori  <kose@yk.NetLaputa.ne.jp>
+
+       * nnmail.el (nnmail-move-inbox): Nix out password on errors.
+
 Sat Jul 25 19:31:36 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Gnus v5.6.26 is released.
index 4a94b94..54f397b 100644 (file)
@@ -1903,7 +1903,8 @@ If variable `gnus-use-long-file-name' is non-nil, it is
        ["Scroll backwards" gnus-article-goto-prev-page t]
        ["Show summary" gnus-article-show-summary t]
        ["Fetch Message-ID at point" gnus-article-refer-article t]
-       ["Mail to address at point" gnus-article-mail t]))
+       ["Mail to address at point" gnus-article-mail t]
+       ["Send a bug report" gnus-bug t]))
 
     (easy-menu-define
      gnus-article-treatment-menu gnus-article-mode-map ""
@@ -2411,7 +2412,7 @@ If given a prefix, show the hidden text instead."
 
 (defun gnus-request-article-this-buffer (article group)
   "Get an article and insert it into this buffer."
-  (let (do-update-line)
+  (let (do-update-line sparse-header)
     (prog1
        (save-excursion
          (erase-buffer)
@@ -2445,7 +2446,7 @@ If given a prefix, show the hidden text instead."
                    (setq do-update-line article)
                    (setq article (mail-header-id header))
                    (let ((gnus-override-method gnus-refer-article-method))
-                     (gnus-read-header article))
+                     (setq sparse-header (gnus-read-header article)))
                    (setq gnus-newsgroup-sparse
                          (delq article gnus-newsgroup-sparse)))
                   ((vectorp header)
@@ -2546,7 +2547,7 @@ If given a prefix, show the hidden text instead."
                     (stringp article)))
        (let ((buf (current-buffer)))
          (set-buffer gnus-summary-buffer)
-         (gnus-summary-update-article do-update-line)
+         (gnus-summary-update-article do-update-line sparse-header)
          (gnus-summary-goto-subject do-update-line nil t)
          (set-window-point (get-buffer-window (current-buffer) t)
                            (point))
index 2eebf25..a7c0328 100644 (file)
@@ -730,6 +730,7 @@ ticked: The number of ticked articles."
        ["Read manual" gnus-info-find-node t]
        ["Flush score cache" gnus-score-flush-cache t]
        ["Toggle topics" gnus-topic-mode t]
+       ["Send a bug report" gnus-bug t]
        ["Exit from Gnus" gnus-group-exit t]
        ["Exit without saving" gnus-group-quit t]))
 
index be089bf..ffc08cb 100644 (file)
@@ -161,7 +161,8 @@ move those articles instead."
        (gnus-summary-mark-as-read (car articles) gnus-souped-mark)
        (setq articles (cdr articles)))
       (kill-buffer tmp-buf))
-    (gnus-soup-save-areas)))
+    (gnus-soup-save-areas)
+    (gnus-set-mode-line 'summary)))
 
 (defun gnus-soup-pack-packet ()
   "Make a SOUP packet from the SOUP areas."
index d47a267..fd1039f 100644 (file)
@@ -1732,6 +1732,7 @@ increase the score of each group you read."
        ["Edit local kill file" gnus-summary-edit-local-kill t]
        ["Edit main kill file" gnus-summary-edit-global-kill t]
        ["Edit group parameters" gnus-summary-edit-parameters t]
+       ["Send a bug report" gnus-bug t]
        ("Exit"
        ["Catchup and exit" gnus-summary-catchup-and-exit t]
        ["Catchup all and exit" gnus-summary-catchup-and-exit t]
@@ -2016,12 +2017,14 @@ The following commands are available:
 
 (defun gnus-data-update-list (data offset)
   "Add OFFSET to the POS of all data entries in DATA."
+  (setq gnus-newsgroup-data-reverse nil)
   (while data
     (setcar (nthcdr 2 (car data)) (+ offset (nth 2 (car data))))
     (setq data (cdr data))))
 
 (defun gnus-data-compute-positions ()
   "Compute the positions of all articles."
+  (setq gnus-newsgroup-data-reverse nil)
   (let ((data gnus-newsgroup-data)
        pos)
     (while data
@@ -3171,7 +3174,7 @@ Returns HEADER if it was entered in the DEPENDENCIES.  Returns nil otherwise."
 (defun gnus-summary-update-article (article &optional iheader)
   "Update ARTICLE in the summary buffer."
   (set-buffer gnus-summary-buffer)
-  (let* ((header (or iheader (gnus-summary-article-header article)))
+  (let* ((header (gnus-summary-article-header article))
         (id (mail-header-id header))
         (data (gnus-data-find article))
         (thread (gnus-id-to-thread id))
@@ -3188,12 +3191,11 @@ Returns HEADER if it was entered in the DEPENDENCIES.  Returns nil otherwise."
         (number (mail-header-number header))
         pos)
     (when thread
-      ;; !!! Should this be in or not?
       (unless iheader
-       (setcar thread nil))
-      (when parent
-       (delq thread parent))
-      (if (gnus-summary-insert-subject id header iheader)
+       (setcar thread nil)
+       (when parent
+         (delq thread parent)))
+      (if (gnus-summary-insert-subject id header)
          ;; Set the (possibly) new article number in the data structure.
          (gnus-data-set-number data (gnus-id-to-article id))
        (setcar thread old)
@@ -6105,6 +6107,7 @@ If ALL, mark even excluded ticked and dormants as read."
       ;; after the current one.
       (goto-char (point-max))
       (gnus-summary-find-prev))
+    (gnus-set-mode-line 'summary)
     ;; We return how many articles were removed from the summary
     ;; buffer as a result of the new limit.
     (- total (length gnus-newsgroup-data))))
index 6ee2a63..108f3bc 100644 (file)
@@ -74,6 +74,7 @@ with some simple extensions.
 
 (defvar gnus-topic-active-topology nil)
 (defvar gnus-topic-active-alist nil)
+(defvar gnus-topic-unreads nil)
 
 (defvar gnus-topology-checked-p nil
   "Whether the topology has been checked in this session.")
@@ -109,9 +110,7 @@ with some simple extensions.
 
 (defun gnus-topic-unread (topic)
   "Return the number of unread articles in TOPIC."
-  (or (save-excursion
-       (and (gnus-topic-goto-topic topic)
-            (gnus-group-topic-unread)))
+  (or (cdr (assoc topic gnus-topic-unreads))
       0))
 
 (defun gnus-group-topic-p ()
@@ -472,6 +471,7 @@ articles in the topic and its subtopics."
        (car type) visiblep
        (not (eq (nth 2 type) 'hidden))
        level all-entries unread))
+    (gnus-topic-update-unreads (car type) unread)
     (goto-char end)
     unread))
 
@@ -528,6 +528,7 @@ articles in the topic and its subtopics."
         (number-of-groups (length entries))
         (active-topic (eq gnus-topic-alist gnus-topic-active-alist))
         gnus-tmp-header)
+    (gnus-topic-update-unreads name unread)
     (beginning-of-line)
     ;; Insert the text.
     (gnus-add-text-properties
@@ -540,6 +541,11 @@ articles in the topic and its subtopics."
           'gnus-active active-topic
           'gnus-topic-visible visiblep))))
 
+(defun gnus-topic-update-unreads (topic unreads)
+  (setq gnus-topic-unreads (delq (assoc topic gnus-topic-unreads)
+                                gnus-topic-unreads))
+  (push (cons topic unreads) gnus-topic-unreads))
+
 (defun gnus-topic-update-topics-containing-group (group)
   "Update all topics that have GROUP as a member."
   (when (and (eq major-mode 'gnus-group-mode)
@@ -925,7 +931,7 @@ articles in the topic and its subtopics."
     "r" gnus-topic-rename
     "\177" gnus-topic-delete
     [delete] gnus-topic-delete
-    "h" gnus-topic-toggle-display-empty-topics)
+    "H" gnus-topic-toggle-display-empty-topics)
 
   (gnus-define-keys (gnus-topic-sort-map "S" gnus-group-topic-map)
     "s" gnus-topic-sort-groups
index 9c07155..7d3af81 100644 (file)
@@ -854,6 +854,7 @@ ARG is passed to the first function."
 
 (defvar gnus-netrc-syntax-table
   (let ((table (copy-syntax-table text-mode-syntax-table)))
+    (modify-syntax-entry ?@ "w" table)
     (modify-syntax-entry ?- "w" table)
     (modify-syntax-entry ?_ "w" table)
     (modify-syntax-entry ?! "w" table)
index 3a0bf91..7d7cc8a 100644 (file)
@@ -1020,43 +1020,34 @@ didn't work, and overwrite existing files.  Otherwise, ask each time."
 
 (defun gnus-uu-reginize-string (string)
   ;; Takes a string and puts a \ in front of every special character;
-  ;; ignores any leading "version numbers" thingies that they use in
-  ;; the comp.binaries groups, and either replaces anything that looks
-  ;; like "2/3" with "[0-9]+/[0-9]+" or, if it can't find something
-  ;; like that, replaces the last two numbers with "[0-9]+".  This, in
-  ;; my experience, should get most postings of a series.
-  (let ((count 2)
-       (vernum "v[0-9]+[a-z][0-9]+:")
-       beg)
+  ;; replaces the last thing that looks like "2/3" with "[0-9]+/[0-9]+"
+  ;; or, if it can't find something like that, tries "2 of 3", then
+  ;; finally just replaces the last two numbers with "[0-9]+".
+  (let ((count 2))
     (save-excursion
       (set-buffer (get-buffer-create gnus-uu-output-buffer-name))
       (buffer-disable-undo (current-buffer))
       (erase-buffer)
       (insert (regexp-quote string))
-      (setq beg 1)
 
       (setq case-fold-search nil)
-      (goto-char (point-min))
-      (when (looking-at vernum)
-       (replace-match vernum t t)
-       (setq beg (length vernum)))
 
-      (goto-char beg)
-      (if (re-search-forward "[ \t]*[0-9]+/[0-9]+" nil t)
-         (replace-match " [0-9]+/[0-9]+")
+      (end-of-line)
+      (if (re-search-backward "\\([^0-9]\\)[0-9]+/[0-9]+" nil t)
+         (replace-match "\\1[0-9]+/[0-9]+")
 
-       (goto-char beg)
-       (if (re-search-forward "[0-9]+[ \t]*of[ \t]*[0-9]+" nil t)
-           (replace-match "[0-9]+ of [0-9]+")
+       (end-of-line)
+       (if (re-search-backward "\\([^0-9]\\)[0-9]+[ \t]*of[ \t]*[0-9]+" nil t)
+           (replace-match "\\1[0-9]+ of [0-9]+")
 
          (end-of-line)
           (if (re-search-backward "\\([^0-9]\\)[0-9]+\\([^0-9]+\\)[0-9]+"
                                   nil t)
               (replace-match "\\1[0-9]+\\2[0-9]+" t nil nil nil))))
 
-      (goto-char beg)
+      (goto-char 1)
       (while (re-search-forward "[ \t]+" nil t)
-       (replace-match "[ \t]*" t t))
+       (replace-match "[ \t]+" t t))
 
       (buffer-substring 1 (point-max)))))
 
@@ -1357,11 +1348,18 @@ didn't work, and overwrite existing files.  Otherwise, ask each time."
 
 (defun gnus-uu-part-number (article)
   (let* ((header (gnus-summary-article-header article))
-        (subject (and header (mail-header-subject header))))
-    (if (and subject
-            (string-match "[0-9]+ */[0-9]+\\|[0-9]+ * of *[0-9]+" subject))
-       (match-string 0 subject)
-      "")))
+        (subject (and header (mail-header-subject header)))
+        (part nil))
+    (if subject
+       (while (string-match "[0-9]+/[0-9]+\\|[0-9]+[ \t]+of[ \t]+[0-9]+"
+                            subject)
+         (setq part (match-string 0 subject))
+         (setq subject (substring subject (match-end 0)))))
+    (or part
+       (while (string-match "\\([0-9]+\\)[^0-9]+\\([0-9]+\\)" subject)
+         (setq part (match-string 0 subject))
+         (setq subject (substring subject (match-end 0)))))
+    (or part "")))
 
 (defun gnus-uu-uudecode-sentinel (process event)
   (delete-process (get-process process)))
index 350825d..1663949 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.26"
+(defconst gnus-version-number "5.6.27"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Gnus v%s" gnus-version-number)
index 18778ea..4888255 100644 (file)
@@ -659,6 +659,9 @@ parameter.  It should return nil, `warn' or `delete'."
                            (set-file-modes
                             tofile nnmail-default-file-modes))))
                    ;; Probably a real error.
+                   ;; We nix out the password in case the error
+                   ;; was because of a wrong password being given.
+                   (setq nnmail-internal-password nil)
                    (subst-char-in-region (point-min) (point-max) ?\n ?\  )
                    (goto-char (point-max))
                    (skip-chars-backward " \t")
index ad37c89..386b9b1 100644 (file)
@@ -1,3 +1,17 @@
+1998-07-21 17:51  Simon Josefsson  <jas@pdc.kth.se>
+
+       * gnus.texi (Splitting Mail): junk is fancy splitting only
+
+       * gnus.texi (Fancy Mail Splitting): warn about junk
+
+1998-07-27 02:28:33  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Topic Commands): Fix.
+
+1998-07-27 02:23:17  Robert Bihlmeyer  <robbe@orcus.priv.at>
+
+       * gnus.texi (Score Decays): Fix.
+
 Sun Jul 12 04:03:27 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
        * gnus.texi (Home Score File): Addition.
index e933c6d..804453d 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Gnus 5.6.26 Manual
+@settitle Gnus 5.6.27 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.26 Manual
+@title Gnus 5.6.27 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.26.
+This manual corresponds to Gnus 5.6.27.
 
 @end ifinfo
 
@@ -2673,8 +2673,8 @@ Move all groups that match some regular expression to a topic
 Copy all groups that match some regular expression to a topic
 (@code{gnus-topic-copy-matching}).
 
-@item T h
-@kindex T h (Topic)
+@item T H
+@kindex T H (Topic)
 @findex gnus-topic-toggle-display-empty-topics
 Toggle hiding empty topics
 (@code{gnus-topic-toggle-display-empty-topics}).
@@ -9368,10 +9368,6 @@ insert sub-expressions from the matched text.  For instance:
 ("list.\\1" "From:.*\\(.*\\)-list@@majordomo.com")
 @end lisp
 
-If the first element is the special symbol @code{junk}, then messages
-that match the regexp will disappear into the aether.  Use with
-extreme caution.
-
 The second element can also be a function.  In that case, it will be
 called narrowed to the headers with the first element of the rule as the
 argument.  It should return a non-@code{nil} value if it thinks that the
@@ -9643,7 +9639,7 @@ be stored in one or more groups.
 
 @item
 @code{junk}: If the split is the symbol @code{junk}, then don't save
-this message.
+this message. Use with extreme caution.
 
 @item
 @var{(: function arg1 arg2 ...)}:  If the split is a list, and the first
@@ -13508,12 +13504,12 @@ use them in any sensible way.
 
 @vindex gnus-decay-scores
 @findex gnus-decay-score
-@vindex gnus-score-decay-function
+@vindex gnus-decay-score-function
 Gnus provides a mechanism for decaying scores to help with this problem.
 When score files are loaded and @code{gnus-decay-scores} is
 non-@code{nil}, Gnus will run the score files through the decaying
 mechanism thereby lowering the scores of all non-permanent score rules.
-The decay itself if performed by the @code{gnus-score-decay-function}
+The decay itself if performed by the @code{gnus-decay-score-function}
 function, which is @code{gnus-decay-score} by default.  Here's the
 definition of that function:
 
@@ -15388,7 +15384,7 @@ On July 28th 1996 work on Red Gnus was begun, and it was released on
 January 25th 1997 (after 84 releases) as ``Gnus 5.4'' (67 releases).
 
 On September 13th 1997, Quassia Gnus was started and lasted 37
-releases.  If was released as ``Gnus 5.6.26' on March 8th 1998.
+releases.  If was released as ``Gnus 5.6.27' on March 8th 1998.
 
 If you happen upon a version of Gnus that has a prefixed name --
 ``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'' --
@@ -15865,7 +15861,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.26.
+* Quassia Gnus::       Two times two is four, or Gnus 5.6.27.
 @end menu
 
 These lists are, of course, just @emph{short} overviews of the
@@ -16400,7 +16396,7 @@ Emphasized text can be properly fontisized:
 @node Quassia Gnus
 @subsubsection Quassia Gnus
 
-New features in Gnus 5.6.26:
+New features in Gnus 5.6.27:
 
 @itemize @bullet
 
index ae764d7..cb8a914 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Message 5.6.26 Manual
+@settitle Message 5.6.27 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.26 Manual
+@title Message 5.6.27 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.26.  Message is distributed with
+This manual corresponds to Message 5.6.27.  Message is distributed with
 the Gnus distribution bearing the same version number as this manual
 has.