From f57a45e2aaa4499e04da5baf25d59f1a5a466dd7 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Mon, 15 Sep 1997 22:20:40 +0000 Subject: [PATCH] *** empty log message *** --- lisp/ChangeLog | 18 ++++++++++++++++++ lisp/gnus-agent.el | 4 +++- lisp/gnus-draft.el | 2 +- lisp/gnus-start.el | 4 ++-- lisp/gnus-sum.el | 25 ++++++++++++++++++++----- lisp/gnus.el | 2 +- texi/ChangeLog | 4 ++++ texi/gnus.texi | 28 +++++++++++++++++++++++++--- texi/message.texi | 6 +++--- 9 files changed, 77 insertions(+), 16 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d58e7705d..8525960d8 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,21 @@ +Tue Sep 16 00:18:11 1997 Lars Magne Ingebrigtsen + + * gnus.el: Quassia Gnus v0.5 is released. + +Mon Sep 15 00:53:50 1997 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-alter-header-function): New variable. + (gnus-nov-parse-line): Use it. + (gnus-get-newsgroup-headers): Ditto. + + * gnus-draft.el (gnus-group-send-drafts): Don't send when + unplugged. + + * gnus-sum.el (gnus-summary-read-group): Don't show-all when + skipping groups. + + * gnus-start.el (gnus-start-draft-setup): Changed name. + Mon Sep 15 00:40:09 1997 Lars Magne Ingebrigtsen * gnus.el: Quassia Gnus v0.4 is released. diff --git a/lisp/gnus-agent.el b/lisp/gnus-agent.el index 93e7b8968..c818b64ac 100644 --- a/lisp/gnus-agent.el +++ b/lisp/gnus-agent.el @@ -165,8 +165,10 @@ '("Agent" ["Toggle plugged" gnus-agent-toggle-plugged t] ["List categories" gnus-enter-category-buffer t] + ["Send drafts" gnus-group-send-drafts gnus-plugged] ("Fetch" - ["Group" gnus-agent-fetch-group t]))))) + ["All" gnus-agent-fetch-session gnus-plugged] + ["Group" gnus-agent-fetch-group gnus-plugged]))))) (defvar gnus-agent-summary-mode-map (make-sparse-keymap)) (gnus-define-keys gnus-agent-summary-mode-map diff --git a/lisp/gnus-draft.el b/lisp/gnus-draft.el index fd40ec374..7679f3ea1 100644 --- a/lisp/gnus-draft.el +++ b/lisp/gnus-draft.el @@ -138,7 +138,7 @@ ;;; Utility functions -(defun gnus-draft-setup (article &optional group) +(defun gnus-draft-setup (article) (gnus-setup-message 'forward (message-mail) (erase-buffer) diff --git a/lisp/gnus-start.el b/lisp/gnus-start.el index 89dd8a73a..243f81dc5 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -690,7 +690,7 @@ prompt the user for the name of an NNTP server to use." ;; Do the actual startup. (gnus-setup-news nil level dont-connect) - (gnus-draft-setup) + (gnus-start-draft-setup) ;; Generate the group buffer. (gnus-group-list-groups level) (gnus-group-first-unread-group) @@ -698,7 +698,7 @@ prompt the user for the name of an NNTP server to use." (gnus-group-set-mode-line) (run-hooks 'gnus-started-hook)))))) -(defun gnus-draft-setup () +(defun gnus-start-draft-setup () "Make sure the draft group exists." (unless (gnus-gethash "nndraft:draft" gnus-newsrc-hashtb) (gnus-request-create-group "draft" '(nndraft "")) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 8951e56c9..0cea412dd 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -738,6 +738,10 @@ mark: The articles mark." :type '(repeat (cons (sexp :tag "Form" nil) face))) +(defcustom gnus-alter-header-function nil + "Function called to allow alteration of article header structures. +The function is called with one parameter, the article header vector, +which it may alter in any way.") ;;; Internal variables @@ -2519,9 +2523,10 @@ If NO-DISPLAY, don't generate a summary buffer." (while (and group (null (setq result (let ((gnus-auto-select-next nil)) - (gnus-summary-read-group-1 - group show-all no-article - kill-buffer no-display)))) + (or (gnus-summary-read-group-1 + group show-all no-article + kill-buffer no-display) + (setq show-all nil))))) (eq gnus-auto-select-next 'quietly)) (set-buffer gnus-group-buffer) (if (not (equal group (gnus-group-group-name))) @@ -4275,6 +4280,12 @@ The resulting hash table is returned, or nil if no Xrefs were found." (nnheader-header-value))))) (when (equal id ref) (setq ref nil)) + + (when gnus-alter-header-function + (funcall gnus-alter-header-function header) + (setq id (mail-header-id header) + ref (gnus-parent-id (mail-header-references header)))) + ;; We do the threading while we read the headers. The ;; message-id and the last reference are both entered into ;; the same hash table. Some tippy-toeing around has to be @@ -4352,11 +4363,10 @@ The resulting hash table is returned, or nil if no Xrefs were found." (setq header (vector number ; number - ;; 1997/5/4 by MORIOKA Tomohiko (funcall gnus-unstructured-field-decoder (gnus-nov-field)) ; subject (funcall - gnus-structured-field-decoder (gnus-nov-field)) ; from + gnus-structured-field-decoder (gnus-nov-field)) ; from (gnus-nov-field) ; date (setq id (or (gnus-nov-field) (nnheader-generate-fake-message-id))) ; id @@ -4379,6 +4389,11 @@ The resulting hash table is returned, or nil if no Xrefs were found." (widen)) + (when gnus-alter-header-function + (funcall gnus-alter-header-function header) + (setq id (mail-header-id header) + ref (gnus-parent-id (mail-header-references header)))) + ;; We build the thread tree. (when (equal id ref) ;; This article refers back to itself. Naughty, naughty. diff --git a/lisp/gnus.el b/lisp/gnus.el index 56c844961..2fb7d6440 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -244,7 +244,7 @@ is restarted, and sometimes reloaded." :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) -(defconst gnus-version-number "0.4" +(defconst gnus-version-number "0.5" "Version number for this version of Gnus.") (defconst gnus-version (format "Quassia Gnus v%s" gnus-version-number) diff --git a/texi/ChangeLog b/texi/ChangeLog index 661b8c8ce..7d651ccd2 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,7 @@ +Mon Sep 15 23:10:05 1997 Lars Magne Ingebrigtsen + + * gnus.texi (Customizing Threading): Addition. + Sun Sep 14 21:59:07 1997 Lars Magne Ingebrigtsen * gnus.texi (Outgoing Messages): New. diff --git a/texi/gnus.texi b/texi/gnus.texi index f3d60fd96..5d32478cd 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Quassia Gnus 0.4 Manual +@settitle Quassia Gnus 0.5 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -309,7 +309,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Quassia Gnus 0.4 Manual +@title Quassia Gnus 0.5 Manual @author by Lars Magne Ingebrigtsen @page @@ -345,7 +345,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 Quassia Gnus 0.4. +This manual corresponds to Quassia Gnus 0.5. @end ifinfo @@ -4721,6 +4721,28 @@ Hook run before parsing any headers. The default value is slightly decoded in a hackish way. This is likely to change in the future when Gnus becomes @sc{MIME}ified. +@item gnus-alter-header-function +@vindex gnus-alter-header-function +If non-@code{nil}, this function will be called to allow alteration of +article header structures. The function is called with one parameter, +the article header vector, which it may alter in any way. For instance, +if you have a mail-to-news gateway which alters the @code{Message-ID}s +in systematic ways (by adding prefixes and such), you can use this +variable to un-scramble the @code{Message-ID}s so that they are more +meaningful. Here's one example: + +@lisp +(setq gnus-alter-header-function 'my-alter-message-id) + +(defun my-alter-message-id (header) + (let ((id (mail-header-id header))) + (when (string-match + "\\(<[^<>@]*\\)\\.?cygnus\\..*@\\([^<>@]*>\\)" id) + (mail-header-set-id + (concat (match-string 1 id) "@" (match-string 2 id)) + header)))) +@end lisp + @end table diff --git a/texi/message.texi b/texi/message.texi index e505c8258..698c01a3b 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename message -@settitle Message 0.4 Manual +@settitle Message 0.5 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -39,7 +39,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Message 0.4 Manual +@title Message 0.5 Manual @author by Lars Magne Ingebrigtsen @page @@ -79,7 +79,7 @@ buffers. * Key Index:: List of Message mode keys. @end menu -This manual corresponds to Message 0.4. Message is distributed with +This manual corresponds to Message 0.5. Message is distributed with the Gnus distribution bearing the same version number as this manual has. -- 2.25.1