From 69563203b0ee984bca60e4f12af29f954a9b9415 Mon Sep 17 00:00:00 2001 From: ichikawa Date: Mon, 27 Jul 1998 07:34:38 +0000 Subject: [PATCH] Sync up with gnus-5.6.27 --- lisp/ChangeLog | 45 +++++++++++++++++++++++++++++++++++++++++++++ lisp/gnus-art.el | 9 +++++---- lisp/gnus-group.el | 1 + lisp/gnus-soup.el | 3 ++- lisp/gnus-sum.el | 15 +++++++++------ lisp/gnus-topic.el | 14 ++++++++++---- lisp/gnus-util.el | 1 + lisp/gnus-uu.el | 50 ++++++++++++++++++++++++-------------------------- lisp/gnus.el | 4 ++-- lisp/nnmail.el | 3 +++ texi/ChangeLog | 14 ++++++++++++++ texi/gnus.texi | 26 +++++++++++--------------- texi/message.texi | 6 +++--- 13 files changed, 130 insertions(+), 61 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 02f0491..7b41fcb 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,48 @@ +Mon Jul 27 03:26:00 1998 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.6.27 is released. + +1998-07-27 02:27:11 Lars Magne Ingebrigtsen + + * 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 + + * gnus-util.el (gnus-netrc-syntax-table): @ is whitespace + +1998-07-17 Gordon Matzigkeit + + * 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 + + * 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 + + * nnmail.el (nnmail-move-inbox): Nix out password on errors. + Sat Jul 25 19:31:36 1998 Lars Magne Ingebrigtsen * gnus.el: Gnus v5.6.26 is released. diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index a386b4d..708c27c 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -1843,7 +1843,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 "" @@ -2399,7 +2400,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) @@ -2433,7 +2434,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) @@ -2504,7 +2505,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)) diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index 2eebf25..a7c0328 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -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])) diff --git a/lisp/gnus-soup.el b/lisp/gnus-soup.el index be089bf..ffc08cb 100644 --- a/lisp/gnus-soup.el +++ b/lisp/gnus-soup.el @@ -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." diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 14005bb..b45517d 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -1741,6 +1741,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] @@ -2025,12 +2026,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 @@ -3180,7 +3183,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)) @@ -3197,12 +3200,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) @@ -6131,6 +6133,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)))) diff --git a/lisp/gnus-topic.el b/lisp/gnus-topic.el index 6ee2a63..108f3bc 100644 --- a/lisp/gnus-topic.el +++ b/lisp/gnus-topic.el @@ -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 diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index c5a6d37..826c8ec 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -857,6 +857,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) diff --git a/lisp/gnus-uu.el b/lisp/gnus-uu.el index 3a0bf91..7d7cc8a 100644 --- a/lisp/gnus-uu.el +++ b/lisp/gnus-uu.el @@ -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))) diff --git a/lisp/gnus.el b/lisp/gnus.el index 1c86348..5ee89d4 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -250,11 +250,11 @@ is restarted, and sometimes reloaded." :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) -(defconst gnus-version-number "6.8.3" +(defconst gnus-version-number "6.8.4" "Version number for this version of gnus.") (defconst gnus-version - (format "Semi-gnus %s (based on Gnus 5.6.24; for SEMI 1.8, FLIM 1.8/1.9)" + (format "Semi-gnus %s (based on Gnus 5.6.27; for SEMI 1.8, FLIM 1.8/1.9)" gnus-version-number) "Version string for this version of gnus.") diff --git a/lisp/nnmail.el b/lisp/nnmail.el index 18778ea..4888255 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -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") diff --git a/texi/ChangeLog b/texi/ChangeLog index ad37c89..386b9b1 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,17 @@ +1998-07-21 17:51 Simon Josefsson + + * 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 + + * gnus.texi (Topic Commands): Fix. + +1998-07-27 02:23:17 Robert Bihlmeyer + + * gnus.texi (Score Decays): Fix. + Sun Jul 12 04:03:27 1998 Lars Magne Ingebrigtsen * gnus.texi (Home Score File): Addition. diff --git a/texi/gnus.texi b/texi/gnus.texi index cce7440..b3d7add 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Semi-gnus 6.8.3 Manual +@settitle Semi-gnus 6.8.4 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.8.3 Manual +@title Semi-gnus 6.8.4 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.8.1. +This manual corresponds to Semi-gnus 6.8.4. @end ifinfo @@ -2683,8 +2683,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}). @@ -9369,10 +9369,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 @@ -9644,7 +9640,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 @@ -13509,12 +13505,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: @@ -15389,7 +15385,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'' -- @@ -15866,7 +15862,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 @@ -16401,7 +16397,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 diff --git a/texi/message.texi b/texi/message.texi index ae764d7..cb8a914 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -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. -- 1.7.10.4