*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 15 Sep 1997 22:20:40 +0000 (22:20 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 15 Sep 1997 22:20:40 +0000 (22:20 +0000)
lisp/ChangeLog
lisp/gnus-agent.el
lisp/gnus-draft.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/gnus.el
texi/ChangeLog
texi/gnus.texi
texi/message.texi

index d58e770..8525960 100644 (file)
@@ -1,3 +1,21 @@
+Tue Sep 16 00:18:11 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.5 is released.
+
+Mon Sep 15 00:53:50 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * 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  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Quassia Gnus v0.4 is released.
index 93e7b89..c818b64 100644 (file)
      '("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
index fd40ec3..7679f3e 100644 (file)
 
 ;;; Utility functions
 
-(defun gnus-draft-setup (article &optional group)
+(defun gnus-draft-setup (article)
   (gnus-setup-message 'forward
     (message-mail)
     (erase-buffer)
index 89dd8a7..243f81d 100644 (file)
@@ -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 ""))
index 8951e56..0cea412 100644 (file)
@@ -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 <morioka@jaist.ac.jp>
                 (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.
index 56c8449..2fb7d64 100644 (file)
@@ -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)
index 661b8c8..7d651cc 100644 (file)
@@ -1,3 +1,7 @@
+Mon Sep 15 23:10:05 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Customizing Threading): Addition.
+
 Sun Sep 14 21:59:07 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
        * gnus.texi (Outgoing Messages): New.
index f3d60fd..5d32478 100644 (file)
@@ -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
 
 
index e505c82..698c01a 100644 (file)
@@ -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.