*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 02:23:30 +0000 (02:23 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 02:23:30 +0000 (02:23 +0000)
22 files changed:
Makefile.conf [deleted file]
lisp/ChangeLog
lisp/ChangeLog.1 [deleted file]
lisp/custom.el
lisp/gnus-cite.el
lisp/gnus-hilit.el [deleted file]
lisp/gnus-msg.el
lisp/gnus-soup.el [new file with mode: 0644]
lisp/gnus-vis.el
lisp/gnus.el
lisp/nneething.el [new file with mode: 0644]
lisp/nnfolder.el
lisp/nnheader.el
lisp/nnmail.el
lisp/nnmbox.el
lisp/nnmh.el
lisp/nnml.el
lisp/nnsoup.el [new file with mode: 0644]
lisp/nnspool.el
readme
texi/Makefile [new file with mode: 0644]
texi/gnus.texi

diff --git a/Makefile.conf b/Makefile.conf
deleted file mode 100644 (file)
index a25f64a..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-prefix         =/usr/share
-EMACS          =emacs
-EMACSLIB       =$(prefix)/lib/emacs
-
-#prefix                =/opt/share
-#EMACS         =xemacs
-#EMACSLIB      =/$(prefix)/X11/lib/xemacs-19.11
-
-LOCALLOADPATH  =$(EMACSLIB)/site-lisp
-LOCALLOADPATH  =/usr/local/lib/elisp:/usr/lib/elisp:$(EMACSLIB)/site-lisp
-EMACSLOADPATH  =.:$(LOCALOADPATH):$(EMACSLIB)/lisp
-
-ELCFLAGS       =-q
-#ELCFLAGS      =
-MAKEIFLAGS     =
-
-ELC            =$(EMACS) -batch $(ELCFLAGS) -l ./dgnushack.el -f batch-byte-compile
-EMAKEINFO      =makeinfo $(MAKEIFLAGS)
-#EMAKEINFO     =$(EMACS) -batch $(MAKEIFLAGS) -f batch-texinfo-format
-
-MODEDIR                =755
-MODEDATA       =644
-
-MKDIRS         =mkdir -p
-#MKDIRS                =mkdirhier
-
-INSTALL                =cp -p
-#INSTALL       =install
-
-#INSTDFLAGS    =-m $(MODEDATA)
-
-TOP            =
-
-#DESTELC       =$(TOP)$(prefix)/lib/emacs/site-lisp
-DESTELC                =$(TOP)$(prefix)/lib/elisp
-#DESTEL                =$(DESTELC)
-DESTEL         =
-DESTINFO       =$(TOP)$(prefix)/info
index 3d68157..4b87680 100644 (file)
@@ -1,5 +1,98 @@
+Tue May 30 10:59:22 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
+
+       * gnus-cite.el (gnus-cite-attribution-postfix): Accept VinVN
+       `says' attribution, no matter how stupid it sounds.
+
+Wed May 31 00:46:27 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
+
+       * gnus.el (gnus-summary-read-group): Recenter in wrong window. 
+
+Tue May 30 10:05:54 1995  Lars Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.el (gnus-make-hashtable-from-newsrc-alist): Make sure no
+       new dummy.groups are prepended. 
+       (gnus-make-hashtable-from-newsrc-alist): Would potentially be
+       destructive. 
+
+Mon May 29 09:03:02 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el (gnus-summary-goto-subject): Would not report
+       non-existing numbers. 
+
+       * gnus-msg.el (gnus-inews-insert-signature): Don't do sig if
+       mail-signature is non-nil. 
+       (gnus-post-news): Would set gnus-newsgroup-name to something
+       strange. 
+
+       * gnus.el (gnus-configure-windows): Would, in obscure cases,
+       display a buffer in two windows. 
+
+Mon May 29 09:03:02 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: 0.79 is released.
+
+       * nnmail.el (nnmail-delete-incoming): New variable. 
+
+       * gnus.el (gnus-summary-read-group): Would scroll to the end of
+       the article. 
+
+       * gnus-msg.el (gnus-mail-reply-using-mail): Don't run
+       news-reply-header-hook if mail-yank-hooks is non-nil. 
+
+Sun May 28 15:25:02 1995  Lars Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.el (gnus-summary-update-mark): Would add unread marks to
+       articles that had been marked with the process mark.
+       (gnus-summary-read-group): Forcibly recenter group buffer if
+       visible. 
+
+       * gnus-score.el (gnus-summary-increase-score): Allow "?"s. 
+
+       * gnus.el (gnus-summary-import-article): New command and
+       keystroke. 
+
+       * gnus-kill.el (gnus-kill-parse-rn-kill-file): Also parse rn
+       killfiles. 
+
+       * gnus.el (gnus-group-get-new-news): Did not use
+       default-list-level properly.
+
+Sun May 28 10:01:10 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el (gnus-article-word-wrap): Use fill-column. 
+
+       * gnus-score.el (gnus-score-remove-lines-adaptive): Would switch
+       score files. 
+
+       * nnspool.el (nnspool-find-article-by-message-id): Did not work. 
+
+       * gnus-score.el (gnus-score-adaptive): Would try to score one too
+       many. 
+
+       * gnus.el (gnus-group-make-help-group): Use new doc backend. 
+
+       * nndoc.el (nndoc-type-to-regexp): Find out when the end of file
+       has been reached in digests. 
+
+Sun May 28 01:30:59 1995  Lars Ingebrigtsen  <lars@eyesore.no>
+
+       * nnmbox.el (nnmbox-possibly-change-newsgroup): Act more robustly
+       even if the user kills the mbox buffer.
+
+Sat May 27 20:16:34 1995  Lars Ingebrigtsen  <lars@eyesore.no>
+
+       * nneething.el (nneething-make-head): Produced buggy From
+       headers. 
+       (nneething-article-p): More strict definition. 
+
+       * gnus.el (gnus-summary-next-page): Would show end of buffer. 
+       (gnus-group-exit): Really offer to save summaries.
+       (gnus-offer-save-summaries): Reverse match.
+
 Sat May 27 09:25:52 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
 
+       * gnus.el: 0.78 is released.
+
        * nnmail.el (nnmail-split-incoming): Would bug out on long
        content-lengths.
 
diff --git a/lisp/ChangeLog.1 b/lisp/ChangeLog.1
deleted file mode 100644 (file)
index 901c008..0000000
+++ /dev/null
@@ -1,6230 +0,0 @@
-Mon May 15 18:29:20 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-summary-insert-line): Make sure Lines is a number.
-       
-       (gnus-summary-select-article): Don't scroll to the end of the
-       article buffer.
-
-       * gnus.el: 0.70 is released
-
-       * ChangeLog continues in a different file.
-
-Mon May 15 16:38:04 1995  Lars Magne Ingebrigtsen  <larsi@drott.ifi.uio.no>
-
-       * gnus.el (gnus-summary-sort): Hide threads after sorting, if that
-       is wanted. 
-
-Sun May 14 01:10:51 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-verbose): New variable.
-       (gnus-group-mark-group): Stop when there are no more groups to go. 
-       (gnus-group-search-forward): Message when attempting to go too far
-       back. 
-
-       * gnus.el: Use it.
-       (gnus-group-add-to-virtual): New command and keystroke.
-
-       * gnus-vm.el: Did not load vm.
-
-       * gnus.el (gnus-summary-mode-map): New keystroke for saving with
-       vm. 
-
-       * gnus-score.el (gnus-score-load-file): (adapt t) will work
-       independently of gnus-use-adaptive-scoring.
-
-       * gnus.el (gnus-summary-recenter): New implementation.
-
-Sat May 13 19:52:35 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-nov-parse-line): Would not read Xrefs.
-
-       * gnus-score.el (gnus-score-save): Don't pp adaptive score files. 
-       (gnus-score-adaptive): Put adaptive entries in a separate score
-       file. 
-       (gnus-score-followup): Put entries into the adaptive score file. 
-
-       * gnus.el (gnus-use-scoring): New variable.
-
-Sat May 13 11:16:31 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-summary-refer-article): Mark fetched articles as
-       read. 
-       (gnus-summary-catchup): Mark articles as expirable when they are
-       supposed to be.
-       (gnus-group-expire-articles): Allow `total-expire'.
-       (gnus-summary-reselect-current-group): Kill the summary buffer
-       before reselecting.
-
-       * gnus-vis.el (gnus-summary-highlight-line): Would occationally
-       bug out. 
-
-       * gnus.el (gnus-summary-prepare-threads): Do right number of
-       sub-threads under adopted (etc) articles.
-       (gnus-read-descriptions-file): Don't barf on strange formats. 
-
-       * gnus-score.el (gnus-score-adaptive): Ignore pseudos.
-       (gnus-score-remove-lines-adaptive): Ditto.
-
-       * nnml.el (nnml-get-new-mail): Handle a list of spool files. 
-
-       * gnus.el (gnus-windows-old-to-new): Translate 3.13-selects to 4.1
-       symbols. 
-       (gnus-request-article-this-buffer): Always check whether the
-       connection is down.
-       (gnus-summary-save-article): Did not init hashtb.
-       (gnus-matches-options-n): Reversed comparison.
-       (gnus-configure-windows): Use the horizontal spec.
-       (gnus-group-goto-unread): New variable.
-       (gnus-group-next-unread-group): Use it.
-
-       * gnus-cache.el (gnus-cache-retrieve-headers): Don't barf if the
-       cache file doesn't exist.
-
-       * gnus.el: 0.68-0.69 is released.
-
-Thu May 11 12:03:10 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-simplify-buffer-fuzzy): New function.
-       (gnus-simplify-subject-fuzzy): Use it.
-
-       * gnus-score.el: Support fuzzy matches.
-
-Sat May 13 11:09:30 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-newsrc-to-gnus-format): New implementation. 
-
-Wed May 10 08:42:21 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-format-max-width): Don't choke on numbers.
-
-       * nnmh.el (nnmh-request-list): Don't chase links.
-
-       * gnus.el (gnus-parse-n-options): Would reverse the 'ignore and
-       strings. 
-       (gnus-summary-remove-lines-marked-as-read): Also count
-       gnus-ancient-marks as a read mark.
-
-       * nnspool.el (nnspool-inews-switches): Added the no-sig switch.
-
-       * gnus.el (gnus-summary-sort): Don't recurse for all time. 
-
-Wed May 10 07:01:42 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus-msg.el (gnus-summary-cancel-article): Remove process marks
-       after cancelling. 
-
-       * gnus.el (gnus-summary-show-all-dormant): Update lines.
-       (gnus-summary-show-all-expunged): Ditto.
-       (gnus-group-process-prefix): Did not understand C-u C-u prefixes
-       and the like. 
-       (gnus-group-catchup-current): Advance to the next unread group.
-       (gnus-summary-catchup): Mark articles at exit if adaptive scoring
-       is used. 
-       (gnus-server-edit-server): Did not configure windows properly.
-
-       * gnus.el: 0.67 is released. 
-
-Tue May  9 10:18:16 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus-vis.el (gnus-article-press-button): New function.
-
-       * gnus.el (gnus-article-mode-map): Bind it.
-
-       * gnus-cite.el (gnus-cite-hide-percentage): Upped to 50% (like
-       inews). 
-       (gnus-cite-hide-absolute): Upped to 10 lines.
-
-       * gnus-vis.el (gnus-face-dark-name-list): Some colors was not
-       available everywhere.  New colors suggested by
-       John Salmon <johns@mullet.anu.edu.au>.
-       (gnus-article-highlight-headers): Turn of `buffer-read-only'.
-       (gnus-button-message-id): Do not switch to the summary buffer
-       first. 
-
-       * gnus.el: (gnus-article-add-button): Added autoload.
-       (gnus-article-hide-citation): Replace with autoload from
-       `gnus-cite.el'.
-
-Wed May 10 06:49:33 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus-vis.el: Name changes from gnus-visual-summary-* to
-       gnus-summary-*. 
-
-Tue May  9 10:18:16 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus-score.el (gnus-summary-immediately-*): Added functions and
-       keybidnings. 
-
-Wed May 10 06:01:34 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-windows-old-to-new): Applied '+ to wrong list. 
-
-Tue May  9 12:26:34 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-uu.el (gnus-uu-digest-headers): New variable.
-       (gnus-uu-save-article): Use it.
-
-       * gnus-vis.el (gnus-carpal-setup-buffer): Did not work at all. 
-
-       * gnus.el (gnus-get-unread-articles): Would un-activate already
-       activated groups from secondary servers.
-       (gnus-group-transpose-groups): New implementation.
-       (gnus-group-yank-group): Allow moving even to the end of the
-       buffer. 
-
-       * nnbabyl.el: General tune-up and serious bug-fix all over.
-
-       * gnus.el (gnus-parse-newsrc-body): Would create two dummy.groups
-       when no .newsrc.eld files existed.
-       (gnus-summary-setup-buffer): Be really sure that we want to return
-       to the old buffer.
-
-       * nnbabyl.el (nnbabyl-read-mbox): Insert "OPTIONS" in empty babyl
-       files. 
-
-       * gnus.el (gnus-group-change-level): Insert new groups at the end
-       of the group alist.
-
-Tue May  9 04:49:53 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-        * gnus.el: 0.66 is released.
-
-       * gnus.el (gnus-rebuild-remove-articles): Would make all articles
-       read and go to the wrong article.
-       (gnus-summary-update-lines): Allow highlighting of a region.
-
-       * gnus-kill.el (gnus-kill-file-mode-map): Three commands bound to
-       the same key.
-
-       * gnus-vis.el: Hilit code transferred here.
-
-       * gnus-hilit.el: Obsolete file.
-
-       * gnus-cite.el (gnus-cite-face-list): New file.
-
-       * gnus.el (gnus-member-of-valid): New function.
-
-       * gnus-score.el (gnus-score-integer): Reversed comparison.
-
-       * gnus.el (gnus-maintainer): New address.
-       (gnus-get-unread-articles): Secondary groups would be doubly
-       activated. 
-
-Mon May  8 11:11:22 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-msg.el (gnus-post-news): Use process/prefix.
-       (gnus-mail-reply-using-mail): Use process/prefix.
-       (gnus-summary-cancel-article): Ditto.
-
-       * gnus-vis.el (gnus-carpal-mode): New mode and stuff.
-
-       * gnus.el (gnus-configure-windows): New implementation.
-       (gnus-window-configuration): New syntax.
-       (gnus-windows-old-to-new): Conversion between old and new.
-       (gnus-split-window): Obsolete variable.
-       (gnus-remove-some-windows): New function.
-       (gnus-bug): Put point a different place.
-
-Sun May  7 01:12:04 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-        * gnus.el: 0.65 is released.
-
-       * gnus.el (gnus-get-unread-articles): Would not activate some
-       native groups. 
-
-       * nndigest.el (nndigest-first-article-separator): New variable.
-       (nndigest-narrow-to-article): Use it.
-       (nndigest-request-group): Would be one off in counting messages. 
-
-       * gnus.el (gnus-summary-setup-buffer): Don't create the buffer if
-       it already exists.
-       (gnus-summary-read-group): If the summary buffer exists, just
-       switch to it.
-       (gnus-summary-subject-string): Would bug out on pseudo-articles.
-
-       * gnus-vm.el: New file.
-
-       * gnus-msg.el (gnus-mail-reply-using-mail): In-reply-to was
-       possibly not correct.
-
-       * gnus-uu.el: Undefined keymaps.
-
-       * gnus.el (gnus-article-date-ut): `lapsed' was some hours off.
-
-Sat May  6 01:48:06 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-       * gnus.el (gnus-article-de-quoted-unreadable): Did not set
-       buffer-read-only to nil.
-
-       * gnus-score.el (gnus-score-save): Would not save score file if
-       the directory didn't exist.
-
-       * gnus-vis.el (gnus-summary-make-menu-bar): Added sort-by-score.
-
-       * gnus.el (gnus-read-active-file): Don't pretend that we have read
-       the active file when we haven't.
-       (gnus-summary-catchup): Make catchup-and-exit faster.
-       (gnus-summary-sort-by-score): Make the `reverse' element optional
-       on all score functions.
-       (gnus-read-descriptions-file): Don't barf if the server if down.
-
-       * gnus-uu.el (gnus-uu-initialize): Chmod work dir.
-
-       * gnus.el (gnus-nov-parse-line): Allow strings as Lines headers. 
-       (gnus-summary-dummy-line-format): Not aligned properly.
-       (gnus-summary-goto-subject): Skip dummy articles.
-       (gnus-group-first-unread-group): Went to the first group, not the
-       first unread group.
-
-       * gnus.el: 0.64 is released.
-
-Mon May  1 01:51:25 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-vis.el (gnus-server-make-menu-bar): New function.
-
-       * gnus.el: Pushed gnus-uu autoloads out to a keymap in gnus-uu. 
-       (gnus-rebuild-thread): New function.
-       (gnus-rebuild-remove-articles): New function.
-       (gnus-group-mode-map): Changes.
-
-       * gnus-score.el
-       (gnus-summary-temporarily-lower-followups-to-author): New command. 
-       (gnus-summary-lower-followups-to-author): Raised instead of
-       lowering. 
-
-       * gnus.el (gnus-article-date-ut): `lapsed' would give incorrect
-       time. 
-       (gnus-group-mark-group, gnus-group-unmark-group,
-       gnus-group-mark-region):  New commands and keystrokes.
-       (gnus-group-process-prefix): New function.
-       (gnus-group-goto-group): New function.
-       (gnus-group-catchup-current): Use pro/pre.
-       (gnus-group-expire-articles): Ditto.
-       (gnus-group-expire-all-groups): Double ditto.
-       (gnus-group-set-current-level): Ditto.
-       (gnus-delete-line): New function.
-       (gnus-summary-mark-article): Don't unconditionally request article
-       when using the cache.
-
-Tue May  2 01:52:56 1995  Christian Limpach  <chris@nice.ch>
-
-       * gnus.el (gnus-article-display-x-face): cleaned up and use
-       call-process-region now.
-
-Mon May  1 23:40:32 1995  Christian Limpach  <chris@nice.ch>
-
-       * gnus.el (gnus-group-fetch-faq): fixed fetching faq of foreign
-       groups
-
-Mon May  1 21:04:22 1995  Scott Byer  <byer@mv.us.adobe.com>
-
-               * gnus.el (gnus-unread-articles) Put back in dropped change to
-        prevent activation of unsubscribed foreign newsgroups.
-
-Sun Apr 30 04:11:31 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-sorted-complement): Would reverse the result given
-       a nil list.
-       (gnus-summary-refer-article): Would not let you refer expunged
-       articles. 
-       (gnus-summary-goto-article): Give a return value.
-
-       * gnus.el: Changes here and there to use the cache.
-
-       * gnus-cache.el: New file.
-
-       * gnus.el (gnus-article-de-quoted-unreadable): Have interactive
-       calls force un-quoting.
-       (gnus-article-date-ut): Would choke on distant dates.
-       (gnus-summary-respool-article): Use the current backend as a
-       default prompt.
-       (gnus-summary-respool-article): Behave grafully on nil input.
-       (gnus-get-unread-articles): Would barf on virtual servers.
-       (gnus-use-cache): New variable.
-
-       * gnus.el: 0.63 is released.
-
-Sun Apr 30 01:29:34 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-summary-raise-thread): Would incorrectly not stay
-       on the same line when that was required.
-       (gnus-article-date-ut): Required arguments.
-
-       * gnus-score.el (gnus-score-load-file): Would reset
-       gnus-adaptive-score-alist. 
-
-Sat Apr 29 22:27:46 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus-uu.el (gnus-uu-post-news): Work in mail buffers as
-       well. General cleanup.
-
-       * nntp.el (nntp-default-sentinel): Ignore servers that do not
-       exist. 
-
-       * gnus-score.el (gnus-score-add-followups): Used exact match
-       instead of substring.
-
-Sat Apr 29 17:58:42 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-gnus-to-quick-newsrc-format): Inhibit quitting in
-       a particularly tricky spot.
-       (gnus-read-newsrc-el-file): The same.
-       (gnus-server-edit-server): New layout.
-       (gnus-server-read-server): Wrong interactive spec and returned to
-       the wrong buffer.
-       (gnus-group-browse-foreign-server): Also allow browsing of
-       servers. 
-
-       * nnml.el (nnml-request-list): Did not set nnml-group-alist. 
-
-       * gnus.el (gnus-summary-respool-article): Would not let you
-       respool. 
-
-Sat Apr 29 00:35:17 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus-score.el (gnus-score-add-followups): Did not work.
-
-       * nntp.el (nntp-request-article): Would fetch articles even if
-       async-fetched.
-       (nntp-async-fetch-articles): Would re-fetch the first article.
-
-       * gnus.el: 0.62 is released
-
-Fri Apr 28 00:24:34 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-set-mode-line): Would bug out on nil max-lens. 
-       (gnus-summary-read-group): Did not properly configure windows on
-       breaks. 
-       (gnus-summary-select-article): Would not configure windows
-       properly. 
-       (gnus-summary-exit-no-update): Would go to next group, not next
-       unread group.
-       (gnus-summary-enter-digest-group): End gracefully if executed on
-       something that is not a digest.
-       (gnus-server-read-server): New command.
-       (gnus-nov-field): Would not grab the last char on the line.
-
-       * gnus.el: 0.61 is released
-
-Wed Apr 26 19:48:36 1995  Scott Byer  <byer@mv.us.adobe.com>
-
-       * gnus.el (gnus-group-get-new-news) Off by one with relation to
-        the fix in gnus-get-unread-articles.
-
-Thu Apr 27 23:46:32 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-next-article): Would bug out on nndigest
-       groups. 
-
-Thu Apr 27 13:45:21 1995  Scott Byer  <byer@mv.us.adobe.com>
-
-       * nnfolder.el (nnfolder-request-group) Fixed it so it returns an
-        active list even when the flag for not checking mail is t.
-
-       * gnus.el (gnus-get-unread-articles) Changed comparison with level
-        to < to fix fencepost error.  Forced active to nil in the case
-        where a foreign newsgroup shouldn't be activated.
-
-Wed Apr 26 19:48:36 1995  Scott Byer  <byer@mv.us.adobe.com>
-
-       * nnfolder.el (nnfolder-request-group) Small performance tweak.
-
-       * nnfolder.el (nnfolder-save-mail) Moved the code to kill previous
-        newsgroups headers into the loop, affects mail saved to multiple
-        folders so that they don't have multiple newsgroup markers
-        anymore.
-
-       * nnfolder.el (various) Made sure buffer needed saving before each
-        request.
-
-Thu Apr 27 22:34:13 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-parse-newsrc-body): Would reverse the list of
-       groups if no .newsrc.eld file is present.
-       (gnus-parse-newsrc-body): Would subscribe unsubscribed groups.
-       (gnus-summary-mode-map): Many keymap changes.
-
-Thu Apr 27 21:45:05 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus-msg.el (gnus-inews-organization): Use the standard work
-       buffer.
-       (gnus-post-news): Did not use followup-to.
-
-Thu Apr 27 12:38:41 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-       * gnus-kill.el (gnus-apply-kill-file-internal): Give abetter error
-       massage on rn kill files.
-
-       * gnus.el (gnus-article-de-quoted-unreadable): No interactive spec.
-
-Wed Apr 26 15:57:28 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus-message.el (gnus-inews-check-post): Would warn about too
-       long lines when the last line didn't have a newline.
-
-       * gnus-score.el (gnus-score-string): Would loop forever on empty
-       matches. 
-
-       * gnus.el: 0.60 is released.
-
-Wed Apr 26 15:08:00 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-groups-to-gnus-format): Would ding on non-existant
-       groups. 
-       (gnus-summary-next-group): Did not keep pint in group buffer
-       updated. 
-
-Wed Apr 26 14:42:17 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * nntp.el (nntp-request-article): Would sometime deliver the wrong
-       article in async mode.
-
-Wed Apr 26 10:08:36 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-message.el (gnus-summary-post-forward): New command and
-       keystroke. 
-
-       * gnus-uu.el (gnus-uu-digest-mail-forward): Name change.
-       (gnus-uu-digest-post-forward): New command and keystroke.
-
-       * nntp.el (nntp-open-server): Refuse to connect to servers that
-       have previously timed out.
-
-       * gnus.el (gnus-summary-next-group): Allow 0 as a pointer to go to
-       the next group.
-       (gnus-group-edit-group): All group editing functions have changed.
-
-Tue Apr 25 20:35:40 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-exit-no-update): Go to the right (next)
-       group on all kinds of exits.
-       (gnus-article-mode-map): Slight improvement in the duplicated
-       keystrokes. 
-
-Tue Apr 25 16:33:58 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-       * nnspool.el (nnspool-sift-nov-with-sed): New function.
-       (nnspool-sift-nov-with-sed): New variable.
-
-       * gnus-score.el (gnus-score-remove-lines-adaptive): New function.
-
-       * gnus.el (gnus-summary-remove-lines-marked-with): Do the adaptive
-       thing.
-
-       * gnus-score.el (gnus-score-string): Allow exact matches.
-       (gnus-score-adaptive): Use exact matches.
-
-       * gnus.el (gnus-article-de-quoted-unreadable): Replaced with Per's
-       functions. 
-
-       * gnus-score.el (gnus-default-adaptive-score-alist): Name change. 
-
-Tue Apr 25 14:20:52 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-insert-pseudos): Didn't treat
-       pseudos-separately properly.
-
-Tue Apr 25 15:08:38 1995  Scott Byer  <byer@mv.us.adobe.com>
-
-       * nnmail.el (nnmail-request-post-buffer) changed how this function
-        deals with the list form of follow-to.  Before calling mail-setup,
-        it now gathers and strips out of the list all "To" headers, and
-        calls mail-setup with that collection.  This avoids the nasty
-        empty To: field problem.  Also made sure that additional fields
-        are inserted after the To: field.
-
-       * gnus-message.el (gnus-mail-reply-using-mail) Added the same fix
-       for replying.
-
-Tue Apr 25 12:54:28 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-       * gnus.el (gnus-valid-select-methods): nnvirtual groups should not
-       have the address in the name.
-       (gnus-article-prepare): When trying to refer an article that
-       didn't exist, the current article pointers would become confused. 
-       (gnus-summary-line-format-alist): Make sure `thread' is defined. 
-
-       * gnus.el: 0.59 is released.
-
-Mon Apr 24 10:50:09 1995  Scott Byer  <byer@mv.us.adobe.com>
-
-       * gnus.el (gnus-get-unread-articles) Closed each group after
-        checking the number of unread articles in order to minimize memory
-        usage when using a file-based backend (e.g., nnfolder).
-
-       * nnfolder.el (nnfolder-possibly-change-group) Added check on
-        modtime of mbox.  This should help those who use procmail.
-
-       * nnfolder.el (nnfolder-close-group) Added use of
-       nnfolder-always-close.
-
-       * nnfolder.el (nnfolder-always-close) Added this variable to
-        determine if nnfolder should got for speed or minimize space
-        requirements.  The old tradeoff.  If this new variable is t,
-        nnfolder will try and keep only one mbox open at a time.  This
-        will cost some time!
-
-       * nnfolder.el (nnfolder-ignore-active-file) Renamed
-        nnfolder-active-file--paranoia to something mor reasonable.  Did
-        not change the sense.
-
-       * nnfolder.el (nnfolder-read-folder) Consolidated the min-max loop
-       when being paranoid or recovering from bad active file.
-
-Tue Apr 25 12:27:03 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-       * gnus.el (gnus-server-to-method): Did not find method for native
-       groups. 
-       (gnus-article-x-face-command): Value fix.
-
-Tue Apr 25 11:06:36 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-next-page): Would not allow exit from the
-       last group.
-
-       * gnus-message.el (gnus-post-news): Would not allow posting from
-       the group buffer.
-       (gnus-inews-remove-headers): New function to remove headers before
-       posting. 
-       (gnus-inews-lines): Would compute an incorrect Lines header. 
-
-       * gnus.el (gnus-article-de-quoted-unreadable): Make sure that the
-       article really is quoted-unreadable.
-
-Mon Apr 24 17:38:36 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.58 is released.
-
-       * nntp.el (nntp-kill-connection): Add a small wait after timing
-       out. 
-
-       * gnus.el (gnus-format-max-width): Didn't work with numbers.
-       (gnus-group-first-unread-group): Wouldn't select the first group.
-
-       * nntp.el (nntp-default-sentinel): Would fail to find the name of
-       the server.
-
-       * gnus.el (gnus-group-unsubscribe-current-group): Did not toggle
-       properly. 
-       (gnus-group-set-current-level): Warn about illegal levels.
-
-Mon Apr 24 17:22:27 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-recenter): New version from Sudish.
-
-Mon Apr 24 00:05:59 1995  Christian Limpach  <chris@nice.ch>
-
-       * gnus.el (gnus-article-display-x-face): avoid
-       re-search-forwarding the whole article buffer
-
-Mon Apr 24 16:46:06 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-seconds-since-epoch): New function.
-
-       * nntp.el (nntp-open-server): Set wrong variable for the port
-       number. 
-
-       * gnus.el (gnus-summary-refer-article): Don't bug out on nil
-       refer-article-methods. 
-
-Mon Apr 24 16:05:56 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-       * gnus.el (gnus-article-x-face-command): New value.
-
-Sun Apr 23 11:19:32 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnspool.el (nnspool-request-post): Post asynchronously.
-
-       * nntp.el: Many changes related to asynchronous article fetching. 
-
-       * gnus.el (gnus-asynchronous): New variable.
-       (gnus-article-date-ut, gnus-article-date-local,
-       gnus-article-date-lapsed):  New commands and keystrokes.
-
-Sun Apr 23 05:34:11 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus-score.el (gnus-score-adaptive-alist): New variable.
-       (gnus-score-adaptive): New function.
-
-       * gnus.el (gnus-article-de-quoted-unreadable): Translate = on the
-       end of lines.
-       (gnus-del-mark): Name change from gnus-dread-mark.
-       (gnus-use-adaptive-scoring): New variable.
-       (gnus-summary-exit): Use it.
-
-       * gnus-message.el (gnus-post-news): Don't bug out on posting with
-       followup-to methods.
-
-       * gnus.el (gnus-group-set-current-level): Bug fix.
-       (gnus-request-post-buffer): Open server if it isn't open.
-
-Sat Apr 22 07:27:25 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el: Pushed all score code out to a separate file.
-       
-       * gnus-score.el: New file.
-
-       * gnus.el (gnus-newsrc-alist): Name change from gnus-newsrc-assoc.
-
-       * gnus.el: 0.57 is released.
-
-Sat Apr 22 04:54:11 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: Many patches from Hallvard B Furuseth on XEmacs and
-       kill-buffer matters.
-
-       * gnus-uu.el (gnus-uu-digest-and-forward): Make a better name and
-       kill the temp buffer.
-
-       * gnus.el (gnus-split-methods): Doc fix.
-       (gnus-summary-copy-article): Activate non-active newsgroups.
-       (gnus-summary-insert-pseudos): View pseudos non-separately.
-       (gnus-view-pseudos-separately): New variable.
-
-Fri Apr 21 11:00:53 1995  Lars Magne Ingebrigtsen  <larsi@beli.ifi.uio.no>
-
-       * gnus.el (gnus-start-news-server): Arguments in incorrect order
-       for substring.
-       (gnus-summary-refer-article): Always open the server before asking
-       for articles. 
-       (gnus-simplify-subject-fuzzy): Installed Sudish' and Hallvard's
-       version. 
-
-Fri Apr 21 09:26:06 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-group-set-current-level): Changed meaning of
-       prefix. 
-       (gnus-level-default-unsubscribed): Missing value.
-       (gnus-simplify-subject-fuzzy): substring instead of
-       buffer-substring. 
-
-       * nnml.el (nnml-request-expire-articles): Would sometimes bomb,
-       for reasons unknown.
-
-       * nnmh.el (nnmh-request-list): Don't list empty groups.
-
-       * gnus.el (gnus-mail-forward-using-mail): Use emacs-lisp mode
-       map. 
-
-       * gnus.el: 0.56 is released.
-
-Sun Apr 16 00:34:51 1995  Christian Limpach  <chris@nice.ch>
-
-       * gnus.el (gnus-article-prepare): fixed moving to bookmark when
-       displaying article
-
-Fri Apr 21 05:56:51 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-score-check-syntax): Add file names to error
-       message. 
-       (gnus-browse-foreign-server): Numbers would be one off.
-
-       * nntp.el (nntp-request-group): Just use the GROUP command.
-
-Fri Apr 21 05:56:34 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el: 0.55 is released.
-
-Fri Apr 21 02:50:11 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-start-news-server): Set nnmh-directory in the
-       select method.
-
-       * nnfolder.el: Installed Scott Byer's patches.
-
-       * nnheader.el (nnheader-make-complex-temp-name): New variable. 
-
-       * gnus-mh.el: Installed Eric Selberg's patches.
-
-       * gnus.el (gnus-summary-check-current): New variable.
-       (gnus-summary-search-subject): Use variable.
-       Did the (replace-match "" t t) thing.
-       (gnus-simplify-subject-fuzzy): Buffer implementation.
-
-       * nnspool.el (nnspool-seconds-since-epoch): Returned incorrect
-       data. 
-
-       * gnus.el (gnus-article-prepare): Go to the next subject if the
-       article is canceled.
-
-Fri Apr 21 02:48:19 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.54 is released.
-
-Thu Apr 20 06:36:33 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-setup-news): Read .newsrc.eld before reading the
-       active file.
-       (gnus-group-edit-group-parameters): New command and keystroke.
-
-       * nntp.el (nntp-server-list-active-group): Improperly initialised. 
-
-       * gnus.el (gnus-retrieve-groups): New function.
-       (gnus-groups-to-gnus-format): New function.
-       (gnus-read-active-file): New semantics: `some'.
-       (gnus-level-subscribed, gnus-level-unsubscribed,
-       gnus-level-zombie, gnus-level-killed): New variables.
-       (gnus-inews-check-post): Many of the checks didn't actually check
-       anything. 
-       (gnus-check-before-posting): New variable.
-       (gnus-group-edit-group-method): New command and keystroke.
-       (gnus-group-mode-map): Change in keymap for edit-group.
-       (gnus-server-extend-method): Didn{t properly recognise native
-       groups. 
-
-       * gnus.el: Changes throughout to use the level variables instead
-       of the hard-coded level numbers.
-
-Thu Apr 20 04:23:34 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-        * gnus.el: 0.53 is released.
-
-Thu Apr 20 01:56:59 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus-uu.el (gnus-uu-part-number): New function.
-
-       * gnus.el (gnus-post-news): Don't require a group name to be legal
-       to allow composing the article.
-       (gnus-set-mode-line): Would bug out on a non-numerical
-       non-string-length. 
-       (gnus-mail-reply-using-mail): Would go to the summary buffer
-       instead of the mail buffer with non-standard window configs.
-       (gnus-summary-next-page): Go to the summary buffer.
-       (gnus-mail-reply-using-mail): Yank before hook.
-       (gnus-group-mode-map): Reinstituted to old keystrokes.
-       Installed Eric Selberg's mh and split-window patches.
-
-       * nntp.el (nntp-open-server-function): New variable.
-       (nntp-rlogin-parameters): New variable.
-       (nntp-rlogin-user-name): New variable.
-       (nntp-open-rlogin-stream): New function.
-       (nntp-open-network-stream): New function.
-       (nntp-retrieve-groups): New function.
-       (nntp-open-server): Don't break on a defs list containing just
-       "nntp" or a port number.
-
-Wed Apr 19 07:19:31 1995  Lars Magne Ingebrigtsen  <larsi@holmenkollen.ifi.uio.no>
-
-       * gnus.el: 0.52 is released.
-
-Wed Apr 19 05:51:27 1995  Lars Magne Ingebrigtsen  <larsi@holmenkollen.ifi.uio.no>
-
-       * nntp.el (nntp-request-group): Error in regexp when using LIST
-       ACTIVE. 
-
-       * gnus.el (gnus-parse-newsrc-body): Don't reset levels.
-       (gnus-group-always-list-unread): New variable.
-
-       * gnus-uu.el (gnus-uu-save-files): Ask user whether to overwrite
-       existing files.
-
-       * nnmbox.el (nnmbox-request-expire-articles): Fix from Ilja Weis.
-
-Tue Apr 18 02:45:28 1995  Christian Limpach  <chris@nice.ch>
-
-       * gnus.el (gnus-point-at-bol): new subst
-       (gnus-point-at-eol): new subst
-       * gnus.el: changed all save-excursions to find point at the
-       beginning or end of a line to use either gnus-point-at-bol or
-       gnus-point-at-eol.
-
-Wed Apr 19 03:59:04 1995  Lars Magne Ingebrigtsen  <larsi@holmenkollen.ifi.uio.no>
-
-       * gnus-visual.el (gnus-visual-highlight-selected-summary):
-       Highlight correctly with no mouse-face present.
-
-       * gnus.el (gnus-current-score-file-nondirectory): New function.
-       (gnus-mode-non-string-length): New semantics from Sudish Joseph. 
-
-       * gnus-uu.el: Included all of Eric Selbergs PostScript functions. 
-
-       * gnus.el (gnus-summary-mode-line-format-alist): Missing ?s in g
-       spec. 
-       (gnus-summary-read-group): Go to the next group if the group can't
-       be selected. 
-       (gnus-update-summary-mark-positions): Don't bug out on threads. 
-       (gnus-summary-copy-article): Accept the prefix as the default
-       group. 
-
-Wed Apr 19 03:28:37 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: Major changes in server handling; new mode; and lots of
-       stuff all over in all files. 
-
-       * gnus.el: 0.51 is released.
-
-Mon Apr 17 08:38:57 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-clear-system): Kill nntp-server-buffer upon exit. 
-       
-       * gnus.el: Added "*" to the beginning of the docs strings of all
-       user variables.
-
-Sun Apr 16 03:18:15 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-post-news): Yank before running
-       news-reply-header-hook. 
-       (gnus-group-list-groups): Go to the right group after listing. 
-       (gnus-summary-respool-article): Allow respooling from newsgroups. 
-       (gnus-split-methods): New variable.
-       (gnus-read-save-file-name): New function.
-       (gnus-summary-save-in-rmail): Have all the saving functions use
-       this new function.
-
-       * gnus-visual.el (gnus-summary-make-menu-bar): Menu change.
-
-       * gnus.el (gnus-cancel-news): Don't ask experts.
-       (gnus-summary-mark-region-as-read): New command and keystroke. 
-
-Sun Apr 16 20:45:38 1995  Lars Magne Ingebrigtsen  <larsi@maud.ifi.uio.no>
-
-       * gnus.el (gnus-save-newsrc-file): Run save-newsrc-hook even if
-       the file is not saved.
-       (gnus-summary-insert-pseudos): Would interleave pseudos and real
-       articles. 
-       (gnus-cancel-news): Generate a better error message.
-
-       * nnmh.el (nnmh-request-list): Do not try to read unreadable
-       directories. 
-
-       * gnus.el (gnus-copy-sequence): Would choke on just a single cons
-       cell. 
-       (gnus-inews-article): Would insert two \n's too many.
-
-Sat Apr 15 04:29:22 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-use-long-file-name): One quote symbol too many. 
-       (gnus-article-x-face-command): New variable.
-       (gnus-article-display-x-face): New command and keystroke.
-       (gnus-newsgroup-active): New internal variable.
-       (gnus-update-read-articles): Use this variable to ensure that new
-       articles that have arrived while the summary buffer existed are
-       not inadvertantly marked as read.
-       (gnus-score-headers): Remove exluded score files from the list of
-       score file alists. Probably.
-
-       * nntp.el (nntp-news-default-headers): New variable.
-       (nntp-request-post-buffer): Use it.
-
-       * gnus.el (gnus-inews-insert-headers): Extended syntax of
-       gnus-required-headers. 
-
-Sun Apr 16 00:02:02 1995  Lars Magne Ingebrigtsen  <larsi@holmenkollen.ifi.uio.no>
-
-       * gnus.el (gnus-summary-update-line): Don't mark ancient and read
-       articles as low-scored.
-       (gnus-inews-article): Would insert headers one line too early. 
-
-       * gnus.el: 0.50 is released.
-
-Sat Apr 15 22:16:26 1995  Lars Magne Ingebrigtsen  <larsi@holmenkollen.ifi.uio.no>
-
-       * gnus.el (gnus-score-headers): Changed to allow score alists
-       returned from function in...
-       (gnus-score-find-score-files-function): Wider semantics.
-       (gnus-parse-options-lines): Don't parse options if there aren't
-       any. 
-       (gnus-group-default-list-level): New variable.
-       (gnus-use-long-file-name): Extended semantics.
-       (gnus-group-list-groups): Use new variable.
-       (gnus-group-jump-to-group): Bux fix.
-
-Fri Apr 14 08:05:42 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: Installed Fabrice Popineau's XEmacs patches.
-
-       * nnfolder.el: Installed Scott Byer's version.
-
-       * nntp.el (nntp-request-group): Use LIST ACTIVE group if the
-       server supports it.
-
-Fri Apr 14 17:14:44 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-post-news): Set gnus-newsgroup-name when posting. 
-
-       * nnfolder.el (nnfolder-request-expire-articles): Setcar the wrong
-       thing. 
-
-       * gnus.el (gnus-summary-catchup): Would catchup no matter what
-       answer the user gave.
-
-       * nnfolder.el (nnfolder-request-close): New function to remove
-       nnfolder buffers.
-
-Fri Apr 14 17:09:40 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-        * gnus.el: 0.49 is released.
-
-Fri Apr 14 00:29:43 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-list-active-group): New function.
-       (gnus-browse-server-mode-map): New keystrokes: `l' and 
-       `L', which both return to the group buffer.
-
-       * nntp.el (nntp-list-active-group): New function.
-
-       * gnus.el: New spec for current score file.
-       (gnus-simplify-subject-fuzzy): Made fuzzier on white space.
-       (gnus-summary-cancel-article): Heade headers after replying, etc. 
-       (gnus-user-mail-address): New variable.
-       (gnus-score-orphans): Orphan functions added.
-
-Wed Apr 12 23:13:17 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-score-body): New function.
-       (gnus-summary-raise-by-body): All the raise/lower functions and
-       keystrokes are added.
-
-Wed Apr 12 17:23:32 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-mail-reply-using-mail): Allow reply-to function to
-       return a list of headers to insert.
-       (gnus-summary-save-article): Don't re-request articles before
-       saving. 
-       (gnus-summary-read-group): If all articles have been expunged on
-       accound of low scores, display all articles.
-       (gnus-score-check-syntax): Don't choke on empty score entries.
-
-Wed Apr 12 00:23:01 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: Doc fix.
-       (gnus-score-integer): New function.
-       (gnus-score-date): New function.
-
-       * nntp.el (nntp-accept-response): Give a better error message.
-
-       * nnvirtual.el (nnvirtual-update-marked): Removal of article marks
-       now propagates to the source groups.
-
-       * gnus.el (gnus-select-newsgroup): Adjust marked lists after
-       really entering group.
-
-Tue Apr 11 23:08:25 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-catchup-and-goto-next-group): New command
-       and keystroke.
-       (gnus-summary-toggle-header): Set point at the start up the buffer
-       when toggling the header.
-       (gnus-score-transform-old-to-new): Would rewrite 'files atoms
-       incorrectly. 
-
-       * nnmail.el (nnmail-request-post-buffer): Bind buffer-read-only to
-       nil before attempting to change the buffer.
-
-       * gnus-uu.el (gnus-uu-save-files): Don't choke on non-existing
-       files. 
-
-       * gnus.el (gnus-score-save): Make sure that the directory that the
-       score file is written to actually exists.
-
-       * gnus-kill.el (gnus-kill-file-raise-followups-to-author):
-       Misleading message.
-
-       * gnus.el (gnus-summary-save-article): Remove any X-Gnus header
-       lines before saving.
-
-Tue Apr 11 00:03:35 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-summary-number-of-articles-in-thread): New
-       function. 
-       (gnus-summary-score-entry): A slightly more elaborate prompt.
-       (gnus-group-first-unread-group): New function and keystroke.
-
-Mon Apr 10 20:41:55 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-summary-mark-as-read-forward): Overwrite E marks. 
-       (gnus-group-jump-to-group): Allow jumping to groups not in the
-       active file.
-       (gnus-summary-line-format-alist): New spec: number of articles in
-       the current subthread.
-
-       * nnml.el (nnml-possibly-create-directory): Create directories on
-       the fly instead of creating all possible directories at startup.
-
-       * nnmail.el (nnmail-article-group): Allow nnmail-split-methods to
-       be a function to be called.
-
-       * gnus.el (gnus-nov-parse-line): Allow articles without
-       message-ids to pass through. Fudge temporary ids.
-
-       * nnml.el (nnml-make-nov-line): Create dummy message-ids for
-       articles that do not have them.
-
-       * gnus.el (gnus-group-make-group): Refuse to create groups that
-       already exist.
-       (gnus-group-change-level): Don't enter foreign groups into killed
-       lists. 
-       (gnus-parse-n-options): Handle options -n lines as the were
-       supposed to - sequentially.
-       (gnus-newsrc-options-n-yes, gnus-newsrc-options-n-no): Obsolete
-       variables. 
-       (gnus-newsrc-options-n): New variable.
-       (gnus-matches-options-n): New function.
-       (gnus-summary-next-group): Kill summary buffer even when C-g'ing
-       while choosing the next group after n'ing.
-       (gnus-summary-mode-line-format-alist): New format spec added.
-       (gnus-short-group-name): New function.
-       (gnus-mail-forward-using-mail): Use From line instead of grup name
-       in the Subject header when forwarding.
-       (gnus-summary-mode-line-format-alist): Added user-defined spec to
-       the mode line alists. 
-       (gnus-score-save): Would set `gnus-score-cache' to nil.
-
-       * gnus-uu.el (gnus-uu-mark-sparse): Did not create hashtb before
-       using it.
-
-       * gnus.el (gnus-mail-other-window-using-mail): Used lisp keymap.
-
-Mon Apr 10 20:29:26 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el (gnus-summary-move-article): Didn't remove articles from
-       list of unreads.
-
-Mon Apr 10 14:59:49 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el, gnus-uu.el: Changed all instances of
-       mail-header-separator to use regexp-quote and anchors.
-
-       * gnus.el (gnus-nov-parse-line): Don't choke on malformed NOV
-       lines. 
-
-Sun Apr  2 13:16:03 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el (gnus-inews-insert-headers): Didn't check new
-       -gather-limit correctly. 
-       (gnus-summary-prepare-threads): Print subjects if `fuzzy' was
-       used, but subjects aren't equal.
-
-Sun Apr  2 12:11:17 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el: 0.47 & 0.48 is released.
-
-       * nnmh.el (nnmh-article-pathname): Wouldn't find groups that were
-       located in directories that had "." in the directory names.
-
-       * gnus.el (gnus-score-load-file): Changing score alists would have
-       no effect. 
-
-Sat Apr  1 16:45:14 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-visual.el (gnus-visual-highlight-selected-summary): Would
-       mess up selected face when no mouse highlights were used.
-
-       * nnml.el (nnml-request-create-group): Really create groups that
-       are created.
-
-       * gnus.el (gnus-setup-news): If the local server can't be
-       contacted, just ignore it and offer to continue.
-       (gnus-group-post-news): Set newsgroup name to nil before offering
-       to post.
-       (gnus-summary-read-group): Summary buffer wouldn't be killed when
-       `n'-ing to a group that had all its articles expired.
-
-       * nntp.el (nntp-open-server): Allow quitting when setting up
-       connection to a server.
-
-       * gnus.el (gnus-articles-to-read): Ticked articles would become
-       read when newsgroups were entered with C-u SPC.
-       (gnus-inews-check-post): Check outgoing post for long lines.
-       (gnus-score-load-score-alist): Ignore empty score files. 
-       (gnus-score-check-syntax): Check score file syntax.
-
-Sat Apr  1 10:41:11 1995  Lars Magne Ingebrigtsen  <larsi@nain.ifi.uio.no>
-
-       * gnus.el (gnus-summary-move-article): Did not remove ticked and
-       dormant articles from relevant lists.
-
-Fri Mar 31 11:49:44 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus-kill.el (gnus-apply-kill-file-internal): Did not add kill
-       buffers to the buffer list for later killing.
-
-       * nnml.el (nnml-request-expire-articles): Would bug out on empty
-       groups. 
-
-Wed Mar 29 13:34:45 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnspool.el (nnspool-request-newgroups): Use floats instead of
-       fudging. 
-
-       * gnus.el (gnus-adjust-marked-articles): Remove expired reply
-       marks. 
-
-       * nnvirtual.el (nnvirtual-create-mapping): Ignore marks on
-       articles that are expired.
-
-       * gnus.el (gnus-gather-threads): Allow fuzzy comparisons.
-       (gnus-simplify-subject-fuzzy): New function.
-
-       * nnml.el (nnml-request-create-group): New function.
-
-       * gnus.el (gnus-group-make-group): Create nnml groups when
-       requested. 
-       (gnus-request-create-group): New function.
-
-       * nntp.el (nntp-request-article): Avoid obsolete concating of
-       numbers-as-strings.
-
-Wed Mar 29 10:21:00 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-        * gnus.el: 0.46 is released.
-
-Wed Mar 29 09:55:15 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-score-load-file): Use different method for
-       figuring out whether score file names are relative.
-
-Wed Mar 29 08:54:25 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el (gnus-group-set-info): Bugged out on lists instead of
-       ranges. 
-
-       * nntp.el (nntp-open-server): Would try to send MODE READER even
-       when opening was unsuccessful.
-
-Wed Mar 29 03:56:05 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el (gnus-group-faq-directory): Change in value.
-
-Tue Mar 28 11:06:18 1995  Lars Magne Ingebrigtsen  <larsi@maud.ifi.uio.no>
-
-       * gnus.el (gnus-group-archive-directory): New variable.
-       (gnus-group-make-archive-group): New command and keystroke.
-       (gnus-get-unread-articles): Did not properly activate nnvirtual
-       groups. 
-       (gnus-summary-insert-pseudos): Didn't initialize hashtb before
-       inserting pseudos.
-
-Mon Mar 27 20:58:05 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el (gnus-summary-sort): If used in summary-prepare-hook,
-       would lead to infinite recursion.
-
-Mon Mar 27 19:09:35 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-mail-other-window-using-mail): Would give wrong
-       parameters to sendamil function.
-
-Mon Mar 27 19:06:58 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.45 is released.
-
-Mon Mar 27 18:31:05 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-catchup-to-here): Would mark everything as
-       read. 
-
-       * nnml.el (nnml-request-expire-articles): Max without apply.
-
-Mon Mar 27 12:16:37 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el (gnus-no-groups-message): New variable.
-       (gnus-group-best-unread-group): Don't just to the current group.
-
-Mon Mar 27 11:18:40 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus-kill.el (gnus-kill): Would remove all kill entries from
-       kill files. 
-
-       * gnus.el (gnus-post-news): Did not work from the group buffer. 
-       (gnus-score-load-file): Would unconditionally overwrite expunge
-       and mark levels.
-
-Mon Mar 27 11:13:43 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.41-0.44 released in quick succession. Fixed new range
-       operators.
-
-Sat Mar 25 05:05:26 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-compress-newsrc-assoc,
-       gnus-uncompress-newsrc-assoc): Compress lists of marked articles
-       before writing them to the .newsrc.eld file.
-       (gnus-select-newsgroup): auto-expire match on full name.
-       (gnus-select-newsgroup): New element in select methods:
-       auto-expire. 
-       (gnus-save-scores): New variable. 
-       (gnus-summary-exit): Use it.
-       (gnus-newsrc-to-gnus-format): If .newsrc was newer than
-       .newsrc.eld, all foreign groups would be hosed.
-
-       * gnus.el: All range functions have changed to allow an extended
-       syntax.
-
-Fri Mar 24 07:17:20 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-move-article): Copy marks when moving
-       articles. 
-       (gnus-set-sorted-intersection): Would compute incorrect
-       intersection. 
-
-       * nndoc.el (nndoc-retrieve-headers): Insert Lines header.
-       * nnmh.el (nnmh-retrieve-headers): Ditto.
-       (nndigest-retrieve-headers): Ditto.
-
-       * nndigest.el (nndigest-narrow-to-article): Don't include the
-       closing digest separator in an article. 
-
-       * gnus.el (gnus-group-change-level): When subscribing to
-       non-existant groups, would claim that there was one unread article
-       in the group.
-       (gnus-summary-delete-article): Remove process mark after deleting
-       articles. 
-       (gnus-score-load-file): 'files was not properly handled, and edits
-       would end up with the wrong alist as the current one. 
-       (gnus-score-edit-alist): Name change from -file. 
-       (gnus-score-edit-file): New function and keystroke.
-
-       * nntp.el (nntp-request-newgroups): Would bug out due to a `let'
-       instead of a `let*'.
-
-       * gnus.el (gnus-score-save): Score files would not be saved. 
-       (gnus-summary-update-line): Would mark as read-below even when
-       attempting to remove the mark.
-
-Thu Mar 23 08:29:56 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-save-article-file,
-       gnus-summary-save-article-folder,
-       gnus-summary-save-article-rmail): New commands and keystrokes.
-       (gnus-summary-sort): All sort commands now also work when
-       threading is used.
-       (gnus-summary-mode-map): Several key changes.
-
-       * nnml.el (nnml-request-expire-articles): Update active file as
-       well. 
-       * nnbabyl.el (nnbabyl-request-expire-articles): Ditto.
-       * nnfolder.el (nnfolder-request-expire-articles): Ditto.
-       * nnmbox.el (nnmbox-request-expire-articles): Ditto.
-
-       * nnmail.el (nnmail-tmp-directory): New variable.
-       (nnmail-move-inbox): Use it.
-
-       * nnvirtual.el (nnvirtual-update-marked): Would insert non-visible
-       component groups into the group buffer.
-
-       * nnmh.el (nnmh-get-new-mail): Don't create directories unless
-       mail reading is wanted.
-
-       * nnfolder.el (nnfolder-read-folder): Insert number of lines in
-       the article.
-
-       * gnus.el (gnus-group-unsubscribe-group): Would refuse to
-       subscribe to groups not in active file. 
-
-Thu Mar 23 13:23:45 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: Remove two calls to `debug'.
-
-       * gnus.el: 0.40 is released.
-
-Thu Mar 23 06:29:03 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.39 is released.
-
-Thu Mar 23 04:10:52 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el (gnus-mail-other-window-using-mail): Allow yanking, and
-       fix winconf on exit.
-       (gnus-group-faq-directory): Wrong default value.
-       (gnus-group-fetch-faq): Did not work.
-       (gnus-score-save): Would save score files even when there wasn't
-       one. 
-
-       * gnus-uu.el (gnus-uu-decode-uu-and-save): Use an uu default
-       directory. 
-
-       * nnfolder.el (nnfolder-read-folder): Would bug out if there was
-       no active file.
-
-       * gnus.el (gnus-ask-server-for-new-groups): Did not really work
-       for any backends.
-       (gnus-group-unsubscribe-group): Would not let you susbcribe to
-       killed groups.
-       (gnus-summary-catchup): Would not catchup expired articles. 
-
-Thu Mar 22 14:23:03 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.38 is released.
-
-Wed Mar 22 13:55:21 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nntp.el (nntp-send-mode-reader): Blocked reading of active list.
-
-Wed Mar 22 13:55:05 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: 0.37 is released. 
-
-Wed Mar 22 08:37:15 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * nntp.el (nntp-send-mode-reader): Actually send the mode reader
-       command. 
-
-Wed Mar 22 00:00:01 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-make-threads-and-expunge): Really, really expunge
-       low-scored articles. Right.
-       (gnus-make-threads): Simpler function to speed things up when
-       expunging is not needed.
-
-       * nnvirtual.el (nnvirtual-create-mapping): Would bug out in the
-       presence of bogus groups.
-
-       * nnspool.el (nnspool-possibly-change-directory): Don't error out
-       when errors occur, but return a message instead.
-
-       * nndoc.el (nndoc-possibly-change-buffer): Would bug out if the
-       file didn't exist.
-
-       * gnus.el (gnus-mark-xrefs-as-read): Handled crossrefs to groups
-       with no read articles strangely. Also didn't perform crossreffing
-       when select methods were only almost equal.
-       (gnus-make-articles-unread): Would bug out when nnmh was the
-       native server. 
-
-       * nnbabyl.el (nnbabyl-read-mbox): Did not properly label articles. 
-
-       * gnus.el (gnus-set-mode-line): Do unread-and-unticked by default. 
-       (gnus-summary-pop-article): New command and keystroke.
-       (gnus-mode-non-string-length): New variable.
-       (gnus-set-mode-line): Use it.
-       (gnus-score-mode): New mode to edit score files. 
-       (gnus-inews-date): Did the opposite thing of what it was supposed
-       to do with time zones.
-       (gnus-group-make-group): Don't prompt for address if that is
-       irrelevant. 
-
-Tue Mar 21 10:01:20 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnfolder.el (nnfolder-read-folder): Would only work if incoming
-       mail was split by Gnus.
-
-       * gnus.el (gnus-score-transform-old-to-new): Function for
-       rewriting old score files.
-       (gnus-score-expiry-days): Name change from
-       `gnus-kill-expiry-days'. 
-       (gnus-score-headers): All score functions rewritten to deal with
-       the new format.
-       (gnus-summary-goto-unread): New variable.
-       (gnus-summary-mark-forward): Use it.
-
-Tue Mar 21 04:50:05 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-mark-article): Low-scored articles in
-       auto-expirable grups should be expirable.
-
-Mon Mar 20 00:07:36 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-post-news): Also prompt for Subject, if that is
-       required. 
-       (gnus-global-score-files): New variable.
-       (gnus-score-score-files): Use it.
-       (gnus-score-save): Don't attempt to save read-only score files. 
-       (gnus-summary-mode-map): Score map error.
-       (gnus-score-load-score-alist): New function.
-       (gnus-summary-*-raise/lower-by-id): New commands and keystrokes
-       for raising/lowering by message-id. 
-
-       * nntp.el (nntp-request-post-buffer): Don't rely on any Gnus
-       variables. 
-
-       * gnus.el: Lots and lots of doc fixes.
-       (gnus-execute): Would not allow use from summary buffer.
-       (gnus-local-timezone): Removed variable.
-       (gnus-summary-followup): Don't display article.
-
-Sun Mar 19 04:34:30 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-activate-newsgroup): If a server can't be reached,
-       there's not much point in trying to request groups from it.
-       (gnus-mark-xrefs-as-read): Also do Xrefs to unsubscribed groups
-       unconditionally if virtual groups are used.
-
-       * nntp.el (nntp-open-server): Set up timeouts for connections. 
-       (nntp-connection-timeout): New variable.
-
-       * gnus.el (gnus-get-unread-articles): Allow activation of virtual
-       groups. 
-       (gnus-kill-file-mode): Reinstated most GNUS functions and took out
-       all gnus-raise/lower code.
-       (gnus-summary-mode): Doc fix. (Snicker.)
-       (gnus): Move startup hook backwards.
-       (gnus-articles-to-read): Use total-number as the default. 
-       (gnus-member-of-range): Minor inaccuracy.
-       (gnus-sorted-complement): New, faster function.
-       (gnus-articles-to-read): Use it.
-       (gnus-sorted-intersection, gnus-set-sorted-intersection): New
-       functions. 
-       (gnus-select-newsgroup): Use them.
-
-Sun Mar 19 02:46:15 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): Would leave extra
-       spaces before the Xref sometimes, causing problems for subsequent
-       Xref handling.
-
-Sun Mar 19 02:46:01 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el: 0.36 is released.
-
-Sun Mar 19 00:03:37 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): When NOV lines only
-       had seven tabs, this would deliver incorrect results.
-
-       * gnus.el (gnus-execute-1): Would not search through article
-       bodies. 
-       (gnus-summary-prepare-threads): 'empty was not properly respected. 
-
-       * nntp.el (nntp-open-server): Would bug out if server refused
-       connection. 
-
-       * gnus.el (gnus-make-threads): Expunge non-scored articles, if
-       wanted. 
-       (gnus-summary-prepare-threads): When not threading, expunge
-       nmon-scored, if wanted. 
-
-Sat Mar 18 23:39:47 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el (gnus-summary-insert-line): Would bug out if
-       gnus-summary-default-score was nil.
-       (gnus-inews-news): If `gnus-mail-courtesy-message' is nil, don't
-       append one. 
-
-Sat Mar 18 16:39:59 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-group-edit-group): Use pp.
-       (gnus-score-change-score-file): New command and keystroke. 
-
-       * nntp.el (nntp-request-post-buffer): Pass the request on to
-       nnmail if that is wanted.
-
-       * gnus.el (gnus-post-news): Send mail even when requesting post
-       when `to-address' is set.
-
-       * nntp.el (nntp-server-opened-hook): Doc fix.
-       (nntp-send-mode-reader, nntp-send-authinfo): New functions. 
-
-       * gnus.el (gnus-score-find-bnews): Would bug out when presented
-       with the file "SCORE". 
-
-Fri Mar 17 14:05:54 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-exit): Buffer-local vectors would not be
-       garbage-collected, leading to a major memory drain.
-
-Thu Mar 16 22:14:14 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-update-read-articles): Would mark ticked articles
-       not displayed as read.
-       (gnus-member-of-range): Also accept single-range ranges.
-       (gnus-get-unread-articles-in-group): Adjust ticked and dormant
-       articles before computing the number of unread articles. 
-       (gnus-summary-next-article): Would need an extra C-n before
-       moving to the right groups (sort of).
-
-Thu Mar 16 16:52:19 1995  Lars Magne Ingebrigtsen  <larsi@beli.ifi.uio.no>
-
-       * gnus.el: 0.35 is released.
-
-Thu Mar 16 15:47:33 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-read-descriptions-file): Changed pattern to
-       delete. 
-       (gnus-group-describe-group): Added "force" prefix.
-
-Thu Mar 16 00:08:23 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnvirtual.el (nnvirtual-create-mapping): Be more lenient with
-       component groups that can't be requested.
-
-       * nnml.el (nnml-possibly-change-directory): Don't signal errors.
-
-       * gnus.el (gnus-group-get-new-news-this-group): Display better
-       error messages when errors occur.
-
-       * nnspool.el (nnspool-request-group): Return an error message if
-       the group can't be selected.
-
-       * nntp.el (nntp-open-server): Don't bug out if getting a C-g while
-       waiting for initial contact.
-
-       * nnspool.el (nnspool-request-newgroups): Now also supported by
-       nnspool. 
-
-       * gnus-visual.el (gnus-group-make-menu-bar): -make-doc-group did
-       not exist.
-
-       * gnus.el (gnus-group-faq-directory): Missing leading slash. 
-
-       * nnfolder.el (nnfolder-request-list): The first time this is
-       called, create the active file.
-
-       * gnus.el (gnus-group-change-level): When subscribing to killed
-       groups with no articles, would enter wrong number of read
-       articles. 
-
-       * nnspool.el (nnspool-server-opened): Would return t even when not
-       opened. 
-
-Wed Mar 15 23:47:52 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-get-new-news-in-group): Give a sensible return
-       value. 
-       (gnus-group-get-new-news-this-group): Beep if group can't be
-       activated. 
-
-       * nnfolder.el (nnfolder-request-group): Complain if the group
-       doesn't exist.
-
-Wed Mar 15 19:14:47 1995  Lars Magne Ingebrigtsen  <larsi@beli.ifi.uio.no>
-
-       * gnus.el (gnus-summary-refer-article): Would behave strangely
-       when refering an article already present in the summary buffer.
-
-Wed Mar 15 17:53:14 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.34 is released.
-
-Wed Mar 15 00:53:47 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-post-news): Would bug out when posting from the
-       group buffer.
-
-       * gnus-uu.el (gnus-uu-grab-articles): Don't mark ticked (etc)
-       articles as read.
-
-       * gnus.el (gnus-find-method-for-group): Before no groups were
-       entered, a bug here would result in an incorrect error message
-       when the nntp server couldn't be contacted.
-       (gnus-summary-mode-map): Several changes.
-       (gnus-read-descriptions-file): Would delete lines that were valid. 
-
-Tue Mar 14 23:11:30 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-next-article): Enable the use of C-n and
-       C-p when choosing "next group" in the summary buffer.
-       (gnus-summary-recenter): Behaves in a slightly modified
-       fashion. Now also works with absolutely all sizes.
-
-Mon Mar 13 11:13:41 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-catchup): Would mark all as read, even if
-       to-here was non-nil.
-       (gnus-summary-catchup-to-here): Disable prompting.
-       (gnus-summary-update-lines): Do updateing even with gnus-visual
-       nil. 
-       (gnus-score-load-file): New atom - mark-and-expunge.
-
-       * nnmail.el (nnmail-split-methods): New semantics.
-       (nnmail-article-group): Use them.
-
-       * gnus.el (gnus-group-list-matching): Fix and bound to keys and
-       menus.
-       (gnus-group-list-all-matching): New command.
-       (gnus-group-sort-groups): Would make all groups disappear. 
-
-       * (-request-move-article, -request-accept-article): Only do saving
-       after the last article has been moved.
-
-       * nnml.el (nnml-save-nov): Only save modified buffers.
-
-       * gnus.el (gnus-summary-move-article): Only save nov files once
-       when moving many articles.
-       (gnus-post-news): Did not allow interactive calls. 
-
-Sun Mar 12 16:52:50 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-mail-forward-using-mail): Would not bind
-       `gnus-mail-send-and-exit' to `C-c C-c'.
-
-Sun Mar 12 16:30:28 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: 0.33 is released.
-
-Sun Mar 12 09:42:11 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-prepare-threads, gnus-make-threads):
-       Really expunge all low-marked articles if that is wanted.
-       (gnus-score-score-files): Would bug out if `gnus-use-long-names'
-       was nil and no score file exists.
-
-Sat Mar 11 19:14:05 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-toggle-threads): Go to the last article if
-       none is present on the current line.
-       (gnus-summary-prepare-threads): Cull dormant and low-scored
-       articles when displaying non-threaded summary buffers.
-       (gnus-post-news, gnus-mail-reply-using-mail): Respect
-       `gnus-use-full-window'. 
-       (gnus-summary-copy-article): New command and keystroke.
-
-Fri Mar 10 05:24:11 1995  Lars Ingebrigtsen  <lmi@eyesore.no>
-
-       * gnus.el: 0.32 is released.
-
-Fri Mar 10 05:24:11 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-next-article, gnus-summary-prev-article,
-       gnus-summary-prev-group):  New implementations.
-       (gnus-article-prepare): The summary mode line would say "1 unread"
-       when there were none.
-       (gnus-summary-toggle-header): Did not hide headers after using
-       MIME. 
-       (gnus-check-bogus-newsgroups): Removed checking for duplicate
-       killed groups. 
-       (gnus-check-duplicate-killed-groups): New function.
-       (gnus-summary-update-mark): Allow summary-clear-mark to clear even
-       the low-score-mark.
-       (gnus-check-first-time-used): Don't re-subscribe default groups
-       when re-scanning, before creating the .newsrc files.
-
-       * gnus-uu.el (gnus-uu-decode-save): Insisted on saving to an
-       existing file. 
-
-Thu Mar  9 08:44:18 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnfolder.el (nnfolder-request-move-article): Did not work.
-
-       * nnmbox.el (nnmbox-request-move-article): Did not work at all. 
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): Did not properly
-       translate xrefs from foreign groups.
-
-Mon Mar  6 06:13:26 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-fetch-faq): New command and keystroke. 
-       (gnus-group-faq-directory): New variable.
-       (gnus-group-fetch-faq): New command and keystroke.
-       (gnus-apply-kill-file): No longer calls expunge-below.
-
-       * nntp.el (nntp-request-group-description): New function.
-
-       * gnus.el (gnus-extract-address-components): Understands some
-       formats better.
-       (gnus-cut-thread): Make sure all expunged articles are marked as
-       read. 
-       (gnus-group-sort-groups): New command and keystroke.
-       (group-group-sort-by-alphabet, gnus-group-sort-by-unread,
-       gnus-group-sort-by-level): New functions.
-       (gnus-group-sort-function): New variable.
-       (gnus-group-describe-group): Use XGTITLE for group descriptions.
-       (gnus-group-get-description): New function.
-       (gnus-request-group-description): New function.
-
-       * nnmbox.el (nnmbox-request-move-article): Did not work and would
-       destroy the active list.
-
-       * gnus.el (gnus-score-load-file): Add a 'touched to the alist if
-       there isn't one already.
-       (gnus-score-save): Remove 'touched before writing score file. 
-       (gnus-score-find-bnews): Always return the local score file, even
-       if it doesn't exist.
-       (gnus-score-load-file): Really execute special atoms.
-       (gnus-score-set, gnus-score-get): Return to the old definitions of
-       these functions.
-       (gnus-cut-thread): Cut dormant and ancient articles from the
-       threads. 
-       (gnus-summary-show-all-dormant): New implementation.
-       (gnus-summary-hide-all-dormant): New command and keystroke.
-       (gnus-make-threads): Now expunges articles with low scores. 
-       (gnus-summary-show-all-expunged): New implementation.
-       (gnus-summary-catchup): Did not mark expunged articles as read. 
-
-Sun Mar  5 01:29:49 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-mark-article): Also auto-expire caught up
-       articles. 
-       (gnus-group-make-kiboze-group): Would produce incorrect score
-       files. 
-       (gnus-group-insert-group-line): Would scroll the top off the
-       screen. 
-
-Sat Mar  4 02:32:11 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-summary-read-group): Would do strange stuff to the
-       window configuration when not using full screen.
-       (gnus-get-unread-articles-in-group): Check for illegal read
-       numbers. 
-
-       * gnus-uu.el (gnus-uu-save-files): Would bug if the file already
-       existed.
-
-Sat Mar  4 00:32:07 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-mark-xrefs-as-read): Would compute the wrong
-       number of unread articles.
-
-Fri Mar  3 23:52:28 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-group-search-forward): Would ignore level 5
-       groups. 
-
-Fri Mar  3 00:41:42 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * nnml.el (nnml-request-group): Would not work if the active file
-       was changed from without.
-
-       * gnus.el (gnus-summary-move-article): Have the group prefix be
-       the initial string.
-       (gnus-group-edit-group-done): pop instead of switch to edit
-       buffer. 
-       (gnus-group-set-info): Now also accepts group name changes.
-       (gnus-group-prepare-flat): Sort killed and zombie groups.
-       (gnus-extract-address-components): New variable.
-       
-       * gnus.el: 0.31 is released
-
-Thu Mar  2 01:57:30 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-refer-article-method): New variable.
-       (gnus-summary-refer-article): Use it.
-       (gnus-find-method-for-group): Use the results of the usage. 
-       (gnus-request-article-this-buffer): Use it even more.
-       (gnus-group-mode-map): make-directory-group and make-doc-group
-       have moved.
-       (gnus-group-make-doc-group): Check whether the doc group exists
-       before creating it.
-       (gnus-group-make-kiboze-group): New command and keystroke.
-
-       * nnfolder.el: New one-file one-group mail backend.
-
-       * nnmail.el (nnmail-move-inbox): Would occationally kill a random
-       buffer. Just to keep the users on their toes. Just for the heck of
-       it. 
-
-       * nnvirtual.el (nnvirtual-create-mapping): Would barf if component
-       groups were unactivated.
-       (nnvirtual-retrieve-headers): Would deliver incorrect Xrefs if
-       component groups were foreign.
-
-       * gnus.el (gnus-summary-insert-pseudos): Use the `not-confirm'
-       value of gnus-view-pseudos.
-       (gnus-group-suspend): Don't kill the dribble buffer.
-
-Wed Mar  1 20:58:35 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-save-newsrc-file): Would bug after suspending.
-
-Wed Mar  1 17:01:49 1995  Lars Magne Ingebrigtsen  <larsi@visbur.ifi.uio.no>
-
-       * gnus.el (gnus-article-remove-cr): Didn't set read-only to nil.
-       (gnus-browse-foreign-server): Ignore the groups that should be
-       ignored. 
-
-       * nnspool.el (nnspool-retrieve-headers-with-nov): Misplaced paren.
-       (nnspool-nov-directory): New variable.
-       (nnspool-retrieve-headers-with-nov): Use variable.
-
-       * gnus.el (gnus-inews-domain-name): Try to guess the domain name
-       from (system-name) if all else fails.
-       (gnus-score-find-bnews): Get even that trailing "/" deleted from
-       the kill file dir name.
-
-Wed Mar  1 17:01:25 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el: 0.30 is released.
-
-Wed Mar  1 00:16:38 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-unique-id): New message-id look.
-
-       * nnml.el (nnml-request-group): Returned nothing if called without
-       having been pre-activated by the presence of new mail.
-
-       * gnus.el (gnus-group-prepare-flat): Did not list groups with only
-       ticked articles.
-       (gnus-update-read-articles): Miscalculated number of unread
-       articles. 
-       (gnus-summary-line-format-alist): %N defined as a number.
-       (gnus-summary-exit): When `gnus-use-full-window' was nil, strange
-       stuff would happen.
-       (gnus-subscribe-newsgroup): Bugged out on near-empty group
-       buffers. 
-       (gnus-check-new-newsgroups): Can now specify a list of select
-       methods to be asked.
-       (gnus-group-set-current-level): Advance after setting level.
-       (gnus-view-pseudos): New value: not-confirm, for totally automatic
-       viewing. 
-       (gnus-get-new-news-in-group): Would break on killed groups.
-       (gnus-update-read-articles): Would break on non-active groups.
-
-Tue Feb 28 22:56:22 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-select-newsgroup): Kill the summary buffer if the
-       group can't be entered.
-
-       * nnml.el (nnml-request-group): Occationally replied nil.
-
-       * gnus.el (gnus-group-make-doc-group): Did not work at all.
-       (gnus-summary-enter-digest-group): Would mess with
-       `gnus-newsrc-assoc'. 
-
-Tue Feb 28 19:16:05 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * nnkiboze.el (nnkiboze-request-group): Would bug on empty groups. 
-
-Tue Feb 28 18:12:30 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el: 0.29 is released.
-
-Tue Feb 28 00:25:04 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-group-prepare-function): New variable.
-
-       * nnml.el (nnml-request-group): Faster implementation.
-
-       * gnus.el: All y-or-n-p's and yes-or-no-p's delete their messages
-       from the echo area.
-
-       * nnselect.el: New backend.
-
-       * gnus.el (gnus-batch-score): Can now also be used interactively. 
-
-Mon Feb 27 17:22:54 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-update-format-specifications): Would read active
-       file when %D was in the group line spec unconditionally.
-       (gnus-group-make-doc-group): Look through path for doc group. 
-       (gnus): Don't show describe-briefly.
-
-Mon Feb 27 14:52:48 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-use-dribble-file): New variable.
-
-Sun Feb 26 19:42:24 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnbabyl.el: New backend for reading rmail files.
-
-       * nnml.el (nnml-request-replace-article): Update nov lines after
-       accepting an edited article.
-
-       * gnus.el (gnus-update-summary-mark-positions): The user can now
-       also specify where the marks are to go (with some limits).
-
-Sat Feb 25 19:14:40 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnvirtual.el (nnvirtual-update-marked): Handles all marks
-       properly (again).
-
-       * gnus.el (gnus-start-news-server): Would not accept non-nntp
-       select methods interactively.
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): Pass on NOV lines
-       instead of HEADers to Gnus.
-       (nnvirtual-convert-headers): Convert HEADers, if nnvirtual is
-       handed them, into NOV lines.
-
-       * nntp.el (nntp-retrieve-headers-with-xover): Would reply t the
-       first time used, even if the server wasn't XOVER capable.
-
-Sat Feb 25 16:44:26 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el (gnus-group-list-zombies): Let the user know if there
-       are no zombie groups.
-
-Sat Feb 25 16:01:13 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el: 0.28 is released.
-
-Sat Feb 25 16:01:13 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-exit): Kill expunged buffer on exit.
-
-Sat Feb 25 13:44:56 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-group-unsubscribe-group): Don't require a matching
-       name if the active have haven't been read.
-       (gnus-article-word-wrap): And all the other article functions
-       didn't set buffer-read-only to nil first.
-       (gnus-sorted-header-list): Added To: to the list of default
-       visible headers.
-       (gnus-score-set): Always enter scores into the local score file. 
-       (gnus-summary-raise-thread): Update mode line.
-
-Sat Feb 25 01:38:07 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnvirtual.el: Rewrite. Got rid of that pesky vector. Also enable
-       reading read articles from the source groups.
-
-Fri Feb 24 22:30:38 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-options-subscribe, gnus-options-not-subscribe):
-       New variables.
-       (gnus-parse-options-lines): Use new variables.
-
-Fri Feb 24 18:32:38 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-group-describe-all-groups): Did not work.
-
-Fri Feb 24 17:34:55 1995  Lars Magne Ingebrigtsen  <larsi@gymisr.ifi.uio.no>
-
-       * gnus.el: 0.26 is released.
-
-       * nntp.el (nntp-maximum-request): Set to 400.
-
-       * gnus.el (gnus-summary-search-article): Would bug if executed
-       at the end of the buffer.
-
-Fri Feb 24 00:03:04 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-insert-pseudos): Insert pseudo-articles
-       after the articles from whence they came.
-       (gnus-group-make-doc-group): New command and keystroke.
-       (gnus-check-first-time-used): Subscribe to the doc group if this
-       is the first time used.
-
-       * gnus-uu.el (gnus-uu-grab-articles): Have article numbers
-       associated with pseudos.
-
-       * gnus.el (gnus-group-list-groups): The group buffer would
-       sometimes be killed at this point.
-
-       * nndoc.el: New backend for reading a single mbox-like file as one
-       newsgroup. 
-
-       * nndigest.el (nndigest-close-group): Kill the nndigest group
-       buffer. 
-
-       * gnus.el (gnus-configure-windows): Summary and article buffers
-       would spuriously change to buffer-read-only nil.
-       (gnus-summary-work-articles): Would sort instead of reverse the
-       list of processable articles.
-
-Thu Feb 23 23:30:14 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-read-mark): Both `R' and `D' marks. 
-
-       * nnmbox.el ('nnmbox-request-post-buffer): Cyclic definition.
-
-       * gnus.el (gnus-summary-mail-forward): Would not restore window
-       configuration properly after sending mail.
-
-Thu Feb 23 16:09:54 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el: 0.25 is released.
-
-Thu Feb 23 10:20:46 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-enter-digest-group): New command.
-       (gnus-summary-mode-map): `E' - expiry, `e' - edit article.
-
-       * nndigest.el: New backend.
-
-       * gnus.el (gnus-mark-xrefs-as-read): Would not mark xrefs as read
-       when select methods were similar.
-       (gnus-group-insert-group-line): %t did not work properly in the
-       specs. 
-       (gnus-score-hierarchical): Removed variable.
-       (gnus-score-find-single, gnus-score-find-hierarchical): New
-       functions. 
-       (gnus-score-find-bnews): Renamed function.
-       (gnus-score-headers): Call these new functions from here.
-       (gnus-summary-move-article): Remove any process marks.
-       Removed all old digest functions.
-
-Thu Feb 23 09:49:46 1995  Lars Magne Ingebrigtsen  <larsi@drott.ifi.uio.no>
-
-       * gnus.el (gnus-summary-mode-map): `M H' for
-       gnus-summary-catchup-to-here. 
-
-       * gnus-uu.el (gnus-uu-mark-all): Would loop indefinitely.
-
-       * gnus.el (gnus-summary-mode-map): `e' sets the expiry mark.
-
-Wed Feb 22 17:32:37 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-activate-newsgroup): Make Gnus take heed of server
-       ports. 
-       (gnus-summary-raise-by-subject & friends): Remove "Re: " from
-       subjects by default.
-       (gnus-summary-mode-map): Changed `M C-d' and `M C-s' to `M D' and
-       `M S'.
-
-Wed Feb 22 10:12:14 1995  Lars Magne Ingebrigtsen  <larsi@drott.ifi.uio.no>
-
-       * gnus.el (gnus-summary-mode-map): Changed `M-d' and `C-M-d' back
-       to `x' and `X'.
-       (gnus-summary-quit): Would kill the group buffer.
-       (gnus-summary-exit): `gnus-exit-group-hook' was not allowed to
-       fiddle with important variables.
-       (gnus-summary-search-group): Would select groups that had no
-       unread articles.
-       
-       * gnus.el: 0.24 is released
-
-Sun Feb 19 08:02:38 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-read-group): Did not configure windows
-       properly. 
-       (gnus-summary-hide-thread): Would not properly hide all threads. 
-       (gnus-summary-next-group): `n' on the last article, and then 0
-       articles would return to an empty group buffer.
-
-       * gnus.el: 0.23 released.
-
-Sat Feb 18 15:11:39 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-mark-xrefs-as-read): Use gnus-use-cross-references
-       as it was meant to be used.
-       (gnus-score-load): Don't check for special members in
-       gnus-score-alist. 
-
-Sat Feb 18 11:22:05 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-post-news): Don't insert any Bcc if it already
-       exists. 
-
-       * gnus.el: 0.21 released
-
-Sat Feb 18 04:47:50 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-article-header-hook): New hook.
-
-Fri Feb 17 08:40:18 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-followup-and-reply,
-       gnus-summary-followup-and-reply-with-original): New functions and
-       keystrokes for sending both followup and reply.
-
-       * nntp.el (nntp-request-post-buffer): 'ask setting on
-       gnus-auto-mail-to-author. 
-
-       * gnus.el (gnus-inews-article): Use the foreign server to post the
-       article if a prefix is given to `gnus-inews-news'.
-
-       * gnus-uu.el: New automatic view commands and keystrokes.
-       (gnus-uu-mark-series): New function and keystroke.
-       (gnus-uu-mark-all): New function and keystroke.
-
-       * gnus.el (gnus-group-search-forward): Did not go to next group
-       with unread articles, just went to the next group.
-       (gnus-article-prepare): Mark cancelled articles as such.
-       (gnus-request-replace-article): Functions for replacing an article
-       in all mail backends.
-       (gnus-summary-edit-article): Function and keystroke for editing a
-       (mail) article.
-       (gnus-group-best-unread-group): New command and keystroke.
-       (gnus-keep-same-level): Now supports `best' as a value to go to
-       the "best" next newsgroup.
-       (gnus-mark-xrefs-in-unsubscribed): New variable.
-       (gnus-mark-xrefs-as-read): Use the new variable.
-       (gnus-group-add-group): Adding a group in an empty group buffer
-       bugged. 
-       (gnus-summary-hide-all-threads): Would loop indefinitely.
-       (gnus-view-pseudos): New variable for automatic pseudo-article
-       viewing. 
-
-       * nnmail.el (nnmail-request-post-buffer): Have followups go to
-       From, To and Cc.
-       
-       * gnus.el: When switching between many summary buffers, the
-       gnus-summary-buffer variable would sometimes point to the wrong
-       buffer, in some functions.
-
-       * gnus.el (gnus-group-insert-group-line): Would by when using
-       %num,numD type of format specs on numbers.
-
-Fri Feb 17 05:06:28 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-mail-reply-using-mail): Don't remove all text
-       properties from headers, just invisible.
-
-Thu Feb 16 04:21:19 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-group-browse-foreign-server): Did not intern the
-       select method.
-       (gnus-summary-search-subject): Don't ignore hidden articles.
-       (gnus-make-directory): Would not properly create new directories. 
-       (gnus-mail-reply-using-mail): Include Cc's when replying.
-       (gnus-adjust-marked-articles): Infinite loop.
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): Would not allow
-       people to enter groups.
-
-       * gnus-mh.el (gnus-mail-other-window-using-mhe): Tried to fetch
-       subject where none was to be fetched.
-
-       * gnus.el (gnus-browse-read-group): Movement commands did not
-       work. 
-       (gnus-score-interactive-default-score): New variable, default
-       1000. 
-
-Thu Feb 16 01:37:30 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnmail.el (nnmail-move-inbox): Now (probably) supports
-       popmail. (Function taken from rmail.el).
-
-       * gnus.el (gnus-mark-xrefs-as-read): If a mail article is marked
-       as expirable, the cross-reffed articles will also be marked as
-       expirable. 
-       (gnus-summary-mode-map): Changed all keybindings back to the GNUS
-       4.1 bindings. All new keybindings are now at S-letter.
-
-Wed Feb 15 06:44:14 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-score-find-score-files-function): New variable.
-       (gnus-summary-display-article): Don't configure to article buffer
-       if it isn't wanted.
-
-       * nntp.el (nntp-default-sentinel): Don't signal an error if a
-       connection closes.
-
-       * gnus.el (gnus-score-file-suffix): Renamed gnus-score-file-name. 
-
-Mon Feb  6 15:44:42 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-configure-windows): Bury the group buffer
-       somewhat. 
-       (gnus-mail-reply-using-mail): Don't bind `C-c C-y' to anything in
-       the mail buffer.
-
-       * nndir.el (nndir-retrieve-headers): Retrieve with NOV, if that is
-       posssible. 
-
-Sun Feb  5 21:15:45 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: Introduction of pseudo-articles. Changes throughout
-       Gnus.
-
-       * gnus-uu.el: Rewrite. New keymap and new interface.
-
-       * gnus.el (gnus-get-newsgroup-headers): Would barf on In-Reply-To
-       headers. 
-
-Sat Feb  4 18:16:21 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-uu.el (gnus-uu-get-list-of-articles): Would not get list of
-       articles. 
-
-Sat Feb  4 13:47:14 1995  Lars Magne Ingebrigtsen  <larsi@hnoss.ifi.uio.no>
-
-       * gnus.el (gnus-summary-quit): Did not the kill summary buffer.
-
-       * gnus-visual.el (gnus-visual-highlight-selected-summary): Limit
-       the highligting to the same area highligted by mouse-face.
-
-Sat Feb  4 09:49:31 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-build-get-header): Faster searching.
-
-Fri Feb  3 18:25:42 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-newsgroup-ancient): New variable.
-       (gnus-summary-local-variables): Initialize it.
-       (gnus-build-get-header): Build it.
-       (gnus-trim-thread): New function.
-       (gnus-make-threads): Call it.
-       (gnus-ancient-mark): New variable.
-       (gnus-summary-prepare-threads): Use it.
-       (gnus-fetch-old-headers): Updated documentation.
-
-Mon Jan 30 05:11:47 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-articles-to-read): Don't inform the user if the
-       only scored articles are tiched or dormant.
-
-Sat Feb  4 09:39:21 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-read-init-file): Also load .gnus.el and .gnus.elc. 
-
-       * gnus.el: Removed the last vestiges of the invisible text in the
-       group and summary buffers.
-
-Fri Feb  3 19:27:29 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-group-make-directory-group): New command and
-       keystroke. 
-       (gnus-subscribe-hierarchical-interactive): Would not let you
-       subscribe to anything.
-       (gnus-get-newsgroup-headers): Would barf when presented with
-       message-id-less articles.
-
-       * nndir.el: New backend for reading directories.
-
-Thu Feb  2 17:42:51 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-group-prepare): Zombie and killed groups could not
-       be chosen.
-       (gnus-group-search-forward): Didn't return nil when no group was
-       found. 
-       (gnus-summary-prepare): Sorting was done after gathering loose
-       threads, so the losse threads were not sorted properly.
-
-Thu Feb  2 15:31:11 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el: Implemented support for SCORE files.
-
-Thu Feb  2 17:23:17 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-group-list-groups): Don't go to the first group
-       after listing.
-       (gnus-group-list-groups): Go to the first unread group at startup,
-       not the second.
-
-Tue Jan 31 15:13:10 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-full-address): Use the full machine name in
-       the message-ids.
-       (gnus-get-unread-articles-in-group): Groups that have no articles
-       are marked as such.
-
-       * nnmail.el (nnmail-article-group): Catch regexp overflow errors. 
-
-       * gnus.el (gnus-update-read-articles): Would not update virtual
-       groups. 
-       (gnus-mail-send-and-exit): Don't return to the Gnus window
-       configuration from the mail buffer if Gnus isn't active.
-       (gnus-summary-next-group): Go to the group buffer if the user
-       answers "0" after selecting a new group from a different group. 
-       (gnus-select-newsgroup): Catch up properly if the only articles in
-       a group have expired.
-
-Tue Jan 31 08:01:19 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-kill): Arguments to `gnus-days-between' was
-       swapped. 
-
-Tue Jan 31 07:09:36 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-pp-gnus-kill): Don't quote quoted objects.
-
-Tue Jan 31 05:51:52 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus): Check whether Gnus has been started already. If
-       so, don't re-start, just switch to the buffer and get new news.
-       (gnus-batch-score): Didn't work.
-
-       * nnspool.el (nnspool-nov-is-evil): New variable.
-       (nnspool-lib-dir): New variable.
-       (nnspool-retrieve-headers-with-nov): nnspool can now return NOV
-       lines instead of plain article headers.
-
-       * nntp.el (nntp-nov-is-evil): Changed name of `nntp-xover-is-evil'
-       to `nntp-nov-is-evil'.
-
-Mon Jan 30 12:27:30 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-search-subject): Would go to the first
-       article when searching backward.
-       (gnus-gather-threads): When gathering loose threads, they would be
-       gathered in reverse order.
-       (gnus-summary-prev-article): Did retrieve old articles when
-       executed on the first article in the buffer.
-       (gnus-read-header): Would not read old headers when requested one
-       by one.
-
-       * gnus.el: Converted all mark variables from strings to characters.
-
-Sun Jan 29 05:56:51 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-select-group-hook): Remove description of how to
-       sort, since it doesn't work.
-       (gnus-make-sub-thread): Removed silly lambda expression.
-       (gnus-thread-sort-functions): New variable.
-       (gnus-make-threads): Do not sort here.
-       (gnus-thread-sort-by-number): New function.
-       (gnus-thread-sort-by-author): New function.
-       (gnus-thread-sort-by-subject): New function.
-       (gnus-thread-sort-by-date): New function.
-       (gnus-thread-sort-by-score): New function.
-       (gnus-thread-sort-by-total-score): New function.
-       (gnus-thread-total-score): New function.
-       (gnus-thread-header): New function.
-       (gnus-sort-threads): New function.
-       (gnus-summary-prepare): Sort here.
-
-Sat Jan 28 18:44:09 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-articles-to-read): Provide default values instead
-       of initial input.
-
-Mon Jan 30 01:41:43 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-mark-article-hook): Don't mark expirable articles
-       as read when selecting them.
-       (gnus-summary-mode): Removed " Thread" from the summary mode line.
-       (gnus-inews-message-id): Use domain name instead of host name in
-       message-ids.
-
-Sun Jan 29 09:37:31 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-apply-kill-file): Update dates when expiring
-       kills. 
-       (gnus-article-mode): Changed all the mode lines to really use a
-       buffer-local spec.
-       (gnus-group-search-forward): gnus-keep-same-level now works. 
-
-       * gnus.el: Got rid of all the invisible text and changed all the
-       functions to use text properties.
-
-Sat Jan 28 03:13:13 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-inews-insert-headers): Remove any old
-       NNTP-Posting-Host headers.
-       (gnus-group-catchup): Mark dormant as read.
-
-Fri Jan 27 20:50:07 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-inews-news): Make followups default to all groups.
-
-Fri Jan 27 20:07:31 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-summary-prepare-threads): Move assignment to
-       `gnus-tmp-prev-subject' to after the check for equality with
-       `subject'. 
-
-Thu Jan 26 15:47:35 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-set-mouse-face): New function.
-       (gnus-parse-format): New function.
-       (gnus-parse-simple-format): Renamed from `gnus-parse-format'.
-       (gnus-group-insert-group-line): Do not set mouse face here.
-       (gnus-summary-insert-line): Do not set mouse face here.
-       (gnus-group-line-format): Add mouse face delimiters.
-       (gnus-summary-line-format): Add mouse face delimiters.
-       (gnus-update-format-specifications): Don't depend on
-       `gnus-group-line-format-spec' being a simple list.
-
-Tue Jan 24 20:18:42 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-clear-system): Kill global KILL file.
-
-Tue Jan 24 14:43:33 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-inews-insert-headers): Only check if first
-       `gnus-summary-gather-subject-limit' characters are the same.
-
-Mon Jan 23 22:18:56 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-summary-update-line): Protect call to
-       `gnus-summary-mark-article' with `save-excursion'.
-
-Sat Jan 28 00:55:19 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el (gnus-extract-address-components): Would fail if the
-       address contained special characters.
-
-Fri Jan 27 04:45:09 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-active-to-gnus-format): Condition-cased the active
-       file reading to be a bit more lenient with active files.
-       (gnus-group-get-new-news): Would always request info on each
-       individual group, even when the active file has been read.
-
-Thu Jan 26 00:16:45 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-unique-id): Check for illegal characters in
-       the user name.
-       (gnus-summary-set-score): Removed the invisible score from the
-       summary lines. (assq article-number gnus-newsgroup-scored) can be
-       used instead.
-       (gnus-add-to-range): Would not give the right result if the ranges
-       did not start at 1.
-
-Wed Jan 25 02:49:39 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-move-article): Would not properly respool
-       articles. 
-       (gnus-pp-gnus-kill): Removed (quote) from where it wasn't needed. 
-
-       * nnml.el (nnml-request-accept-article): Wouldn't do anything
-       much. 
-       (nnml-request-move-article): Would not properly move an article.
-
-       * gnus.el (gnus-apply-kill-file): Don't score already scored
-       articles. 
-       (gnus-newsgroup-scored): New list of articles.
-       (gnus-select-newsgroup, gnus-articles-to-read): Changed to take
-       into account previously scored articles, if any.
-
-Tue Jan 24 00:19:11 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-organization): If organization is wanted,
-       and no organization is found, the user will be prompted for one. 
-       (gnus-inews-check-post): Bug in checking for multuple headers.
-       (gnus-inews-check-post): Check for version and sendsys.
-       (gnus-inews-insert-signature): Don't insert stuff that looks like
-       file names in signatures.
-
-       * nntp.el (nntp-request-article): unwind-protect the article
-       fetching. Might have caused bugs elsewhere.
-
-       * gnus.el (gnus-inews-organization): New implementation. The
-       `gnus-local-organization' variable can now also be a function.
-       (gnus-inews-check-post): Check for multiple headers.
-       (gnus-check-bogus-newsgroups): Would not remove bogus dead groups. 
-
-Mon Jan 23 23:49:15 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-user-name): Use `user-mail-address' only as
-       a last resort.
-
-Mon Jan 23 19:40:02 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-build-get-header): Did not work with multiple
-       articles with the same message-id.
-       (gnus-inews-organization): Remove trailing newlines.
-
-       * nnspool.el (nnspool-find-article-by-message-id): Grep for
-       message-ids instead of loading the entire history file.
-
-Mon Jan 23 18:59:27 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus-visual.el (gnus-visual-summary-highlight): Use and document
-       free variables. 
-       (gnus-visual-summary-highlight-line): Remove unnecessary test for
-       `gnus-visual' and add workaround face changes in start of line.
-
-Mon Jan 23 18:48:31 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * nnmbox.el (nnmbox-read-mbox): Fix for no newsgroups.
-
-       * gnus.el (gnus-ask-server-for-new-groups): Did not work. :-)
-       (gnus-summary-make-false-root): This variable has now swallowed
-       the functionality of `gnus-gather-loose-threads'.
-
-Mon Jan 23 18:03:21 1994  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-group-unsubscribe-current-group): Would go two
-       steps forward.
-
-Mon Jan 23 17:09:10 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * nnmail.el (nnmail-insert-lines): Compute a new Lines header and
-       remove any old ones.
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): Removed checking for
-       multiple articles with the same ID.
-
-       * gnus.el (gnus-get-newsgroup-headers): Ignore multiple articles
-       with the same Message-ID.
-       (gnus-get-newsgroup-headers-xover): The same.
-
-Mon Jan 23 00:42:33 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-insert-headers): Ask when empty headers
-       are detected.
-       (gnus-cancel-news): Avoid sending an empty cancel message.
-       (gnus-signature-function): New variable to return a signature file
-       name. 
-       (gnus-inews-insert-signature): Now warns the user if the signature
-       is more than 4 lines long. Also uses `gnus-signature-function'.
-       Also, if the string isn't a file name, the string itself is
-       inserted as a signature.
-       (gnus-inews-insert-signature): If mail-signature has already
-       inserted a .sig, delete this and insert Gnus' own.
-       (gnus-inews-check-post): Warn the user if the article to be posted
-       is more than 60k long.
-       (gnus-inews-insert-headers): Insert Sender header if the From
-       header doesn't seem to be the name of the user that posts.
-       (gnus-inews-check-post): Check for control characters.
-       (gnus-inews-insert-headers): Added "_-_" to message-id if the
-       thread has changed name.
-
-Sun Jan 22 02:37:06 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-article-prepare): Mark cancelled articles as
-       cancelled. 
-       (gnus-summary-expire-articles): Mark expired articles as
-       cancelled. 
-       (gnus-inews-insert-signature): Changed .sig predix from "--" to
-       "-- ".
-       (gnus-article-display-hook): Added "treat overstrike" to the
-       default display hook.
-       (gnus-inews-date): Changed to generate a valid date.
-
-       * nnmbox.el (nnmbox-request-article): Don't include the "From "
-       line when returning an article.
-
-       * nnmh.el (nnmh-save-mail): Rename "From " lines.
-
-       * nnml.el (nnml-save-mail): Rename "From " lines. 
-
-       * gnus.el (gnus-gnus-to-newsrc-format): Don't write foreign groups
-       to .newsrc.
-       (gnus-summary-remove-lines-marked-as-read,
-       gnus-summary-remove-lines-marked-with): Renamed functions 
-       from *-delete-marked-*.
-       (gnus-check-new-newsgroups): New possible value: `ask-server'.
-       (gnus-ask-server-for-new-groups): Ask the server for new groups
-       instead of comparing the killed list and the active hashtb. 
-       (gnus-parse-newsrc-body): Parse ! and : in the way they are
-       supposed to be parsed.
-       (gnus-get-unread-articles): Now works with any combination of
-       startup level, gnus-read-active-file status and
-       gnus-activate-foreign-newsgroup level.
-
-Sat Jan 21 21:27:23 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnvirtual.el: Big rewrite.
-       (nnvirtual-update-marked): Now updates marks in source groups.
-       (nnvirtual-create-mapping): Use marks from source groups.
-       (nnvirtual-possibly-change-newsgroups): Several nnvirtual groups
-       may be active at the same time. nnvirtual groups can also include
-       other nnvirtual groups.
-
-       * gnus.el (gnus-add-marked-articles): New function,
-
-Sat Jan 21 15:22:51 1995  Lars Magne Ingebrigtsen  <larsi@hnoss.ifi.uio.no>
-
-       * gnus.el (gnus-mark-xrefs-as-read): Would mark xreffed articles
-       that were ticked (or dormant) as read.
-       (gnus-summary-refer-parent-article): Now understands the numeric
-       prefix. 
-       (gnus-build-get-header): Would make it impossible to select old
-       fetched articles.
-
-       * gnus-visual.el (gnus-article-make-menu-bar): Added all treatment
-       functions to a menu.
-
-       * gnus.el (gnus-close-group): New backend call to perform
-       cleanups. 
-       (gnus-article-de-quoted-unreadable): New article treatment
-       function. 
-
-Sat Jan 21 01:15:26 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnmail.el (nnmail-article-group): Don't enter a mail into the
-       same mail group twice,
-
-       * gnus.el (gnus-build-old-threads): Don't build old threads
-       backwards from dormant articles.
-
-Fri Jan 20 23:31:16 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-mark-article): Changed the expiry mark. It
-       is now a "read" mark, and occupies the same position as the other
-       read marks ("DX+- "). 
-
-Fri Jan 20 19:19:01 1995  Lars Magne Ingebrigtsen  <larsi@drott.ifi.uio.no>
-
-       * gnus.el (gnus-get-unread-articles): Did not properly activate
-       foreign newsgroups.
-
-Fri Jan 20 18:49:58 1995  Lars Magne Ingebrigtsen  <larsi@drott.ifi.uio.no>
-
-       * gnus.el (gnus-group-list-matching): New function and keystroke.
-
-Tue Jan 17 19:19:30 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-summary-keysort-summary,
-       gnus-summary-sort-summary, gnus-keysort-headers, gnus-keysort,
-       gnus-sort-headers, gnus-string-lessp, gnus-date-lessp): Deleted.
-       (gnus-sortable-date): New function.
-       (gnus-summary-sort-by-date, gnus-summary-sort-by-subject,
-       gnus-summary-sort-by-author, gnus-summary-sort-by-number): Use it.
-       (gnus-summary-sort-by-score): New function.
-       (gnus-summary-mode-map): Bind it.
-       (gnus-select-group-hook): Updated documentation.
-
-       * gnus.el (gnus-summary-best-unread-article): New function.
-       (gnus-summary-mode-map): Add binding.
-       (gnus-summary-mode): Document it.
-
-Mon Jan 16 15:49:37 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-summary-gather-subject-limit): New variable.
-       (gnus-gather-threads): Use it.
-
-       * nntp.el (nntp-request-post-buffer): Support
-       `gnus-auto-mail-to-author'.
-
-       * gnus.el (gnus-mail-self-blind): New variable.
-       (gnus-post-news): Use it.
-       (gnus-inews-news): Recognize "BCC" field.
-
-Thu Jan 19 21:37:33 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-build-old-threads): Fetch old headers and build
-       complete threads.
-
-Wed Jan 18 08:36:26 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnmh.el: Rewrite.
-
-       * gnus.el (gnus-get-newsgroup-headers): New implementation. Twice
-       as fast.
-
-       * nnmbox.el: Rewrite. Now supports crossposting.
-
-       * nnml.el: Rewrite.
-
-       * nnmail.el: Gathered all mail support functions in this file. 
-
-       * nnmbox.el: Renamed nnmail to nnmbox.
-
-       * gnus.el (gnus-summary-exit): Kill expunged buffer on exit.
-
-       * nntp.el (nntp-server-opened-hook): Send "MODE READER" to the
-       server at startup.
-
-Mon Jan 16 11:56:39 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-read-group): Update the specs after the
-       select-group-hook has bene run.
-
-Sun Jan 15 11:01:20 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el: Add autoload for `gnus-article-make-menu-bar'.
-        (gnus-article-mode-map): Call `gnus-article-make-menu-bar'.
-
-       * gnus-visual.el (gnus-group-make-menu-bar): Added entry for
-       `gnus-group-edit-global-kill',
-       (gnus-summary-make-menu-bar): Added entry for
-       `gnus-summary-raise-followups-to-author', and
-       `gnus-summary-lower-followups-to-author'.  Removed entries for
-       `gnus-summary-raise-by-thread', and
-       `gnus-summary-lower-by-thread'.
-       Renamed `xref' to `crossposting' since more people know that term.
-       Merged `Sort' menu with `Misc' since the menu-bar had not space
-       enough for all entries.
-       (gnus-article-make-menu-bar): New function.  Add menu bar for
-       article mode.
-
-Sun Jan 15 18:08:53 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-pp-gnus-kill): Don't assume (nth 0 object) is
-       `gnus-kill'. 
-
-Sun Jan 15 14:11:29 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-refer-article): Don't fetch an article if
-       it is fetched already.
-       (gnus-gnus-to-newsrc-format): Write killed groups to the .newsrc
-       file as unsubscribed without numbers.
-       (gnus-summary-exit): Go to next group in the Group buffer when
-       quitting. 
-
-Sun Jan 15 07:44:09 1995  Lars Magne Ingebrigtsen  <larsi@hnoss.ifi.uio.no>
-
-       * gnus.el (gnus-article-refer-article): Would not scroll to the
-       beginning of the article.
-       (gnus-summary-go-to-next-thread): Would go to wrong article.
-
-Sat Jan 14 12:55:31 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-exit): Do not advance in the Group buffer
-       when quitting from a Summary buffer.
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): Articles that appear
-       twice because of crossposting are deleted.
-
-       * gnus.el (gnus-visual-mark-article-hook): New hook.
-       (gnus-group-prepare): Don't display groups with only dormant
-       articles when listing doing a `gnus-group-list-groups'.
-
-       * gnus-visual.el: New file.
-       (gnus-visual-highlight-selected-summary): Function moved out of
-       gnus.el.
-       (gnus-selected-summary-face): Variable name change.
-
-       * gnus.el (gnus-visual): New variable.
-
-       * nnmail.el (nnmail-crosspost): New variable to toggle
-       crossposting in mail groups.
-
-       * nnml.el (nnml-article-group): Fold continuation lines before
-       splitting mail.
-
-Sat Jan 14 04:34:59 1995  Lars Magne Ingebrigtsen  <larsi@dyggve.ifi.uio.no>
-
-       * gnus.el (gnus-group-browse-foreign-server): Completing-read over
-       `gnus-secondary-servers'. 
-       (gnus-summary-refer-article): Would print Subject in the inserter
-       Summary line to "t".
-       (gnus-summary-mail-forward, gnus-summary-mail-other-window):
-       Messed up the window configuration.
-       (gnus-group-insert-group-line): When dormant articles were
-       present, an incorrect number of unread articles would be reported.
-       (gnus-summary-goto-subject): Would bug when the point was at the
-       end of the buffer.
-
-Fri Jan 13 09:40:11 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnml.el (nnml-generate-nov-databases): Didn't update the active
-       file. 
-
-       * gnus.el (gnus-summary-next-group): Would behave spuriously when
-       the next group had all its articles marked as read via the xref
-       mechanism. Would also go to the Newsgroup buffer when C-g was
-       pressed. 
-       (gnus-inews-check-post): Reject outgoing mail that has empty
-       Subject lines, no text at all and just quoted text.
-       (gnus-summary-catchup-and-exit): Do not mark dormant articles as
-       read when catching up.
-       (gnus-summary-catchup): New implementation of all catchup
-       functions. 
-
-Fri Jan 13 07:27:27 1995  Lars Magne Ingebrigtsen  <larsi@dyggve.ifi.uio.no>
-
-       * nntp.el (nntp-request-article): Inserted contents into wrong
-       buffer. 
-
-Mon Jan  9 02:16:12 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-make-threads): Threading bug when
-       `gnus-thread-ignore-subject' is nil fix.
-       (gnus-post-news): When posting in foreign newsgroups, the name of
-       the group would be wrong.
-
-       * nnmail.el (nnmail-choose-mail): Insert the X-Gnus-Newsgroup line
-       at the right place.
-
-       * gnus.el (gnus-group-get-new-news-this-group): Would scroll
-       forwards when updating the first newsgroup(s) in the Newsgroup
-       buffer. 
-       (gnus-get-unread-articles-in-group): Compute number of unreads
-       more correctly. Dormant counts as "read" while ticked counts as
-       "unread". 
-
-       * nnml.el (nnml-choose-mail): Handle continuation lines and tabs
-       correctly when generating nov databases.
-
-       * gnus.el (gnus-summary-read-group): Applying a kill file to a
-       group that contains only dormant articles would lead to an
-       infinite loop.
-       (gnus-kill-save-kill-buffer): Really kill kill buffers upon exit. 
-       (gnus-select-newsgroup): Treat newsgroups with only dormant
-       articles as having no unread articles.
-       (gnus-get-newsgroup-headers-xover, gnus-get-newsgroup-headers):
-       Downcase message-id and references for better threading.
-
-Sun Jan  8 01:11:04 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-summary-subject-string): Wrong regexp made the
-       function return nil always.
-       (gnus-summary-insert-line): Use mail-extr to extract address and
-       name. 
-       (gnus-pp-gnus-kill): Would never actually prettify anything.
-       (gnus-kill): Did not update date of last successful kill.
-       (gnus-group-insert-group-line): Do not print a "*" if the group
-       contains only dormant articles.
-       (gnus-update-read-articles): When removing all marks from a mark
-       list (dormant, ticked, bookmarks), Gnus wouldn't properly update
-       the list of marked articles when exiting from the group.
-
-Sat Jan  7 03:05:01 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-mark-xrefs-as-read): Computed strange number of
-       unread articles when given illegal xref numbers.
-       (gnus-group-apropos, gnus-group-description-apropos): Two new
-       commands and keystrokes.
-       (gnus-no-server): New command to start Gnus without connecting to
-       your local newsserver.
-       (gnus): Gnus would read the active file even when started at a low
-       level. 
-       (gnus-summary-exit): Kill kill file buffer upon newsgroup exit.
-       (gnus-gnus-to-newsrc-format): Would write .newsrc instead of
-       .newsrc-HOST. 
-
-Fri Jan  6 16:45:45 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-summary-search-subject): UNREAD now really goes to
-       unread only.
-       (gnus-kill-file-permanent-kill-by-xref): Kill all cross-posted
-       groups mentioned.
-       (gnus-kill-file-kill-by-xref): Improper newsgroup matching.
-
-Thu Jan  5 20:45:56 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-bug): New command.
-       (gnus-get-newsgroup-headers): Fix when article does not contain
-       message-id. 
-       (gnus-summary-show-all-expunged): Not (interactive).
-       (gnus-summary-delete-marked-with): Infinite loop.
-       (gnus-summary-search-subject): Next always goes to the next
-       article. 
-
-Thu Jan  5 14:23:56 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-summary-delete-article): New function and
-       keystroke to delete (mail) articles right away.
-       (gnus-summary-next-group): When selecting next group that have had
-       all its articles marked as read by xref, this would yield
-       unexpected results.
-       (gnus-summary-search-subject): `n' on first article selects the
-       first article.
-       (gnus-mouse-face): New variable.
-
-       * nnmh.el: New mail backend for mh folders (ie. spool).
-
-Wed Jan  4 02:45:08 1995    <larsi@redleaf>
-
-       * nnmail.el (nnmail-read-mbox): If an mbox file didn't exist, this
-       function would fail.
-       (nnmail-split-region): Lines numbers were inserted in wrong
-       headers with wrong numbers.
-
-       * gnus.el (gnus-summary-show-all-expunged): New function and
-       keystroke to display previously expunged lines.
-
-       * nnmail.el (nnmail-prepare-incoming-hook): New variable.
-
-       * gnus.el (gnus-mail-forward-using-mail): Delete invisible headers
-       when forwarding.
-
-Tue Jan  3 15:23:00 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-post-news): Move point to beginning of quoted text
-       on followups.
-       (gnus-group-set-current-level): Prompt for a level if called with
-       nil. 
-       (gnus-summary-raise-interest, gnus-summary-lower-interest,
-       gnus-summary-set-interest): New commands and keystrokes.
-       (gnus-summary-default-interest): New variable.
-       (gnus-raise, gnus-lower): New functions to use in kill-files for
-       raising or lowering interest.
-
-Mon Jan  2 11:51:32 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-group-line-format): Modified spec to show number
-       of really unread unread articles instead of unread + ticked +
-       interesting. 
-       (gnus-group-line-format): New codes to show number of interesting
-       articles; number of ticked and interesting; number of ticked,
-       number of read; total number of articles; number of unread,
-       unticked, uninteresting articles. 
-       (gnus-newsgroup-dormant): `gnus-newsgroup-interesting' (and all
-       derivatives thereof) renamed from "interesting" to "dormant".
-       (NOTE: everybody that have marked articles as "interesting" earlier
-       might experience slightly peculiar effects. The joys of alpha
-       testing.)
-       (gnus-summary-mode-map): `+' to set dormant mark, `-' to set tick. 
-       (gnus-group-expire-articles): Fixed bug that resulted in no
-       articles being expired.
-       (gnus-unread-mark, gnus-read-mark, gnus-ticked-mark,
-       gnus-dormant-mark): New variables for the mark characters. 
-       (gnus-summary-insert-line): Loose threads can now also be printed
-       with the `empty' method.
-       (gnus-make-threads): When threading twice (for instance, when
-       toggling threading), information was mangled which ended in in
-       infinite loop.
-
-Sun Jan  1 14:35:01 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-summary-refer-parent-article): Bug when no article
-       has been selected.
-       (gnus-kill, gnus-apply-kill-file, gnus-execute): Changed to
-       support expiring kills and multple patterns in one `gnus-kill'
-       call. 
-
-       * nnml.el (nnml-split-incoming): Did not properly split mail that
-       contained multiple "From " lines.
-
-Sat Dec 31 00:55:24 1994    <larsi@redleaf>
-
-       * gnus.el (gnus-newsgroup-marked): This variable had been re-named
-       `gnus-newsgroup-ticked'. It has been re-named back again.
-       (gnus-kill-file-kill-by-subject): Made all kill-by-* functions
-       operate on the current article in the Summary buffer.
-
-Fri Dec 30 11:45:27 1994    <larsi@redleaf>
-
-       * gnus.el (gnus-summary-set-bookmark,
-       gnus-summary-remove-bookmark): New commands and keystrokes to set
-       bookmarks. 
-       (gnus-summary-mark-as-interesting): New command and keystroke to
-       mark articles as interesting.
-       (gnus-article-prepare): Automatic moving to bookmarks added.
-       (gnus-summary-delete-interesting): Interesting articles that have
-       no children are not shown in the Summary buffer by default. 
-       (gnus-group-expire-articles, gnus-summary-expire-articles): Trying
-       to expire articles in groups that do not support expiring would
-       make Emacs barf.
-       (gnus-active-to-gnus-format): Modified to read information on
-       moderation, if wanted.
-       (gnus-summary-print-dummy-lines): Obsolete variable.
-       (gnus-summary-make-false-root): New variable that says what method
-       should be used when printing loose sub-threads.
-       (gnus-summary-prepare-threads): Let one article adopt the orphans
-       instead of printing dummy roots.
-
-Thu Dec 29 08:20:42 1994    <larsi@redleaf>
-
-       * gnus.el (gnus-summary-save-article, gnus-summary-pipe-output, 
-       gnus-summary-save-in-rmail, gnus-summary-save-in-mail, 
-       gnus-summary-save-in-file, gnus-summary-save-in-pipe): Rewritten
-       to save series of articles.
-       (gnus-summary-set-process-mark): Bug fix. It was possible to mark
-       dummy roots.
-       (gnus-group-describe-all-groups): New command and keystroke to
-       list newsgroups descriptions for all newsgroups.
-       (gnus-group-prepare): Removed tallying of articles in killed
-       groups to speed things up to enough to be of any use.
-       (gnus-summary-local-variables): `gnus-current-kill-articles' is no
-       longer buffer-local to the Summary buffers.
-
-       * nntp.el (nntp-request-article): Fix for multiple Summary buffers
-       using different nntp servers.
-
-       * gnus.el (gnus-dribble-save): Would barf if Gnus were fed a
-       non-existant nntp server host name. 
-       (gnus-summary-search-subject): Marking articles as read did not go
-       forward over ticked articles.
-       (gnus-post-method): New variable for specifying a method to use
-       for posting articles.
-       (gnus-request-post-buffer, gnus-request-post): Changed to use
-       `gnus-post-method'. 
-
-       * nntp.el (nntp-open-server-internal): The nntpd process will now
-       be killed without warning when Emacs shuts down.
-
-       * gnus.el (gnus-get-unread-articles-in-group): Returned wrong
-       results in groups with no articles.
-
-       * nntp.el (nntp-server-opened): This function gave totally
-       spurious results.
-
-       * gnus.el (gnus-check-first-time-used, gnus-find-new-newsgroups):
-       Changed to really subscribe newsgroups that are mentioned by the
-       "options -n" line(s). The variable
-       `gnus-subscribe-options-newsgroup-method' holds the subscribe
-       method, which is `gnus-subscribe-alphabetically' by default. 
-
-Wed Dec 28 17:36:49 1994    <larsi@redleaf>
-
-       * gnus.el (gnus-get-newsgroup-headers-xover): Fixed
-       cross-references when using xover.
-
-       * gnus.el (gnus-read-old-newsrc-el-file): Made it easier to switch
-       between .el and .eld files.
-       (gnus-group-mode-map): Removed bindings for `C-n' and
-       `C-p'. Changed `C-m' to `gnus-group-select-group'.
-       (gnus-summary-mode-map): Removed bindings for `C-n' and `C-p'.
-
-       * nntp.el (nntp-request-group): Fix when selecing non-existant
-       groups. 
-
-       * gnus.el (gnus-group-prepare): Faster listing of killed groups. 
-
-       * nntp.el (nntp-retrieve-headers-with-xover): Try both "xover" and
-       "xoverview" on nntp servers.
-
-       * gnus.el (gnus-activate-foreign-newsgroups): This variable has
-       changed from a toggle to a slide. Foreign newsgroups that have a
-       level equal or lower than this variable will be activated on
-       startup. 
-       (gnus-nntp-service): This variable has been obsoleted, except for
-       one tiny backwards compatibility issue.
-       (gnus-select-method): This variable now lets you specify nntp port
-       number as well.
-       (gnus-find-new-newsgroups): A message is displayed that says how
-       many new newsgroups has arrived.
-       (gnus-summary-position-cursor, gnus-group-position-cursor): Two
-       new functions that are both fset to `gnus-goto-colon', but can be
-       set to anything the user wishes.
-       (gnus-init-file, gnus-read-init-file, gnus-group-read-init-file):
-       New variable, function, command and keystroke to read the Gnus
-       init file (default: "~/.gnus").
-
-       * nnml.el (nnml-retrieve-header-with-nov): nnml now generates nov
-       databases. 
-       (nnml-choose-mail): Fix strange cutting and add Xref header.
-       (nnml-article-group): Mail articles can now be crossposted between
-       all groups that fit the regular expressions in
-       `nnmail-split-methods'. 
-       (nnml-generate-nov-databases): New command to generate nov
-       databases for a tree.
-
-       * nnheader.el (gnus-backends-are-talkative): New variable.
-
-       * nnml.el (nnml-nov-is-evil): New variable.
-
-Wed Dec 21 01:20:53 1994  Lars Magne Ingebrigtsen  <larsi@hnoss.ifi.uio.no>
-
-       * gnus.el (gnus-check-news-server): Buglet.
-       (gnus-mail-reply-using-mail): Use "none" as the subject if none
-       was used.
-
-Tue Dec 20 01:28:42 1994  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnmail.el (nnmail-request-move-article,
-       nnmail-request-accept-article): Functions for moving articles. One
-       can move articles between mail groups that use different select
-       methods, which also makes these functions double as conversion
-       routines.
-
-       * gnus.el (gnus-open-server): All the low-level backend functions
-       have been rewritten to make things cleaner and clearer. Most of
-       the function calls have also been changed throughout the program. 
-       (gnus-set-global-variables): Set the global equivalents of the
-       summary-local variables whenever a new article is chosen.
-
-Mon Dec 19 00:51:03 1994  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnml.el (nnml-request-move-article,
-       nnml-request-accept-article): Functions for moving articles. 
-
-       * gnus.el (gnus-summary-rescan-group): New command and keystroke
-       for exiting, getting new articles, and re-selecting a group. 
-       (gnus-group-make-mail-groups): Created mail groups
-       without the foreign group prefix, which is a serious bug.
-       (gnus-dribble-file-name): Change the name of the dribble file to
-       ".newsrc-dribble". 
-       (gnus-group-startup-message): Changed startup screen. (Trés
-       important.) 
-       (gnus-summary-move-article): New command and keystroke for moving
-       articles between (mail) newsgroups.
-
-       * nnmail.el (nnmail-split-region): 
-       * nnml.el (nnml-choose-mail): Add a Lines header line to mails
-       that do not have them.
-
-       * gnus.el: Moved most functions to make the source code a bit more
-       structured. Added a few autoloads to kill the last few compiler
-       warnings. 
-       (gnus-group-clear-dribble): New command and keystroke to clear the
-       dribble buffer.
-
-       * nntp.el (nntp-open-server-internal): Further multiple nntp
-       server fixes.
-
-Sun Dec 18 01:48:28 1994  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-mh.el: All the mh-e functions have been moved to this new
-       file.
-
-       * gnus.el (gnus-summary-prepare-threads,
-       gnus-summary-insert-line): If the subject changes in the middle of
-       the thread, print the subject.
-       (gnus-save-newsrc-file): Save the newsrc file(s) even when the
-       dribble file has been saved, and don't save them when no changes
-       have been made.
-
-       * nntp.el (nntp-request-group): When using multiple nntp servers,
-       the backend often became a bit dizzy.
-       (nntp-open-server): Opening a server now correctly says whether a
-       connection was established.
-
-       * gnus.el (gnus-version): Rewrite to add version numbers from all
-       backends in use.
-       (gnus-extend-newsgroup): Small fix.
-       (gnus-find-header-by-number): Obsolete function.
-       (gnus-clear-system): Kill all generated buffers when exiting. 
-       (gnus-exit-group-hook): Kill the nntp connection(s) when exiting. 
-
-Mon Dec 12 18:15:03 1994  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: Version 0.2 released after some initial bugs were
-       fixed. 
-
-Sun Dec 11 06:32:40 1994  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: The very first (ding) Gnus pre-release. 
-
-Mon May 15 18:29:20 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-summary-insert-line): Make sure Lines is a number.
-       
-       (gnus-summary-select-article): Don't scroll to the end of the
-       article buffer.
-
-       * gnus.el: 0.70 is released
-
-       * ChangeLog continues in a different file.
-
-Mon May 15 16:38:04 1995  Lars Magne Ingebrigtsen  <larsi@drott.ifi.uio.no>
-
-       * gnus.el (gnus-summary-sort): Hide threads after sorting, if that
-       is wanted. 
-
-Sun May 14 01:10:51 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-verbose): New variable.
-       (gnus-group-mark-group): Stop when there are no more groups to go. 
-       (gnus-group-search-forward): Message when attempting to go too far
-       back. 
-
-       * gnus.el: Use it.
-       (gnus-group-add-to-virtual): New command and keystroke.
-
-       * gnus-vm.el: Did not load vm.
-
-       * gnus.el (gnus-summary-mode-map): New keystroke for saving with
-       vm. 
-
-       * gnus-score.el (gnus-score-load-file): (adapt t) will work
-       independently of gnus-use-adaptive-scoring.
-
-       * gnus.el (gnus-summary-recenter): New implementation.
-
-Sat May 13 19:52:35 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-nov-parse-line): Would not read Xrefs.
-
-       * gnus-score.el (gnus-score-save): Don't pp adaptive score files. 
-       (gnus-score-adaptive): Put adaptive entries in a separate score
-       file. 
-       (gnus-score-followup): Put entries into the adaptive score file. 
-
-       * gnus.el (gnus-use-scoring): New variable.
-
-Sat May 13 11:16:31 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-summary-refer-article): Mark fetched articles as
-       read. 
-       (gnus-summary-catchup): Mark articles as expirable when they are
-       supposed to be.
-       (gnus-group-expire-articles): Allow `total-expire'.
-       (gnus-summary-reselect-current-group): Kill the summary buffer
-       before reselecting.
-
-       * gnus-vis.el (gnus-summary-highlight-line): Would occationally
-       bug out. 
-
-       * gnus.el (gnus-summary-prepare-threads): Do right number of
-       sub-threads under adopted (etc) articles.
-       (gnus-read-descriptions-file): Don't barf on strange formats. 
-
-       * gnus-score.el (gnus-score-adaptive): Ignore pseudos.
-       (gnus-score-remove-lines-adaptive): Ditto.
-
-       * nnml.el (nnml-get-new-mail): Handle a list of spool files. 
-
-       * gnus.el (gnus-windows-old-to-new): Translate 3.13-selects to 4.1
-       symbols. 
-       (gnus-request-article-this-buffer): Always check whether the
-       connection is down.
-       (gnus-summary-save-article): Did not init hashtb.
-       (gnus-matches-options-n): Reversed comparison.
-       (gnus-configure-windows): Use the horizontal spec.
-       (gnus-group-goto-unread): New variable.
-       (gnus-group-next-unread-group): Use it.
-
-       * gnus-cache.el (gnus-cache-retrieve-headers): Don't barf if the
-       cache file doesn't exist.
-
-       * gnus.el: 0.68-0.69 is released.
-
-Thu May 11 12:03:10 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-simplify-buffer-fuzzy): New function.
-       (gnus-simplify-subject-fuzzy): Use it.
-
-       * gnus-score.el: Support fuzzy matches.
-
-Sat May 13 11:09:30 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-newsrc-to-gnus-format): New implementation. 
-
-Wed May 10 08:42:21 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-format-max-width): Don't choke on numbers.
-
-       * nnmh.el (nnmh-request-list): Don't chase links.
-
-       * gnus.el (gnus-parse-n-options): Would reverse the 'ignore and
-       strings. 
-       (gnus-summary-remove-lines-marked-as-read): Also count
-       gnus-ancient-marks as a read mark.
-
-       * nnspool.el (nnspool-inews-switches): Added the no-sig switch.
-
-       * gnus.el (gnus-summary-sort): Don't recurse for all time. 
-
-Wed May 10 07:01:42 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus-msg.el (gnus-summary-cancel-article): Remove process marks
-       after cancelling. 
-
-       * gnus.el (gnus-summary-show-all-dormant): Update lines.
-       (gnus-summary-show-all-expunged): Ditto.
-       (gnus-group-process-prefix): Did not understand C-u C-u prefixes
-       and the like. 
-       (gnus-group-catchup-current): Advance to the next unread group.
-       (gnus-summary-catchup): Mark articles at exit if adaptive scoring
-       is used. 
-       (gnus-server-edit-server): Did not configure windows properly.
-
-       * gnus.el: 0.67 is released. 
-
-Tue May  9 10:18:16 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus-vis.el (gnus-article-press-button): New function.
-
-       * gnus.el (gnus-article-mode-map): Bind it.
-
-       * gnus-cite.el (gnus-cite-hide-percentage): Upped to 50% (like
-       inews). 
-       (gnus-cite-hide-absolute): Upped to 10 lines.
-
-       * gnus-vis.el (gnus-face-dark-name-list): Some colors was not
-       available everywhere.  New colors suggested by
-       John Salmon <johns@mullet.anu.edu.au>.
-       (gnus-article-highlight-headers): Turn of `buffer-read-only'.
-       (gnus-button-message-id): Do not switch to the summary buffer
-       first. 
-
-       * gnus.el: (gnus-article-add-button): Added autoload.
-       (gnus-article-hide-citation): Replace with autoload from
-       `gnus-cite.el'.
-
-Wed May 10 06:49:33 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus-vis.el: Name changes from gnus-visual-summary-* to
-       gnus-summary-*. 
-
-Tue May  9 10:18:16 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus-score.el (gnus-summary-immediately-*): Added functions and
-       keybidnings. 
-
-Wed May 10 06:01:34 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-windows-old-to-new): Applied '+ to wrong list. 
-
-Tue May  9 12:26:34 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-uu.el (gnus-uu-digest-headers): New variable.
-       (gnus-uu-save-article): Use it.
-
-       * gnus-vis.el (gnus-carpal-setup-buffer): Did not work at all. 
-
-       * gnus.el (gnus-get-unread-articles): Would un-activate already
-       activated groups from secondary servers.
-       (gnus-group-transpose-groups): New implementation.
-       (gnus-group-yank-group): Allow moving even to the end of the
-       buffer. 
-
-       * nnbabyl.el: General tune-up and serious bug-fix all over.
-
-       * gnus.el (gnus-parse-newsrc-body): Would create two dummy.groups
-       when no .newsrc.eld files existed.
-       (gnus-summary-setup-buffer): Be really sure that we want to return
-       to the old buffer.
-
-       * nnbabyl.el (nnbabyl-read-mbox): Insert "OPTIONS" in empty babyl
-       files. 
-
-       * gnus.el (gnus-group-change-level): Insert new groups at the end
-       of the group alist.
-
-Tue May  9 04:49:53 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-        * gnus.el: 0.66 is released.
-
-       * gnus.el (gnus-rebuild-remove-articles): Would make all articles
-       read and go to the wrong article.
-       (gnus-summary-update-lines): Allow highlighting of a region.
-
-       * gnus-kill.el (gnus-kill-file-mode-map): Three commands bound to
-       the same key.
-
-       * gnus-vis.el: Hilit code transferred here.
-
-       * gnus-hilit.el: Obsolete file.
-
-       * gnus-cite.el (gnus-cite-face-list): New file.
-
-       * gnus.el (gnus-member-of-valid): New function.
-
-       * gnus-score.el (gnus-score-integer): Reversed comparison.
-
-       * gnus.el (gnus-maintainer): New address.
-       (gnus-get-unread-articles): Secondary groups would be doubly
-       activated. 
-
-Mon May  8 11:11:22 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-msg.el (gnus-post-news): Use process/prefix.
-       (gnus-mail-reply-using-mail): Use process/prefix.
-       (gnus-summary-cancel-article): Ditto.
-
-       * gnus-vis.el (gnus-carpal-mode): New mode and stuff.
-
-       * gnus.el (gnus-configure-windows): New implementation.
-       (gnus-window-configuration): New syntax.
-       (gnus-windows-old-to-new): Conversion between old and new.
-       (gnus-split-window): Obsolete variable.
-       (gnus-remove-some-windows): New function.
-       (gnus-bug): Put point a different place.
-
-Sun May  7 01:12:04 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-        * gnus.el: 0.65 is released.
-
-       * gnus.el (gnus-get-unread-articles): Would not activate some
-       native groups. 
-
-       * nndigest.el (nndigest-first-article-separator): New variable.
-       (nndigest-narrow-to-article): Use it.
-       (nndigest-request-group): Would be one off in counting messages. 
-
-       * gnus.el (gnus-summary-setup-buffer): Don't create the buffer if
-       it already exists.
-       (gnus-summary-read-group): If the summary buffer exists, just
-       switch to it.
-       (gnus-summary-subject-string): Would bug out on pseudo-articles.
-
-       * gnus-vm.el: New file.
-
-       * gnus-msg.el (gnus-mail-reply-using-mail): In-reply-to was
-       possibly not correct.
-
-       * gnus-uu.el: Undefined keymaps.
-
-       * gnus.el (gnus-article-date-ut): `lapsed' was some hours off.
-
-Sat May  6 01:48:06 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-       * gnus.el (gnus-article-de-quoted-unreadable): Did not set
-       buffer-read-only to nil.
-
-       * gnus-score.el (gnus-score-save): Would not save score file if
-       the directory didn't exist.
-
-       * gnus-vis.el (gnus-summary-make-menu-bar): Added sort-by-score.
-
-       * gnus.el (gnus-read-active-file): Don't pretend that we have read
-       the active file when we haven't.
-       (gnus-summary-catchup): Make catchup-and-exit faster.
-       (gnus-summary-sort-by-score): Make the `reverse' element optional
-       on all score functions.
-       (gnus-read-descriptions-file): Don't barf if the server if down.
-
-       * gnus-uu.el (gnus-uu-initialize): Chmod work dir.
-
-       * gnus.el (gnus-nov-parse-line): Allow strings as Lines headers. 
-       (gnus-summary-dummy-line-format): Not aligned properly.
-       (gnus-summary-goto-subject): Skip dummy articles.
-       (gnus-group-first-unread-group): Went to the first group, not the
-       first unread group.
-
-       * gnus.el: 0.64 is released.
-
-Mon May  1 01:51:25 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-vis.el (gnus-server-make-menu-bar): New function.
-
-       * gnus.el: Pushed gnus-uu autoloads out to a keymap in gnus-uu. 
-       (gnus-rebuild-thread): New function.
-       (gnus-rebuild-remove-articles): New function.
-       (gnus-group-mode-map): Changes.
-
-       * gnus-score.el
-       (gnus-summary-temporarily-lower-followups-to-author): New command. 
-       (gnus-summary-lower-followups-to-author): Raised instead of
-       lowering. 
-
-       * gnus.el (gnus-article-date-ut): `lapsed' would give incorrect
-       time. 
-       (gnus-group-mark-group, gnus-group-unmark-group,
-       gnus-group-mark-region):  New commands and keystrokes.
-       (gnus-group-process-prefix): New function.
-       (gnus-group-goto-group): New function.
-       (gnus-group-catchup-current): Use pro/pre.
-       (gnus-group-expire-articles): Ditto.
-       (gnus-group-expire-all-groups): Double ditto.
-       (gnus-group-set-current-level): Ditto.
-       (gnus-delete-line): New function.
-       (gnus-summary-mark-article): Don't unconditionally request article
-       when using the cache.
-
-Tue May  2 01:52:56 1995  Christian Limpach  <chris@nice.ch>
-
-       * gnus.el (gnus-article-display-x-face): cleaned up and use
-       call-process-region now.
-
-Mon May  1 23:40:32 1995  Christian Limpach  <chris@nice.ch>
-
-       * gnus.el (gnus-group-fetch-faq): fixed fetching faq of foreign
-       groups
-
-Mon May  1 21:04:22 1995  Scott Byer  <byer@mv.us.adobe.com>
-
-               * gnus.el (gnus-unread-articles) Put back in dropped change to
-        prevent activation of unsubscribed foreign newsgroups.
-
-Sun Apr 30 04:11:31 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-sorted-complement): Would reverse the result given
-       a nil list.
-       (gnus-summary-refer-article): Would not let you refer expunged
-       articles. 
-       (gnus-summary-goto-article): Give a return value.
-
-       * gnus.el: Changes here and there to use the cache.
-
-       * gnus-cache.el: New file.
-
-       * gnus.el (gnus-article-de-quoted-unreadable): Have interactive
-       calls force un-quoting.
-       (gnus-article-date-ut): Would choke on distant dates.
-       (gnus-summary-respool-article): Use the current backend as a
-       default prompt.
-       (gnus-summary-respool-article): Behave grafully on nil input.
-       (gnus-get-unread-articles): Would barf on virtual servers.
-       (gnus-use-cache): New variable.
-
-       * gnus.el: 0.63 is released.
-
-Sun Apr 30 01:29:34 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-summary-raise-thread): Would incorrectly not stay
-       on the same line when that was required.
-       (gnus-article-date-ut): Required arguments.
-
-       * gnus-score.el (gnus-score-load-file): Would reset
-       gnus-adaptive-score-alist. 
-
-Sat Apr 29 22:27:46 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus-uu.el (gnus-uu-post-news): Work in mail buffers as
-       well. General cleanup.
-
-       * nntp.el (nntp-default-sentinel): Ignore servers that do not
-       exist. 
-
-       * gnus-score.el (gnus-score-add-followups): Used exact match
-       instead of substring.
-
-Sat Apr 29 17:58:42 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-gnus-to-quick-newsrc-format): Inhibit quitting in
-       a particularly tricky spot.
-       (gnus-read-newsrc-el-file): The same.
-       (gnus-server-edit-server): New layout.
-       (gnus-server-read-server): Wrong interactive spec and returned to
-       the wrong buffer.
-       (gnus-group-browse-foreign-server): Also allow browsing of
-       servers. 
-
-       * nnml.el (nnml-request-list): Did not set nnml-group-alist. 
-
-       * gnus.el (gnus-summary-respool-article): Would not let you
-       respool. 
-
-Sat Apr 29 00:35:17 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus-score.el (gnus-score-add-followups): Did not work.
-
-       * nntp.el (nntp-request-article): Would fetch articles even if
-       async-fetched.
-       (nntp-async-fetch-articles): Would re-fetch the first article.
-
-       * gnus.el: 0.62 is released
-
-Fri Apr 28 00:24:34 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-set-mode-line): Would bug out on nil max-lens. 
-       (gnus-summary-read-group): Did not properly configure windows on
-       breaks. 
-       (gnus-summary-select-article): Would not configure windows
-       properly. 
-       (gnus-summary-exit-no-update): Would go to next group, not next
-       unread group.
-       (gnus-summary-enter-digest-group): End gracefully if executed on
-       something that is not a digest.
-       (gnus-server-read-server): New command.
-       (gnus-nov-field): Would not grab the last char on the line.
-
-       * gnus.el: 0.61 is released
-
-Wed Apr 26 19:48:36 1995  Scott Byer  <byer@mv.us.adobe.com>
-
-       * gnus.el (gnus-group-get-new-news) Off by one with relation to
-        the fix in gnus-get-unread-articles.
-
-Thu Apr 27 23:46:32 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-next-article): Would bug out on nndigest
-       groups. 
-
-Thu Apr 27 13:45:21 1995  Scott Byer  <byer@mv.us.adobe.com>
-
-       * nnfolder.el (nnfolder-request-group) Fixed it so it returns an
-        active list even when the flag for not checking mail is t.
-
-       * gnus.el (gnus-get-unread-articles) Changed comparison with level
-        to < to fix fencepost error.  Forced active to nil in the case
-        where a foreign newsgroup shouldn't be activated.
-
-Wed Apr 26 19:48:36 1995  Scott Byer  <byer@mv.us.adobe.com>
-
-       * nnfolder.el (nnfolder-request-group) Small performance tweak.
-
-       * nnfolder.el (nnfolder-save-mail) Moved the code to kill previous
-        newsgroups headers into the loop, affects mail saved to multiple
-        folders so that they don't have multiple newsgroup markers
-        anymore.
-
-       * nnfolder.el (various) Made sure buffer needed saving before each
-        request.
-
-Thu Apr 27 22:34:13 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-parse-newsrc-body): Would reverse the list of
-       groups if no .newsrc.eld file is present.
-       (gnus-parse-newsrc-body): Would subscribe unsubscribed groups.
-       (gnus-summary-mode-map): Many keymap changes.
-
-Thu Apr 27 21:45:05 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus-msg.el (gnus-inews-organization): Use the standard work
-       buffer.
-       (gnus-post-news): Did not use followup-to.
-
-Thu Apr 27 12:38:41 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-       * gnus-kill.el (gnus-apply-kill-file-internal): Give abetter error
-       massage on rn kill files.
-
-       * gnus.el (gnus-article-de-quoted-unreadable): No interactive spec.
-
-Wed Apr 26 15:57:28 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus-message.el (gnus-inews-check-post): Would warn about too
-       long lines when the last line didn't have a newline.
-
-       * gnus-score.el (gnus-score-string): Would loop forever on empty
-       matches. 
-
-       * gnus.el: 0.60 is released.
-
-Wed Apr 26 15:08:00 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-groups-to-gnus-format): Would ding on non-existant
-       groups. 
-       (gnus-summary-next-group): Did not keep pint in group buffer
-       updated. 
-
-Wed Apr 26 14:42:17 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * nntp.el (nntp-request-article): Would sometime deliver the wrong
-       article in async mode.
-
-Wed Apr 26 10:08:36 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-message.el (gnus-summary-post-forward): New command and
-       keystroke. 
-
-       * gnus-uu.el (gnus-uu-digest-mail-forward): Name change.
-       (gnus-uu-digest-post-forward): New command and keystroke.
-
-       * nntp.el (nntp-open-server): Refuse to connect to servers that
-       have previously timed out.
-
-       * gnus.el (gnus-summary-next-group): Allow 0 as a pointer to go to
-       the next group.
-       (gnus-group-edit-group): All group editing functions have changed.
-
-Tue Apr 25 20:35:40 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-exit-no-update): Go to the right (next)
-       group on all kinds of exits.
-       (gnus-article-mode-map): Slight improvement in the duplicated
-       keystrokes. 
-
-Tue Apr 25 16:33:58 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-       * nnspool.el (nnspool-sift-nov-with-sed): New function.
-       (nnspool-sift-nov-with-sed): New variable.
-
-       * gnus-score.el (gnus-score-remove-lines-adaptive): New function.
-
-       * gnus.el (gnus-summary-remove-lines-marked-with): Do the adaptive
-       thing.
-
-       * gnus-score.el (gnus-score-string): Allow exact matches.
-       (gnus-score-adaptive): Use exact matches.
-
-       * gnus.el (gnus-article-de-quoted-unreadable): Replaced with Per's
-       functions. 
-
-       * gnus-score.el (gnus-default-adaptive-score-alist): Name change. 
-
-Tue Apr 25 14:20:52 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-insert-pseudos): Didn't treat
-       pseudos-separately properly.
-
-Tue Apr 25 15:08:38 1995  Scott Byer  <byer@mv.us.adobe.com>
-
-       * nnmail.el (nnmail-request-post-buffer) changed how this function
-        deals with the list form of follow-to.  Before calling mail-setup,
-        it now gathers and strips out of the list all "To" headers, and
-        calls mail-setup with that collection.  This avoids the nasty
-        empty To: field problem.  Also made sure that additional fields
-        are inserted after the To: field.
-
-       * gnus-message.el (gnus-mail-reply-using-mail) Added the same fix
-       for replying.
-
-Tue Apr 25 12:54:28 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-       * gnus.el (gnus-valid-select-methods): nnvirtual groups should not
-       have the address in the name.
-       (gnus-article-prepare): When trying to refer an article that
-       didn't exist, the current article pointers would become confused. 
-       (gnus-summary-line-format-alist): Make sure `thread' is defined. 
-
-       * gnus.el: 0.59 is released.
-
-Mon Apr 24 10:50:09 1995  Scott Byer  <byer@mv.us.adobe.com>
-
-       * gnus.el (gnus-get-unread-articles) Closed each group after
-        checking the number of unread articles in order to minimize memory
-        usage when using a file-based backend (e.g., nnfolder).
-
-       * nnfolder.el (nnfolder-possibly-change-group) Added check on
-        modtime of mbox.  This should help those who use procmail.
-
-       * nnfolder.el (nnfolder-close-group) Added use of
-       nnfolder-always-close.
-
-       * nnfolder.el (nnfolder-always-close) Added this variable to
-        determine if nnfolder should got for speed or minimize space
-        requirements.  The old tradeoff.  If this new variable is t,
-        nnfolder will try and keep only one mbox open at a time.  This
-        will cost some time!
-
-       * nnfolder.el (nnfolder-ignore-active-file) Renamed
-        nnfolder-active-file--paranoia to something mor reasonable.  Did
-        not change the sense.
-
-       * nnfolder.el (nnfolder-read-folder) Consolidated the min-max loop
-       when being paranoid or recovering from bad active file.
-
-Tue Apr 25 12:27:03 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-       * gnus.el (gnus-server-to-method): Did not find method for native
-       groups. 
-       (gnus-article-x-face-command): Value fix.
-
-Tue Apr 25 11:06:36 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-next-page): Would not allow exit from the
-       last group.
-
-       * gnus-message.el (gnus-post-news): Would not allow posting from
-       the group buffer.
-       (gnus-inews-remove-headers): New function to remove headers before
-       posting. 
-       (gnus-inews-lines): Would compute an incorrect Lines header. 
-
-       * gnus.el (gnus-article-de-quoted-unreadable): Make sure that the
-       article really is quoted-unreadable.
-
-Mon Apr 24 17:38:36 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.58 is released.
-
-       * nntp.el (nntp-kill-connection): Add a small wait after timing
-       out. 
-
-       * gnus.el (gnus-format-max-width): Didn't work with numbers.
-       (gnus-group-first-unread-group): Wouldn't select the first group.
-
-       * nntp.el (nntp-default-sentinel): Would fail to find the name of
-       the server.
-
-       * gnus.el (gnus-group-unsubscribe-current-group): Did not toggle
-       properly. 
-       (gnus-group-set-current-level): Warn about illegal levels.
-
-Mon Apr 24 17:22:27 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-recenter): New version from Sudish.
-
-Mon Apr 24 00:05:59 1995  Christian Limpach  <chris@nice.ch>
-
-       * gnus.el (gnus-article-display-x-face): avoid
-       re-search-forwarding the whole article buffer
-
-Mon Apr 24 16:46:06 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-seconds-since-epoch): New function.
-
-       * nntp.el (nntp-open-server): Set wrong variable for the port
-       number. 
-
-       * gnus.el (gnus-summary-refer-article): Don't bug out on nil
-       refer-article-methods. 
-
-Mon Apr 24 16:05:56 1995  Lars Magne Ingebrigtsen  <larsi@bera.ifi.uio.no>
-
-       * gnus.el (gnus-article-x-face-command): New value.
-
-Sun Apr 23 11:19:32 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnspool.el (nnspool-request-post): Post asynchronously.
-
-       * nntp.el: Many changes related to asynchronous article fetching. 
-
-       * gnus.el (gnus-asynchronous): New variable.
-       (gnus-article-date-ut, gnus-article-date-local,
-       gnus-article-date-lapsed):  New commands and keystrokes.
-
-Sun Apr 23 05:34:11 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus-score.el (gnus-score-adaptive-alist): New variable.
-       (gnus-score-adaptive): New function.
-
-       * gnus.el (gnus-article-de-quoted-unreadable): Translate = on the
-       end of lines.
-       (gnus-del-mark): Name change from gnus-dread-mark.
-       (gnus-use-adaptive-scoring): New variable.
-       (gnus-summary-exit): Use it.
-
-       * gnus-message.el (gnus-post-news): Don't bug out on posting with
-       followup-to methods.
-
-       * gnus.el (gnus-group-set-current-level): Bug fix.
-       (gnus-request-post-buffer): Open server if it isn't open.
-
-Sat Apr 22 07:27:25 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el: Pushed all score code out to a separate file.
-       
-       * gnus-score.el: New file.
-
-       * gnus.el (gnus-newsrc-alist): Name change from gnus-newsrc-assoc.
-
-       * gnus.el: 0.57 is released.
-
-Sat Apr 22 04:54:11 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: Many patches from Hallvard B Furuseth on XEmacs and
-       kill-buffer matters.
-
-       * gnus-uu.el (gnus-uu-digest-and-forward): Make a better name and
-       kill the temp buffer.
-
-       * gnus.el (gnus-split-methods): Doc fix.
-       (gnus-summary-copy-article): Activate non-active newsgroups.
-       (gnus-summary-insert-pseudos): View pseudos non-separately.
-       (gnus-view-pseudos-separately): New variable.
-
-Fri Apr 21 11:00:53 1995  Lars Magne Ingebrigtsen  <larsi@beli.ifi.uio.no>
-
-       * gnus.el (gnus-start-news-server): Arguments in incorrect order
-       for substring.
-       (gnus-summary-refer-article): Always open the server before asking
-       for articles. 
-       (gnus-simplify-subject-fuzzy): Installed Sudish' and Hallvard's
-       version. 
-
-Fri Apr 21 09:26:06 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-group-set-current-level): Changed meaning of
-       prefix. 
-       (gnus-level-default-unsubscribed): Missing value.
-       (gnus-simplify-subject-fuzzy): substring instead of
-       buffer-substring. 
-
-       * nnml.el (nnml-request-expire-articles): Would sometimes bomb,
-       for reasons unknown.
-
-       * nnmh.el (nnmh-request-list): Don't list empty groups.
-
-       * gnus.el (gnus-mail-forward-using-mail): Use emacs-lisp mode
-       map. 
-
-       * gnus.el: 0.56 is released.
-
-Sun Apr 16 00:34:51 1995  Christian Limpach  <chris@nice.ch>
-
-       * gnus.el (gnus-article-prepare): fixed moving to bookmark when
-       displaying article
-
-Fri Apr 21 05:56:51 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-score-check-syntax): Add file names to error
-       message. 
-       (gnus-browse-foreign-server): Numbers would be one off.
-
-       * nntp.el (nntp-request-group): Just use the GROUP command.
-
-Fri Apr 21 05:56:34 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el: 0.55 is released.
-
-Fri Apr 21 02:50:11 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-start-news-server): Set nnmh-directory in the
-       select method.
-
-       * nnfolder.el: Installed Scott Byer's patches.
-
-       * nnheader.el (nnheader-make-complex-temp-name): New variable. 
-
-       * gnus-mh.el: Installed Eric Selberg's patches.
-
-       * gnus.el (gnus-summary-check-current): New variable.
-       (gnus-summary-search-subject): Use variable.
-       Did the (replace-match "" t t) thing.
-       (gnus-simplify-subject-fuzzy): Buffer implementation.
-
-       * nnspool.el (nnspool-seconds-since-epoch): Returned incorrect
-       data. 
-
-       * gnus.el (gnus-article-prepare): Go to the next subject if the
-       article is canceled.
-
-Fri Apr 21 02:48:19 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.54 is released.
-
-Thu Apr 20 06:36:33 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-setup-news): Read .newsrc.eld before reading the
-       active file.
-       (gnus-group-edit-group-parameters): New command and keystroke.
-
-       * nntp.el (nntp-server-list-active-group): Improperly initialised. 
-
-       * gnus.el (gnus-retrieve-groups): New function.
-       (gnus-groups-to-gnus-format): New function.
-       (gnus-read-active-file): New semantics: `some'.
-       (gnus-level-subscribed, gnus-level-unsubscribed,
-       gnus-level-zombie, gnus-level-killed): New variables.
-       (gnus-inews-check-post): Many of the checks didn't actually check
-       anything. 
-       (gnus-check-before-posting): New variable.
-       (gnus-group-edit-group-method): New command and keystroke.
-       (gnus-group-mode-map): Change in keymap for edit-group.
-       (gnus-server-extend-method): Didn{t properly recognise native
-       groups. 
-
-       * gnus.el: Changes throughout to use the level variables instead
-       of the hard-coded level numbers.
-
-Thu Apr 20 04:23:34 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-        * gnus.el: 0.53 is released.
-
-Thu Apr 20 01:56:59 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus-uu.el (gnus-uu-part-number): New function.
-
-       * gnus.el (gnus-post-news): Don't require a group name to be legal
-       to allow composing the article.
-       (gnus-set-mode-line): Would bug out on a non-numerical
-       non-string-length. 
-       (gnus-mail-reply-using-mail): Would go to the summary buffer
-       instead of the mail buffer with non-standard window configs.
-       (gnus-summary-next-page): Go to the summary buffer.
-       (gnus-mail-reply-using-mail): Yank before hook.
-       (gnus-group-mode-map): Reinstituted to old keystrokes.
-       Installed Eric Selberg's mh and split-window patches.
-
-       * nntp.el (nntp-open-server-function): New variable.
-       (nntp-rlogin-parameters): New variable.
-       (nntp-rlogin-user-name): New variable.
-       (nntp-open-rlogin-stream): New function.
-       (nntp-open-network-stream): New function.
-       (nntp-retrieve-groups): New function.
-       (nntp-open-server): Don't break on a defs list containing just
-       "nntp" or a port number.
-
-Wed Apr 19 07:19:31 1995  Lars Magne Ingebrigtsen  <larsi@holmenkollen.ifi.uio.no>
-
-       * gnus.el: 0.52 is released.
-
-Wed Apr 19 05:51:27 1995  Lars Magne Ingebrigtsen  <larsi@holmenkollen.ifi.uio.no>
-
-       * nntp.el (nntp-request-group): Error in regexp when using LIST
-       ACTIVE. 
-
-       * gnus.el (gnus-parse-newsrc-body): Don't reset levels.
-       (gnus-group-always-list-unread): New variable.
-
-       * gnus-uu.el (gnus-uu-save-files): Ask user whether to overwrite
-       existing files.
-
-       * nnmbox.el (nnmbox-request-expire-articles): Fix from Ilja Weis.
-
-Tue Apr 18 02:45:28 1995  Christian Limpach  <chris@nice.ch>
-
-       * gnus.el (gnus-point-at-bol): new subst
-       (gnus-point-at-eol): new subst
-       * gnus.el: changed all save-excursions to find point at the
-       beginning or end of a line to use either gnus-point-at-bol or
-       gnus-point-at-eol.
-
-Wed Apr 19 03:59:04 1995  Lars Magne Ingebrigtsen  <larsi@holmenkollen.ifi.uio.no>
-
-       * gnus-visual.el (gnus-visual-highlight-selected-summary):
-       Highlight correctly with no mouse-face present.
-
-       * gnus.el (gnus-current-score-file-nondirectory): New function.
-       (gnus-mode-non-string-length): New semantics from Sudish Joseph. 
-
-       * gnus-uu.el: Included all of Eric Selbergs PostScript functions. 
-
-       * gnus.el (gnus-summary-mode-line-format-alist): Missing ?s in g
-       spec. 
-       (gnus-summary-read-group): Go to the next group if the group can't
-       be selected. 
-       (gnus-update-summary-mark-positions): Don't bug out on threads. 
-       (gnus-summary-copy-article): Accept the prefix as the default
-       group. 
-
-Wed Apr 19 03:28:37 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: Major changes in server handling; new mode; and lots of
-       stuff all over in all files. 
-
-       * gnus.el: 0.51 is released.
-
-Mon Apr 17 08:38:57 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-clear-system): Kill nntp-server-buffer upon exit. 
-       
-       * gnus.el: Added "*" to the beginning of the docs strings of all
-       user variables.
-
-Sun Apr 16 03:18:15 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-post-news): Yank before running
-       news-reply-header-hook. 
-       (gnus-group-list-groups): Go to the right group after listing. 
-       (gnus-summary-respool-article): Allow respooling from newsgroups. 
-       (gnus-split-methods): New variable.
-       (gnus-read-save-file-name): New function.
-       (gnus-summary-save-in-rmail): Have all the saving functions use
-       this new function.
-
-       * gnus-visual.el (gnus-summary-make-menu-bar): Menu change.
-
-       * gnus.el (gnus-cancel-news): Don't ask experts.
-       (gnus-summary-mark-region-as-read): New command and keystroke. 
-
-Sun Apr 16 20:45:38 1995  Lars Magne Ingebrigtsen  <larsi@maud.ifi.uio.no>
-
-       * gnus.el (gnus-save-newsrc-file): Run save-newsrc-hook even if
-       the file is not saved.
-       (gnus-summary-insert-pseudos): Would interleave pseudos and real
-       articles. 
-       (gnus-cancel-news): Generate a better error message.
-
-       * nnmh.el (nnmh-request-list): Do not try to read unreadable
-       directories. 
-
-       * gnus.el (gnus-copy-sequence): Would choke on just a single cons
-       cell. 
-       (gnus-inews-article): Would insert two \n's too many.
-
-Sat Apr 15 04:29:22 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-use-long-file-name): One quote symbol too many. 
-       (gnus-article-x-face-command): New variable.
-       (gnus-article-display-x-face): New command and keystroke.
-       (gnus-newsgroup-active): New internal variable.
-       (gnus-update-read-articles): Use this variable to ensure that new
-       articles that have arrived while the summary buffer existed are
-       not inadvertantly marked as read.
-       (gnus-score-headers): Remove exluded score files from the list of
-       score file alists. Probably.
-
-       * nntp.el (nntp-news-default-headers): New variable.
-       (nntp-request-post-buffer): Use it.
-
-       * gnus.el (gnus-inews-insert-headers): Extended syntax of
-       gnus-required-headers. 
-
-Sun Apr 16 00:02:02 1995  Lars Magne Ingebrigtsen  <larsi@holmenkollen.ifi.uio.no>
-
-       * gnus.el (gnus-summary-update-line): Don't mark ancient and read
-       articles as low-scored.
-       (gnus-inews-article): Would insert headers one line too early. 
-
-       * gnus.el: 0.50 is released.
-
-Sat Apr 15 22:16:26 1995  Lars Magne Ingebrigtsen  <larsi@holmenkollen.ifi.uio.no>
-
-       * gnus.el (gnus-score-headers): Changed to allow score alists
-       returned from function in...
-       (gnus-score-find-score-files-function): Wider semantics.
-       (gnus-parse-options-lines): Don't parse options if there aren't
-       any. 
-       (gnus-group-default-list-level): New variable.
-       (gnus-use-long-file-name): Extended semantics.
-       (gnus-group-list-groups): Use new variable.
-       (gnus-group-jump-to-group): Bux fix.
-
-Fri Apr 14 08:05:42 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: Installed Fabrice Popineau's XEmacs patches.
-
-       * nnfolder.el: Installed Scott Byer's version.
-
-       * nntp.el (nntp-request-group): Use LIST ACTIVE group if the
-       server supports it.
-
-Fri Apr 14 17:14:44 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-post-news): Set gnus-newsgroup-name when posting. 
-
-       * nnfolder.el (nnfolder-request-expire-articles): Setcar the wrong
-       thing. 
-
-       * gnus.el (gnus-summary-catchup): Would catchup no matter what
-       answer the user gave.
-
-       * nnfolder.el (nnfolder-request-close): New function to remove
-       nnfolder buffers.
-
-Fri Apr 14 17:09:40 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-        * gnus.el: 0.49 is released.
-
-Fri Apr 14 00:29:43 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-list-active-group): New function.
-       (gnus-browse-server-mode-map): New keystrokes: `l' and 
-       `L', which both return to the group buffer.
-
-       * nntp.el (nntp-list-active-group): New function.
-
-       * gnus.el: New spec for current score file.
-       (gnus-simplify-subject-fuzzy): Made fuzzier on white space.
-       (gnus-summary-cancel-article): Heade headers after replying, etc. 
-       (gnus-user-mail-address): New variable.
-       (gnus-score-orphans): Orphan functions added.
-
-Wed Apr 12 23:13:17 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-score-body): New function.
-       (gnus-summary-raise-by-body): All the raise/lower functions and
-       keystrokes are added.
-
-Wed Apr 12 17:23:32 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-mail-reply-using-mail): Allow reply-to function to
-       return a list of headers to insert.
-       (gnus-summary-save-article): Don't re-request articles before
-       saving. 
-       (gnus-summary-read-group): If all articles have been expunged on
-       accound of low scores, display all articles.
-       (gnus-score-check-syntax): Don't choke on empty score entries.
-
-Wed Apr 12 00:23:01 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: Doc fix.
-       (gnus-score-integer): New function.
-       (gnus-score-date): New function.
-
-       * nntp.el (nntp-accept-response): Give a better error message.
-
-       * nnvirtual.el (nnvirtual-update-marked): Removal of article marks
-       now propagates to the source groups.
-
-       * gnus.el (gnus-select-newsgroup): Adjust marked lists after
-       really entering group.
-
-Tue Apr 11 23:08:25 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-catchup-and-goto-next-group): New command
-       and keystroke.
-       (gnus-summary-toggle-header): Set point at the start up the buffer
-       when toggling the header.
-       (gnus-score-transform-old-to-new): Would rewrite 'files atoms
-       incorrectly. 
-
-       * nnmail.el (nnmail-request-post-buffer): Bind buffer-read-only to
-       nil before attempting to change the buffer.
-
-       * gnus-uu.el (gnus-uu-save-files): Don't choke on non-existing
-       files. 
-
-       * gnus.el (gnus-score-save): Make sure that the directory that the
-       score file is written to actually exists.
-
-       * gnus-kill.el (gnus-kill-file-raise-followups-to-author):
-       Misleading message.
-
-       * gnus.el (gnus-summary-save-article): Remove any X-Gnus header
-       lines before saving.
-
-Tue Apr 11 00:03:35 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-summary-number-of-articles-in-thread): New
-       function. 
-       (gnus-summary-score-entry): A slightly more elaborate prompt.
-       (gnus-group-first-unread-group): New function and keystroke.
-
-Mon Apr 10 20:41:55 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-summary-mark-as-read-forward): Overwrite E marks. 
-       (gnus-group-jump-to-group): Allow jumping to groups not in the
-       active file.
-       (gnus-summary-line-format-alist): New spec: number of articles in
-       the current subthread.
-
-       * nnml.el (nnml-possibly-create-directory): Create directories on
-       the fly instead of creating all possible directories at startup.
-
-       * nnmail.el (nnmail-article-group): Allow nnmail-split-methods to
-       be a function to be called.
-
-       * gnus.el (gnus-nov-parse-line): Allow articles without
-       message-ids to pass through. Fudge temporary ids.
-
-       * nnml.el (nnml-make-nov-line): Create dummy message-ids for
-       articles that do not have them.
-
-       * gnus.el (gnus-group-make-group): Refuse to create groups that
-       already exist.
-       (gnus-group-change-level): Don't enter foreign groups into killed
-       lists. 
-       (gnus-parse-n-options): Handle options -n lines as the were
-       supposed to - sequentially.
-       (gnus-newsrc-options-n-yes, gnus-newsrc-options-n-no): Obsolete
-       variables. 
-       (gnus-newsrc-options-n): New variable.
-       (gnus-matches-options-n): New function.
-       (gnus-summary-next-group): Kill summary buffer even when C-g'ing
-       while choosing the next group after n'ing.
-       (gnus-summary-mode-line-format-alist): New format spec added.
-       (gnus-short-group-name): New function.
-       (gnus-mail-forward-using-mail): Use From line instead of grup name
-       in the Subject header when forwarding.
-       (gnus-summary-mode-line-format-alist): Added user-defined spec to
-       the mode line alists. 
-       (gnus-score-save): Would set `gnus-score-cache' to nil.
-
-       * gnus-uu.el (gnus-uu-mark-sparse): Did not create hashtb before
-       using it.
-
-       * gnus.el (gnus-mail-other-window-using-mail): Used lisp keymap.
-
-Mon Apr 10 20:29:26 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el (gnus-summary-move-article): Didn't remove articles from
-       list of unreads.
-
-Mon Apr 10 14:59:49 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el, gnus-uu.el: Changed all instances of
-       mail-header-separator to use regexp-quote and anchors.
-
-       * gnus.el (gnus-nov-parse-line): Don't choke on malformed NOV
-       lines. 
-
-Sun Apr  2 13:16:03 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el (gnus-inews-insert-headers): Didn't check new
-       -gather-limit correctly. 
-       (gnus-summary-prepare-threads): Print subjects if `fuzzy' was
-       used, but subjects aren't equal.
-
-Sun Apr  2 12:11:17 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el: 0.47 & 0.48 is released.
-
-       * nnmh.el (nnmh-article-pathname): Wouldn't find groups that were
-       located in directories that had "." in the directory names.
-
-       * gnus.el (gnus-score-load-file): Changing score alists would have
-       no effect. 
-
-Sat Apr  1 16:45:14 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-visual.el (gnus-visual-highlight-selected-summary): Would
-       mess up selected face when no mouse highlights were used.
-
-       * nnml.el (nnml-request-create-group): Really create groups that
-       are created.
-
-       * gnus.el (gnus-setup-news): If the local server can't be
-       contacted, just ignore it and offer to continue.
-       (gnus-group-post-news): Set newsgroup name to nil before offering
-       to post.
-       (gnus-summary-read-group): Summary buffer wouldn't be killed when
-       `n'-ing to a group that had all its articles expired.
-
-       * nntp.el (nntp-open-server): Allow quitting when setting up
-       connection to a server.
-
-       * gnus.el (gnus-articles-to-read): Ticked articles would become
-       read when newsgroups were entered with C-u SPC.
-       (gnus-inews-check-post): Check outgoing post for long lines.
-       (gnus-score-load-score-alist): Ignore empty score files. 
-       (gnus-score-check-syntax): Check score file syntax.
-
-Sat Apr  1 10:41:11 1995  Lars Magne Ingebrigtsen  <larsi@nain.ifi.uio.no>
-
-       * gnus.el (gnus-summary-move-article): Did not remove ticked and
-       dormant articles from relevant lists.
-
-Fri Mar 31 11:49:44 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus-kill.el (gnus-apply-kill-file-internal): Did not add kill
-       buffers to the buffer list for later killing.
-
-       * nnml.el (nnml-request-expire-articles): Would bug out on empty
-       groups. 
-
-Wed Mar 29 13:34:45 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnspool.el (nnspool-request-newgroups): Use floats instead of
-       fudging. 
-
-       * gnus.el (gnus-adjust-marked-articles): Remove expired reply
-       marks. 
-
-       * nnvirtual.el (nnvirtual-create-mapping): Ignore marks on
-       articles that are expired.
-
-       * gnus.el (gnus-gather-threads): Allow fuzzy comparisons.
-       (gnus-simplify-subject-fuzzy): New function.
-
-       * nnml.el (nnml-request-create-group): New function.
-
-       * gnus.el (gnus-group-make-group): Create nnml groups when
-       requested. 
-       (gnus-request-create-group): New function.
-
-       * nntp.el (nntp-request-article): Avoid obsolete concating of
-       numbers-as-strings.
-
-Wed Mar 29 10:21:00 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-        * gnus.el: 0.46 is released.
-
-Wed Mar 29 09:55:15 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-score-load-file): Use different method for
-       figuring out whether score file names are relative.
-
-Wed Mar 29 08:54:25 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el (gnus-group-set-info): Bugged out on lists instead of
-       ranges. 
-
-       * nntp.el (nntp-open-server): Would try to send MODE READER even
-       when opening was unsuccessful.
-
-Wed Mar 29 03:56:05 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el (gnus-group-faq-directory): Change in value.
-
-Tue Mar 28 11:06:18 1995  Lars Magne Ingebrigtsen  <larsi@maud.ifi.uio.no>
-
-       * gnus.el (gnus-group-archive-directory): New variable.
-       (gnus-group-make-archive-group): New command and keystroke.
-       (gnus-get-unread-articles): Did not properly activate nnvirtual
-       groups. 
-       (gnus-summary-insert-pseudos): Didn't initialize hashtb before
-       inserting pseudos.
-
-Mon Mar 27 20:58:05 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el (gnus-summary-sort): If used in summary-prepare-hook,
-       would lead to infinite recursion.
-
-Mon Mar 27 19:09:35 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-mail-other-window-using-mail): Would give wrong
-       parameters to sendamil function.
-
-Mon Mar 27 19:06:58 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.45 is released.
-
-Mon Mar 27 18:31:05 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-catchup-to-here): Would mark everything as
-       read. 
-
-       * nnml.el (nnml-request-expire-articles): Max without apply.
-
-Mon Mar 27 12:16:37 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el (gnus-no-groups-message): New variable.
-       (gnus-group-best-unread-group): Don't just to the current group.
-
-Mon Mar 27 11:18:40 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus-kill.el (gnus-kill): Would remove all kill entries from
-       kill files. 
-
-       * gnus.el (gnus-post-news): Did not work from the group buffer. 
-       (gnus-score-load-file): Would unconditionally overwrite expunge
-       and mark levels.
-
-Mon Mar 27 11:13:43 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.41-0.44 released in quick succession. Fixed new range
-       operators.
-
-Sat Mar 25 05:05:26 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-compress-newsrc-assoc,
-       gnus-uncompress-newsrc-assoc): Compress lists of marked articles
-       before writing them to the .newsrc.eld file.
-       (gnus-select-newsgroup): auto-expire match on full name.
-       (gnus-select-newsgroup): New element in select methods:
-       auto-expire. 
-       (gnus-save-scores): New variable. 
-       (gnus-summary-exit): Use it.
-       (gnus-newsrc-to-gnus-format): If .newsrc was newer than
-       .newsrc.eld, all foreign groups would be hosed.
-
-       * gnus.el: All range functions have changed to allow an extended
-       syntax.
-
-Fri Mar 24 07:17:20 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-move-article): Copy marks when moving
-       articles. 
-       (gnus-set-sorted-intersection): Would compute incorrect
-       intersection. 
-
-       * nndoc.el (nndoc-retrieve-headers): Insert Lines header.
-       * nnmh.el (nnmh-retrieve-headers): Ditto.
-       (nndigest-retrieve-headers): Ditto.
-
-       * nndigest.el (nndigest-narrow-to-article): Don't include the
-       closing digest separator in an article. 
-
-       * gnus.el (gnus-group-change-level): When subscribing to
-       non-existant groups, would claim that there was one unread article
-       in the group.
-       (gnus-summary-delete-article): Remove process mark after deleting
-       articles. 
-       (gnus-score-load-file): 'files was not properly handled, and edits
-       would end up with the wrong alist as the current one. 
-       (gnus-score-edit-alist): Name change from -file. 
-       (gnus-score-edit-file): New function and keystroke.
-
-       * nntp.el (nntp-request-newgroups): Would bug out due to a `let'
-       instead of a `let*'.
-
-       * gnus.el (gnus-score-save): Score files would not be saved. 
-       (gnus-summary-update-line): Would mark as read-below even when
-       attempting to remove the mark.
-
-Thu Mar 23 08:29:56 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-save-article-file,
-       gnus-summary-save-article-folder,
-       gnus-summary-save-article-rmail): New commands and keystrokes.
-       (gnus-summary-sort): All sort commands now also work when
-       threading is used.
-       (gnus-summary-mode-map): Several key changes.
-
-       * nnml.el (nnml-request-expire-articles): Update active file as
-       well. 
-       * nnbabyl.el (nnbabyl-request-expire-articles): Ditto.
-       * nnfolder.el (nnfolder-request-expire-articles): Ditto.
-       * nnmbox.el (nnmbox-request-expire-articles): Ditto.
-
-       * nnmail.el (nnmail-tmp-directory): New variable.
-       (nnmail-move-inbox): Use it.
-
-       * nnvirtual.el (nnvirtual-update-marked): Would insert non-visible
-       component groups into the group buffer.
-
-       * nnmh.el (nnmh-get-new-mail): Don't create directories unless
-       mail reading is wanted.
-
-       * nnfolder.el (nnfolder-read-folder): Insert number of lines in
-       the article.
-
-       * gnus.el (gnus-group-unsubscribe-group): Would refuse to
-       subscribe to groups not in active file. 
-
-Thu Mar 23 13:23:45 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: Remove two calls to `debug'.
-
-       * gnus.el: 0.40 is released.
-
-Thu Mar 23 06:29:03 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.39 is released.
-
-Thu Mar 23 04:10:52 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el (gnus-mail-other-window-using-mail): Allow yanking, and
-       fix winconf on exit.
-       (gnus-group-faq-directory): Wrong default value.
-       (gnus-group-fetch-faq): Did not work.
-       (gnus-score-save): Would save score files even when there wasn't
-       one. 
-
-       * gnus-uu.el (gnus-uu-decode-uu-and-save): Use an uu default
-       directory. 
-
-       * nnfolder.el (nnfolder-read-folder): Would bug out if there was
-       no active file.
-
-       * gnus.el (gnus-ask-server-for-new-groups): Did not really work
-       for any backends.
-       (gnus-group-unsubscribe-group): Would not let you susbcribe to
-       killed groups.
-       (gnus-summary-catchup): Would not catchup expired articles. 
-
-Thu Mar 22 14:23:03 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.38 is released.
-
-Wed Mar 22 13:55:21 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nntp.el (nntp-send-mode-reader): Blocked reading of active list.
-
-Wed Mar 22 13:55:05 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: 0.37 is released. 
-
-Wed Mar 22 08:37:15 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * nntp.el (nntp-send-mode-reader): Actually send the mode reader
-       command. 
-
-Wed Mar 22 00:00:01 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-make-threads-and-expunge): Really, really expunge
-       low-scored articles. Right.
-       (gnus-make-threads): Simpler function to speed things up when
-       expunging is not needed.
-
-       * nnvirtual.el (nnvirtual-create-mapping): Would bug out in the
-       presence of bogus groups.
-
-       * nnspool.el (nnspool-possibly-change-directory): Don't error out
-       when errors occur, but return a message instead.
-
-       * nndoc.el (nndoc-possibly-change-buffer): Would bug out if the
-       file didn't exist.
-
-       * gnus.el (gnus-mark-xrefs-as-read): Handled crossrefs to groups
-       with no read articles strangely. Also didn't perform crossreffing
-       when select methods were only almost equal.
-       (gnus-make-articles-unread): Would bug out when nnmh was the
-       native server. 
-
-       * nnbabyl.el (nnbabyl-read-mbox): Did not properly label articles. 
-
-       * gnus.el (gnus-set-mode-line): Do unread-and-unticked by default. 
-       (gnus-summary-pop-article): New command and keystroke.
-       (gnus-mode-non-string-length): New variable.
-       (gnus-set-mode-line): Use it.
-       (gnus-score-mode): New mode to edit score files. 
-       (gnus-inews-date): Did the opposite thing of what it was supposed
-       to do with time zones.
-       (gnus-group-make-group): Don't prompt for address if that is
-       irrelevant. 
-
-Tue Mar 21 10:01:20 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnfolder.el (nnfolder-read-folder): Would only work if incoming
-       mail was split by Gnus.
-
-       * gnus.el (gnus-score-transform-old-to-new): Function for
-       rewriting old score files.
-       (gnus-score-expiry-days): Name change from
-       `gnus-kill-expiry-days'. 
-       (gnus-score-headers): All score functions rewritten to deal with
-       the new format.
-       (gnus-summary-goto-unread): New variable.
-       (gnus-summary-mark-forward): Use it.
-
-Tue Mar 21 04:50:05 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-mark-article): Low-scored articles in
-       auto-expirable grups should be expirable.
-
-Mon Mar 20 00:07:36 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-post-news): Also prompt for Subject, if that is
-       required. 
-       (gnus-global-score-files): New variable.
-       (gnus-score-score-files): Use it.
-       (gnus-score-save): Don't attempt to save read-only score files. 
-       (gnus-summary-mode-map): Score map error.
-       (gnus-score-load-score-alist): New function.
-       (gnus-summary-*-raise/lower-by-id): New commands and keystrokes
-       for raising/lowering by message-id. 
-
-       * nntp.el (nntp-request-post-buffer): Don't rely on any Gnus
-       variables. 
-
-       * gnus.el: Lots and lots of doc fixes.
-       (gnus-execute): Would not allow use from summary buffer.
-       (gnus-local-timezone): Removed variable.
-       (gnus-summary-followup): Don't display article.
-
-Sun Mar 19 04:34:30 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-activate-newsgroup): If a server can't be reached,
-       there's not much point in trying to request groups from it.
-       (gnus-mark-xrefs-as-read): Also do Xrefs to unsubscribed groups
-       unconditionally if virtual groups are used.
-
-       * nntp.el (nntp-open-server): Set up timeouts for connections. 
-       (nntp-connection-timeout): New variable.
-
-       * gnus.el (gnus-get-unread-articles): Allow activation of virtual
-       groups. 
-       (gnus-kill-file-mode): Reinstated most GNUS functions and took out
-       all gnus-raise/lower code.
-       (gnus-summary-mode): Doc fix. (Snicker.)
-       (gnus): Move startup hook backwards.
-       (gnus-articles-to-read): Use total-number as the default. 
-       (gnus-member-of-range): Minor inaccuracy.
-       (gnus-sorted-complement): New, faster function.
-       (gnus-articles-to-read): Use it.
-       (gnus-sorted-intersection, gnus-set-sorted-intersection): New
-       functions. 
-       (gnus-select-newsgroup): Use them.
-
-Sun Mar 19 02:46:15 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): Would leave extra
-       spaces before the Xref sometimes, causing problems for subsequent
-       Xref handling.
-
-Sun Mar 19 02:46:01 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el: 0.36 is released.
-
-Sun Mar 19 00:03:37 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): When NOV lines only
-       had seven tabs, this would deliver incorrect results.
-
-       * gnus.el (gnus-execute-1): Would not search through article
-       bodies. 
-       (gnus-summary-prepare-threads): 'empty was not properly respected. 
-
-       * nntp.el (nntp-open-server): Would bug out if server refused
-       connection. 
-
-       * gnus.el (gnus-make-threads): Expunge non-scored articles, if
-       wanted. 
-       (gnus-summary-prepare-threads): When not threading, expunge
-       nmon-scored, if wanted. 
-
-Sat Mar 18 23:39:47 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el (gnus-summary-insert-line): Would bug out if
-       gnus-summary-default-score was nil.
-       (gnus-inews-news): If `gnus-mail-courtesy-message' is nil, don't
-       append one. 
-
-Sat Mar 18 16:39:59 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-group-edit-group): Use pp.
-       (gnus-score-change-score-file): New command and keystroke. 
-
-       * nntp.el (nntp-request-post-buffer): Pass the request on to
-       nnmail if that is wanted.
-
-       * gnus.el (gnus-post-news): Send mail even when requesting post
-       when `to-address' is set.
-
-       * nntp.el (nntp-server-opened-hook): Doc fix.
-       (nntp-send-mode-reader, nntp-send-authinfo): New functions. 
-
-       * gnus.el (gnus-score-find-bnews): Would bug out when presented
-       with the file "SCORE". 
-
-Fri Mar 17 14:05:54 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-exit): Buffer-local vectors would not be
-       garbage-collected, leading to a major memory drain.
-
-Thu Mar 16 22:14:14 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-update-read-articles): Would mark ticked articles
-       not displayed as read.
-       (gnus-member-of-range): Also accept single-range ranges.
-       (gnus-get-unread-articles-in-group): Adjust ticked and dormant
-       articles before computing the number of unread articles. 
-       (gnus-summary-next-article): Would need an extra C-n before
-       moving to the right groups (sort of).
-
-Thu Mar 16 16:52:19 1995  Lars Magne Ingebrigtsen  <larsi@beli.ifi.uio.no>
-
-       * gnus.el: 0.35 is released.
-
-Thu Mar 16 15:47:33 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-read-descriptions-file): Changed pattern to
-       delete. 
-       (gnus-group-describe-group): Added "force" prefix.
-
-Thu Mar 16 00:08:23 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnvirtual.el (nnvirtual-create-mapping): Be more lenient with
-       component groups that can't be requested.
-
-       * nnml.el (nnml-possibly-change-directory): Don't signal errors.
-
-       * gnus.el (gnus-group-get-new-news-this-group): Display better
-       error messages when errors occur.
-
-       * nnspool.el (nnspool-request-group): Return an error message if
-       the group can't be selected.
-
-       * nntp.el (nntp-open-server): Don't bug out if getting a C-g while
-       waiting for initial contact.
-
-       * nnspool.el (nnspool-request-newgroups): Now also supported by
-       nnspool. 
-
-       * gnus-visual.el (gnus-group-make-menu-bar): -make-doc-group did
-       not exist.
-
-       * gnus.el (gnus-group-faq-directory): Missing leading slash. 
-
-       * nnfolder.el (nnfolder-request-list): The first time this is
-       called, create the active file.
-
-       * gnus.el (gnus-group-change-level): When subscribing to killed
-       groups with no articles, would enter wrong number of read
-       articles. 
-
-       * nnspool.el (nnspool-server-opened): Would return t even when not
-       opened. 
-
-Wed Mar 15 23:47:52 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-get-new-news-in-group): Give a sensible return
-       value. 
-       (gnus-group-get-new-news-this-group): Beep if group can't be
-       activated. 
-
-       * nnfolder.el (nnfolder-request-group): Complain if the group
-       doesn't exist.
-
-Wed Mar 15 19:14:47 1995  Lars Magne Ingebrigtsen  <larsi@beli.ifi.uio.no>
-
-       * gnus.el (gnus-summary-refer-article): Would behave strangely
-       when refering an article already present in the summary buffer.
-
-Wed Mar 15 17:53:14 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el: 0.34 is released.
-
-Wed Mar 15 00:53:47 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-post-news): Would bug out when posting from the
-       group buffer.
-
-       * gnus-uu.el (gnus-uu-grab-articles): Don't mark ticked (etc)
-       articles as read.
-
-       * gnus.el (gnus-find-method-for-group): Before no groups were
-       entered, a bug here would result in an incorrect error message
-       when the nntp server couldn't be contacted.
-       (gnus-summary-mode-map): Several changes.
-       (gnus-read-descriptions-file): Would delete lines that were valid. 
-
-Tue Mar 14 23:11:30 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-next-article): Enable the use of C-n and
-       C-p when choosing "next group" in the summary buffer.
-       (gnus-summary-recenter): Behaves in a slightly modified
-       fashion. Now also works with absolutely all sizes.
-
-Mon Mar 13 11:13:41 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-catchup): Would mark all as read, even if
-       to-here was non-nil.
-       (gnus-summary-catchup-to-here): Disable prompting.
-       (gnus-summary-update-lines): Do updateing even with gnus-visual
-       nil. 
-       (gnus-score-load-file): New atom - mark-and-expunge.
-
-       * nnmail.el (nnmail-split-methods): New semantics.
-       (nnmail-article-group): Use them.
-
-       * gnus.el (gnus-group-list-matching): Fix and bound to keys and
-       menus.
-       (gnus-group-list-all-matching): New command.
-       (gnus-group-sort-groups): Would make all groups disappear. 
-
-       * (-request-move-article, -request-accept-article): Only do saving
-       after the last article has been moved.
-
-       * nnml.el (nnml-save-nov): Only save modified buffers.
-
-       * gnus.el (gnus-summary-move-article): Only save nov files once
-       when moving many articles.
-       (gnus-post-news): Did not allow interactive calls. 
-
-Sun Mar 12 16:52:50 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-mail-forward-using-mail): Would not bind
-       `gnus-mail-send-and-exit' to `C-c C-c'.
-
-Sun Mar 12 16:30:28 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: 0.33 is released.
-
-Sun Mar 12 09:42:11 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-prepare-threads, gnus-make-threads):
-       Really expunge all low-marked articles if that is wanted.
-       (gnus-score-score-files): Would bug out if `gnus-use-long-names'
-       was nil and no score file exists.
-
-Sat Mar 11 19:14:05 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-toggle-threads): Go to the last article if
-       none is present on the current line.
-       (gnus-summary-prepare-threads): Cull dormant and low-scored
-       articles when displaying non-threaded summary buffers.
-       (gnus-post-news, gnus-mail-reply-using-mail): Respect
-       `gnus-use-full-window'. 
-       (gnus-summary-copy-article): New command and keystroke.
-
-Fri Mar 10 05:24:11 1995  Lars Ingebrigtsen  <lmi@eyesore.no>
-
-       * gnus.el: 0.32 is released.
-
-Fri Mar 10 05:24:11 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-next-article, gnus-summary-prev-article,
-       gnus-summary-prev-group):  New implementations.
-       (gnus-article-prepare): The summary mode line would say "1 unread"
-       when there were none.
-       (gnus-summary-toggle-header): Did not hide headers after using
-       MIME. 
-       (gnus-check-bogus-newsgroups): Removed checking for duplicate
-       killed groups. 
-       (gnus-check-duplicate-killed-groups): New function.
-       (gnus-summary-update-mark): Allow summary-clear-mark to clear even
-       the low-score-mark.
-       (gnus-check-first-time-used): Don't re-subscribe default groups
-       when re-scanning, before creating the .newsrc files.
-
-       * gnus-uu.el (gnus-uu-decode-save): Insisted on saving to an
-       existing file. 
-
-Thu Mar  9 08:44:18 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnfolder.el (nnfolder-request-move-article): Did not work.
-
-       * nnmbox.el (nnmbox-request-move-article): Did not work at all. 
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): Did not properly
-       translate xrefs from foreign groups.
-
-Mon Mar  6 06:13:26 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-fetch-faq): New command and keystroke. 
-       (gnus-group-faq-directory): New variable.
-       (gnus-group-fetch-faq): New command and keystroke.
-       (gnus-apply-kill-file): No longer calls expunge-below.
-
-       * nntp.el (nntp-request-group-description): New function.
-
-       * gnus.el (gnus-extract-address-components): Understands some
-       formats better.
-       (gnus-cut-thread): Make sure all expunged articles are marked as
-       read. 
-       (gnus-group-sort-groups): New command and keystroke.
-       (group-group-sort-by-alphabet, gnus-group-sort-by-unread,
-       gnus-group-sort-by-level): New functions.
-       (gnus-group-sort-function): New variable.
-       (gnus-group-describe-group): Use XGTITLE for group descriptions.
-       (gnus-group-get-description): New function.
-       (gnus-request-group-description): New function.
-
-       * nnmbox.el (nnmbox-request-move-article): Did not work and would
-       destroy the active list.
-
-       * gnus.el (gnus-score-load-file): Add a 'touched to the alist if
-       there isn't one already.
-       (gnus-score-save): Remove 'touched before writing score file. 
-       (gnus-score-find-bnews): Always return the local score file, even
-       if it doesn't exist.
-       (gnus-score-load-file): Really execute special atoms.
-       (gnus-score-set, gnus-score-get): Return to the old definitions of
-       these functions.
-       (gnus-cut-thread): Cut dormant and ancient articles from the
-       threads. 
-       (gnus-summary-show-all-dormant): New implementation.
-       (gnus-summary-hide-all-dormant): New command and keystroke.
-       (gnus-make-threads): Now expunges articles with low scores. 
-       (gnus-summary-show-all-expunged): New implementation.
-       (gnus-summary-catchup): Did not mark expunged articles as read. 
-
-Sun Mar  5 01:29:49 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-mark-article): Also auto-expire caught up
-       articles. 
-       (gnus-group-make-kiboze-group): Would produce incorrect score
-       files. 
-       (gnus-group-insert-group-line): Would scroll the top off the
-       screen. 
-
-Sat Mar  4 02:32:11 1995  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
-
-       * gnus.el (gnus-summary-read-group): Would do strange stuff to the
-       window configuration when not using full screen.
-       (gnus-get-unread-articles-in-group): Check for illegal read
-       numbers. 
-
-       * gnus-uu.el (gnus-uu-save-files): Would bug if the file already
-       existed.
-
-Sat Mar  4 00:32:07 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-mark-xrefs-as-read): Would compute the wrong
-       number of unread articles.
-
-Fri Mar  3 23:52:28 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-group-search-forward): Would ignore level 5
-       groups. 
-
-Fri Mar  3 00:41:42 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * nnml.el (nnml-request-group): Would not work if the active file
-       was changed from without.
-
-       * gnus.el (gnus-summary-move-article): Have the group prefix be
-       the initial string.
-       (gnus-group-edit-group-done): pop instead of switch to edit
-       buffer. 
-       (gnus-group-set-info): Now also accepts group name changes.
-       (gnus-group-prepare-flat): Sort killed and zombie groups.
-       (gnus-extract-address-components): New variable.
-       
-       * gnus.el: 0.31 is released
-
-Thu Mar  2 01:57:30 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-refer-article-method): New variable.
-       (gnus-summary-refer-article): Use it.
-       (gnus-find-method-for-group): Use the results of the usage. 
-       (gnus-request-article-this-buffer): Use it even more.
-       (gnus-group-mode-map): make-directory-group and make-doc-group
-       have moved.
-       (gnus-group-make-doc-group): Check whether the doc group exists
-       before creating it.
-       (gnus-group-make-kiboze-group): New command and keystroke.
-
-       * nnfolder.el: New one-file one-group mail backend.
-
-       * nnmail.el (nnmail-move-inbox): Would occationally kill a random
-       buffer. Just to keep the users on their toes. Just for the heck of
-       it. 
-
-       * nnvirtual.el (nnvirtual-create-mapping): Would barf if component
-       groups were unactivated.
-       (nnvirtual-retrieve-headers): Would deliver incorrect Xrefs if
-       component groups were foreign.
-
-       * gnus.el (gnus-summary-insert-pseudos): Use the `not-confirm'
-       value of gnus-view-pseudos.
-       (gnus-group-suspend): Don't kill the dribble buffer.
-
-Wed Mar  1 20:58:35 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-save-newsrc-file): Would bug after suspending.
-
-Wed Mar  1 17:01:49 1995  Lars Magne Ingebrigtsen  <larsi@visbur.ifi.uio.no>
-
-       * gnus.el (gnus-article-remove-cr): Didn't set read-only to nil.
-       (gnus-browse-foreign-server): Ignore the groups that should be
-       ignored. 
-
-       * nnspool.el (nnspool-retrieve-headers-with-nov): Misplaced paren.
-       (nnspool-nov-directory): New variable.
-       (nnspool-retrieve-headers-with-nov): Use variable.
-
-       * gnus.el (gnus-inews-domain-name): Try to guess the domain name
-       from (system-name) if all else fails.
-       (gnus-score-find-bnews): Get even that trailing "/" deleted from
-       the kill file dir name.
-
-Wed Mar  1 17:01:25 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el: 0.30 is released.
-
-Wed Mar  1 00:16:38 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-unique-id): New message-id look.
-
-       * nnml.el (nnml-request-group): Returned nothing if called without
-       having been pre-activated by the presence of new mail.
-
-       * gnus.el (gnus-group-prepare-flat): Did not list groups with only
-       ticked articles.
-       (gnus-update-read-articles): Miscalculated number of unread
-       articles. 
-       (gnus-summary-line-format-alist): %N defined as a number.
-       (gnus-summary-exit): When `gnus-use-full-window' was nil, strange
-       stuff would happen.
-       (gnus-subscribe-newsgroup): Bugged out on near-empty group
-       buffers. 
-       (gnus-check-new-newsgroups): Can now specify a list of select
-       methods to be asked.
-       (gnus-group-set-current-level): Advance after setting level.
-       (gnus-view-pseudos): New value: not-confirm, for totally automatic
-       viewing. 
-       (gnus-get-new-news-in-group): Would break on killed groups.
-       (gnus-update-read-articles): Would break on non-active groups.
-
-Tue Feb 28 22:56:22 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-select-newsgroup): Kill the summary buffer if the
-       group can't be entered.
-
-       * nnml.el (nnml-request-group): Occationally replied nil.
-
-       * gnus.el (gnus-group-make-doc-group): Did not work at all.
-       (gnus-summary-enter-digest-group): Would mess with
-       `gnus-newsrc-assoc'. 
-
-Tue Feb 28 19:16:05 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * nnkiboze.el (nnkiboze-request-group): Would bug on empty groups. 
-
-Tue Feb 28 18:12:30 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el: 0.29 is released.
-
-Tue Feb 28 00:25:04 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-group-prepare-function): New variable.
-
-       * nnml.el (nnml-request-group): Faster implementation.
-
-       * gnus.el: All y-or-n-p's and yes-or-no-p's delete their messages
-       from the echo area.
-
-       * nnselect.el: New backend.
-
-       * gnus.el (gnus-batch-score): Can now also be used interactively. 
-
-Mon Feb 27 17:22:54 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-update-format-specifications): Would read active
-       file when %D was in the group line spec unconditionally.
-       (gnus-group-make-doc-group): Look through path for doc group. 
-       (gnus): Don't show describe-briefly.
-
-Mon Feb 27 14:52:48 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-use-dribble-file): New variable.
-
-Sun Feb 26 19:42:24 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnbabyl.el: New backend for reading rmail files.
-
-       * nnml.el (nnml-request-replace-article): Update nov lines after
-       accepting an edited article.
-
-       * gnus.el (gnus-update-summary-mark-positions): The user can now
-       also specify where the marks are to go (with some limits).
-
-Sat Feb 25 19:14:40 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnvirtual.el (nnvirtual-update-marked): Handles all marks
-       properly (again).
-
-       * gnus.el (gnus-start-news-server): Would not accept non-nntp
-       select methods interactively.
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): Pass on NOV lines
-       instead of HEADers to Gnus.
-       (nnvirtual-convert-headers): Convert HEADers, if nnvirtual is
-       handed them, into NOV lines.
-
-       * nntp.el (nntp-retrieve-headers-with-xover): Would reply t the
-       first time used, even if the server wasn't XOVER capable.
-
-Sat Feb 25 16:44:26 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el (gnus-group-list-zombies): Let the user know if there
-       are no zombie groups.
-
-Sat Feb 25 16:01:13 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el: 0.28 is released.
-
-Sat Feb 25 16:01:13 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-exit): Kill expunged buffer on exit.
-
-Sat Feb 25 13:44:56 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-group-unsubscribe-group): Don't require a matching
-       name if the active have haven't been read.
-       (gnus-article-word-wrap): And all the other article functions
-       didn't set buffer-read-only to nil first.
-       (gnus-sorted-header-list): Added To: to the list of default
-       visible headers.
-       (gnus-score-set): Always enter scores into the local score file. 
-       (gnus-summary-raise-thread): Update mode line.
-
-Sat Feb 25 01:38:07 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnvirtual.el: Rewrite. Got rid of that pesky vector. Also enable
-       reading read articles from the source groups.
-
-Fri Feb 24 22:30:38 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-options-subscribe, gnus-options-not-subscribe):
-       New variables.
-       (gnus-parse-options-lines): Use new variables.
-
-Fri Feb 24 18:32:38 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-group-describe-all-groups): Did not work.
-
-Fri Feb 24 17:34:55 1995  Lars Magne Ingebrigtsen  <larsi@gymisr.ifi.uio.no>
-
-       * gnus.el: 0.26 is released.
-
-       * nntp.el (nntp-maximum-request): Set to 400.
-
-       * gnus.el (gnus-summary-search-article): Would bug if executed
-       at the end of the buffer.
-
-Fri Feb 24 00:03:04 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-insert-pseudos): Insert pseudo-articles
-       after the articles from whence they came.
-       (gnus-group-make-doc-group): New command and keystroke.
-       (gnus-check-first-time-used): Subscribe to the doc group if this
-       is the first time used.
-
-       * gnus-uu.el (gnus-uu-grab-articles): Have article numbers
-       associated with pseudos.
-
-       * gnus.el (gnus-group-list-groups): The group buffer would
-       sometimes be killed at this point.
-
-       * nndoc.el: New backend for reading a single mbox-like file as one
-       newsgroup. 
-
-       * nndigest.el (nndigest-close-group): Kill the nndigest group
-       buffer. 
-
-       * gnus.el (gnus-configure-windows): Summary and article buffers
-       would spuriously change to buffer-read-only nil.
-       (gnus-summary-work-articles): Would sort instead of reverse the
-       list of processable articles.
-
-Thu Feb 23 23:30:14 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-read-mark): Both `R' and `D' marks. 
-
-       * nnmbox.el ('nnmbox-request-post-buffer): Cyclic definition.
-
-       * gnus.el (gnus-summary-mail-forward): Would not restore window
-       configuration properly after sending mail.
-
-Thu Feb 23 16:09:54 1995  Lars Magne Ingebrigtsen  <larsi@surt.ifi.uio.no>
-
-       * gnus.el: 0.25 is released.
-
-Thu Feb 23 10:20:46 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-enter-digest-group): New command.
-       (gnus-summary-mode-map): `E' - expiry, `e' - edit article.
-
-       * nndigest.el: New backend.
-
-       * gnus.el (gnus-mark-xrefs-as-read): Would not mark xrefs as read
-       when select methods were similar.
-       (gnus-group-insert-group-line): %t did not work properly in the
-       specs. 
-       (gnus-score-hierarchical): Removed variable.
-       (gnus-score-find-single, gnus-score-find-hierarchical): New
-       functions. 
-       (gnus-score-find-bnews): Renamed function.
-       (gnus-score-headers): Call these new functions from here.
-       (gnus-summary-move-article): Remove any process marks.
-       Removed all old digest functions.
-
-Thu Feb 23 09:49:46 1995  Lars Magne Ingebrigtsen  <larsi@drott.ifi.uio.no>
-
-       * gnus.el (gnus-summary-mode-map): `M H' for
-       gnus-summary-catchup-to-here. 
-
-       * gnus-uu.el (gnus-uu-mark-all): Would loop indefinitely.
-
-       * gnus.el (gnus-summary-mode-map): `e' sets the expiry mark.
-
-Wed Feb 22 17:32:37 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-activate-newsgroup): Make Gnus take heed of server
-       ports. 
-       (gnus-summary-raise-by-subject & friends): Remove "Re: " from
-       subjects by default.
-       (gnus-summary-mode-map): Changed `M C-d' and `M C-s' to `M D' and
-       `M S'.
-
-Wed Feb 22 10:12:14 1995  Lars Magne Ingebrigtsen  <larsi@drott.ifi.uio.no>
-
-       * gnus.el (gnus-summary-mode-map): Changed `M-d' and `C-M-d' back
-       to `x' and `X'.
-       (gnus-summary-quit): Would kill the group buffer.
-       (gnus-summary-exit): `gnus-exit-group-hook' was not allowed to
-       fiddle with important variables.
-       (gnus-summary-search-group): Would select groups that had no
-       unread articles.
-       
-       * gnus.el: 0.24 is released
-
-Sun Feb 19 08:02:38 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-read-group): Did not configure windows
-       properly. 
-       (gnus-summary-hide-thread): Would not properly hide all threads. 
-       (gnus-summary-next-group): `n' on the last article, and then 0
-       articles would return to an empty group buffer.
-
-       * gnus.el: 0.23 released.
-
-Sat Feb 18 15:11:39 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-mark-xrefs-as-read): Use gnus-use-cross-references
-       as it was meant to be used.
-       (gnus-score-load): Don't check for special members in
-       gnus-score-alist. 
-
-Sat Feb 18 11:22:05 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-post-news): Don't insert any Bcc if it already
-       exists. 
-
-       * gnus.el: 0.21 released
-
-Sat Feb 18 04:47:50 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-article-header-hook): New hook.
-
-Fri Feb 17 08:40:18 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-followup-and-reply,
-       gnus-summary-followup-and-reply-with-original): New functions and
-       keystrokes for sending both followup and reply.
-
-       * nntp.el (nntp-request-post-buffer): 'ask setting on
-       gnus-auto-mail-to-author. 
-
-       * gnus.el (gnus-inews-article): Use the foreign server to post the
-       article if a prefix is given to `gnus-inews-news'.
-
-       * gnus-uu.el: New automatic view commands and keystrokes.
-       (gnus-uu-mark-series): New function and keystroke.
-       (gnus-uu-mark-all): New function and keystroke.
-
-       * gnus.el (gnus-group-search-forward): Did not go to next group
-       with unread articles, just went to the next group.
-       (gnus-article-prepare): Mark cancelled articles as such.
-       (gnus-request-replace-article): Functions for replacing an article
-       in all mail backends.
-       (gnus-summary-edit-article): Function and keystroke for editing a
-       (mail) article.
-       (gnus-group-best-unread-group): New command and keystroke.
-       (gnus-keep-same-level): Now supports `best' as a value to go to
-       the "best" next newsgroup.
-       (gnus-mark-xrefs-in-unsubscribed): New variable.
-       (gnus-mark-xrefs-as-read): Use the new variable.
-       (gnus-group-add-group): Adding a group in an empty group buffer
-       bugged. 
-       (gnus-summary-hide-all-threads): Would loop indefinitely.
-       (gnus-view-pseudos): New variable for automatic pseudo-article
-       viewing. 
-
-       * nnmail.el (nnmail-request-post-buffer): Have followups go to
-       From, To and Cc.
-       
-       * gnus.el: When switching between many summary buffers, the
-       gnus-summary-buffer variable would sometimes point to the wrong
-       buffer, in some functions.
-
-       * gnus.el (gnus-group-insert-group-line): Would by when using
-       %num,numD type of format specs on numbers.
-
-Fri Feb 17 05:06:28 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-mail-reply-using-mail): Don't remove all text
-       properties from headers, just invisible.
-
-Thu Feb 16 04:21:19 1995  Lars Magne Ingebrigtsen  <larsi@gjalp.ifi.uio.no>
-
-       * gnus.el (gnus-group-browse-foreign-server): Did not intern the
-       select method.
-       (gnus-summary-search-subject): Don't ignore hidden articles.
-       (gnus-make-directory): Would not properly create new directories. 
-       (gnus-mail-reply-using-mail): Include Cc's when replying.
-       (gnus-adjust-marked-articles): Infinite loop.
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): Would not allow
-       people to enter groups.
-
-       * gnus-mh.el (gnus-mail-other-window-using-mhe): Tried to fetch
-       subject where none was to be fetched.
-
-       * gnus.el (gnus-browse-read-group): Movement commands did not
-       work. 
-       (gnus-score-interactive-default-score): New variable, default
-       1000. 
-
-Thu Feb 16 01:37:30 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnmail.el (nnmail-move-inbox): Now (probably) supports
-       popmail. (Function taken from rmail.el).
-
-       * gnus.el (gnus-mark-xrefs-as-read): If a mail article is marked
-       as expirable, the cross-reffed articles will also be marked as
-       expirable. 
-       (gnus-summary-mode-map): Changed all keybindings back to the GNUS
-       4.1 bindings. All new keybindings are now at S-letter.
-
-Wed Feb 15 06:44:14 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-score-find-score-files-function): New variable.
-       (gnus-summary-display-article): Don't configure to article buffer
-       if it isn't wanted.
-
-       * nntp.el (nntp-default-sentinel): Don't signal an error if a
-       connection closes.
-
-       * gnus.el (gnus-score-file-suffix): Renamed gnus-score-file-name. 
-
-Mon Feb  6 15:44:42 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-configure-windows): Bury the group buffer
-       somewhat. 
-       (gnus-mail-reply-using-mail): Don't bind `C-c C-y' to anything in
-       the mail buffer.
-
-       * nndir.el (nndir-retrieve-headers): Retrieve with NOV, if that is
-       posssible. 
-
-Sun Feb  5 21:15:45 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: Introduction of pseudo-articles. Changes throughout
-       Gnus.
-
-       * gnus-uu.el: Rewrite. New keymap and new interface.
-
-       * gnus.el (gnus-get-newsgroup-headers): Would barf on In-Reply-To
-       headers. 
-
-Sat Feb  4 18:16:21 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-uu.el (gnus-uu-get-list-of-articles): Would not get list of
-       articles. 
-
-Sat Feb  4 13:47:14 1995  Lars Magne Ingebrigtsen  <larsi@hnoss.ifi.uio.no>
-
-       * gnus.el (gnus-summary-quit): Did not the kill summary buffer.
-
-       * gnus-visual.el (gnus-visual-highlight-selected-summary): Limit
-       the highligting to the same area highligted by mouse-face.
-
-Sat Feb  4 09:49:31 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-build-get-header): Faster searching.
-
-Fri Feb  3 18:25:42 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-newsgroup-ancient): New variable.
-       (gnus-summary-local-variables): Initialize it.
-       (gnus-build-get-header): Build it.
-       (gnus-trim-thread): New function.
-       (gnus-make-threads): Call it.
-       (gnus-ancient-mark): New variable.
-       (gnus-summary-prepare-threads): Use it.
-       (gnus-fetch-old-headers): Updated documentation.
-
-Mon Jan 30 05:11:47 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-articles-to-read): Don't inform the user if the
-       only scored articles are tiched or dormant.
-
-Sat Feb  4 09:39:21 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-read-init-file): Also load .gnus.el and .gnus.elc. 
-
-       * gnus.el: Removed the last vestiges of the invisible text in the
-       group and summary buffers.
-
-Fri Feb  3 19:27:29 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-group-make-directory-group): New command and
-       keystroke. 
-       (gnus-subscribe-hierarchical-interactive): Would not let you
-       subscribe to anything.
-       (gnus-get-newsgroup-headers): Would barf when presented with
-       message-id-less articles.
-
-       * nndir.el: New backend for reading directories.
-
-Thu Feb  2 17:42:51 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-group-prepare): Zombie and killed groups could not
-       be chosen.
-       (gnus-group-search-forward): Didn't return nil when no group was
-       found. 
-       (gnus-summary-prepare): Sorting was done after gathering loose
-       threads, so the losse threads were not sorted properly.
-
-Thu Feb  2 15:31:11 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el: Implemented support for SCORE files.
-
-Thu Feb  2 17:23:17 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-group-list-groups): Don't go to the first group
-       after listing.
-       (gnus-group-list-groups): Go to the first unread group at startup,
-       not the second.
-
-Tue Jan 31 15:13:10 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-full-address): Use the full machine name in
-       the message-ids.
-       (gnus-get-unread-articles-in-group): Groups that have no articles
-       are marked as such.
-
-       * nnmail.el (nnmail-article-group): Catch regexp overflow errors. 
-
-       * gnus.el (gnus-update-read-articles): Would not update virtual
-       groups. 
-       (gnus-mail-send-and-exit): Don't return to the Gnus window
-       configuration from the mail buffer if Gnus isn't active.
-       (gnus-summary-next-group): Go to the group buffer if the user
-       answers "0" after selecting a new group from a different group. 
-       (gnus-select-newsgroup): Catch up properly if the only articles in
-       a group have expired.
-
-Tue Jan 31 08:01:19 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-kill): Arguments to `gnus-days-between' was
-       swapped. 
-
-Tue Jan 31 07:09:36 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-pp-gnus-kill): Don't quote quoted objects.
-
-Tue Jan 31 05:51:52 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus): Check whether Gnus has been started already. If
-       so, don't re-start, just switch to the buffer and get new news.
-       (gnus-batch-score): Didn't work.
-
-       * nnspool.el (nnspool-nov-is-evil): New variable.
-       (nnspool-lib-dir): New variable.
-       (nnspool-retrieve-headers-with-nov): nnspool can now return NOV
-       lines instead of plain article headers.
-
-       * nntp.el (nntp-nov-is-evil): Changed name of `nntp-xover-is-evil'
-       to `nntp-nov-is-evil'.
-
-Mon Jan 30 12:27:30 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-search-subject): Would go to the first
-       article when searching backward.
-       (gnus-gather-threads): When gathering loose threads, they would be
-       gathered in reverse order.
-       (gnus-summary-prev-article): Did retrieve old articles when
-       executed on the first article in the buffer.
-       (gnus-read-header): Would not read old headers when requested one
-       by one.
-
-       * gnus.el: Converted all mark variables from strings to characters.
-
-Sun Jan 29 05:56:51 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-select-group-hook): Remove description of how to
-       sort, since it doesn't work.
-       (gnus-make-sub-thread): Removed silly lambda expression.
-       (gnus-thread-sort-functions): New variable.
-       (gnus-make-threads): Do not sort here.
-       (gnus-thread-sort-by-number): New function.
-       (gnus-thread-sort-by-author): New function.
-       (gnus-thread-sort-by-subject): New function.
-       (gnus-thread-sort-by-date): New function.
-       (gnus-thread-sort-by-score): New function.
-       (gnus-thread-sort-by-total-score): New function.
-       (gnus-thread-total-score): New function.
-       (gnus-thread-header): New function.
-       (gnus-sort-threads): New function.
-       (gnus-summary-prepare): Sort here.
-
-Sat Jan 28 18:44:09 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-articles-to-read): Provide default values instead
-       of initial input.
-
-Mon Jan 30 01:41:43 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-mark-article-hook): Don't mark expirable articles
-       as read when selecting them.
-       (gnus-summary-mode): Removed " Thread" from the summary mode line.
-       (gnus-inews-message-id): Use domain name instead of host name in
-       message-ids.
-
-Sun Jan 29 09:37:31 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-apply-kill-file): Update dates when expiring
-       kills. 
-       (gnus-article-mode): Changed all the mode lines to really use a
-       buffer-local spec.
-       (gnus-group-search-forward): gnus-keep-same-level now works. 
-
-       * gnus.el: Got rid of all the invisible text and changed all the
-       functions to use text properties.
-
-Sat Jan 28 03:13:13 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-inews-insert-headers): Remove any old
-       NNTP-Posting-Host headers.
-       (gnus-group-catchup): Mark dormant as read.
-
-Fri Jan 27 20:50:07 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-inews-news): Make followups default to all groups.
-
-Fri Jan 27 20:07:31 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-summary-prepare-threads): Move assignment to
-       `gnus-tmp-prev-subject' to after the check for equality with
-       `subject'. 
-
-Thu Jan 26 15:47:35 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-set-mouse-face): New function.
-       (gnus-parse-format): New function.
-       (gnus-parse-simple-format): Renamed from `gnus-parse-format'.
-       (gnus-group-insert-group-line): Do not set mouse face here.
-       (gnus-summary-insert-line): Do not set mouse face here.
-       (gnus-group-line-format): Add mouse face delimiters.
-       (gnus-summary-line-format): Add mouse face delimiters.
-       (gnus-update-format-specifications): Don't depend on
-       `gnus-group-line-format-spec' being a simple list.
-
-Tue Jan 24 20:18:42 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-clear-system): Kill global KILL file.
-
-Tue Jan 24 14:43:33 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-inews-insert-headers): Only check if first
-       `gnus-summary-gather-subject-limit' characters are the same.
-
-Mon Jan 23 22:18:56 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-summary-update-line): Protect call to
-       `gnus-summary-mark-article' with `save-excursion'.
-
-Sat Jan 28 00:55:19 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * gnus.el (gnus-extract-address-components): Would fail if the
-       address contained special characters.
-
-Fri Jan 27 04:45:09 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-active-to-gnus-format): Condition-cased the active
-       file reading to be a bit more lenient with active files.
-       (gnus-group-get-new-news): Would always request info on each
-       individual group, even when the active file has been read.
-
-Thu Jan 26 00:16:45 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-unique-id): Check for illegal characters in
-       the user name.
-       (gnus-summary-set-score): Removed the invisible score from the
-       summary lines. (assq article-number gnus-newsgroup-scored) can be
-       used instead.
-       (gnus-add-to-range): Would not give the right result if the ranges
-       did not start at 1.
-
-Wed Jan 25 02:49:39 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-move-article): Would not properly respool
-       articles. 
-       (gnus-pp-gnus-kill): Removed (quote) from where it wasn't needed. 
-
-       * nnml.el (nnml-request-accept-article): Wouldn't do anything
-       much. 
-       (nnml-request-move-article): Would not properly move an article.
-
-       * gnus.el (gnus-apply-kill-file): Don't score already scored
-       articles. 
-       (gnus-newsgroup-scored): New list of articles.
-       (gnus-select-newsgroup, gnus-articles-to-read): Changed to take
-       into account previously scored articles, if any.
-
-Tue Jan 24 00:19:11 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-organization): If organization is wanted,
-       and no organization is found, the user will be prompted for one. 
-       (gnus-inews-check-post): Bug in checking for multuple headers.
-       (gnus-inews-check-post): Check for version and sendsys.
-       (gnus-inews-insert-signature): Don't insert stuff that looks like
-       file names in signatures.
-
-       * nntp.el (nntp-request-article): unwind-protect the article
-       fetching. Might have caused bugs elsewhere.
-
-       * gnus.el (gnus-inews-organization): New implementation. The
-       `gnus-local-organization' variable can now also be a function.
-       (gnus-inews-check-post): Check for multiple headers.
-       (gnus-check-bogus-newsgroups): Would not remove bogus dead groups. 
-
-Mon Jan 23 23:49:15 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-user-name): Use `user-mail-address' only as
-       a last resort.
-
-Mon Jan 23 19:40:02 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-build-get-header): Did not work with multiple
-       articles with the same message-id.
-       (gnus-inews-organization): Remove trailing newlines.
-
-       * nnspool.el (nnspool-find-article-by-message-id): Grep for
-       message-ids instead of loading the entire history file.
-
-Mon Jan 23 18:59:27 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus-visual.el (gnus-visual-summary-highlight): Use and document
-       free variables. 
-       (gnus-visual-summary-highlight-line): Remove unnecessary test for
-       `gnus-visual' and add workaround face changes in start of line.
-
-Mon Jan 23 18:48:31 1995  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * nnmbox.el (nnmbox-read-mbox): Fix for no newsgroups.
-
-       * gnus.el (gnus-ask-server-for-new-groups): Did not work. :-)
-       (gnus-summary-make-false-root): This variable has now swallowed
-       the functionality of `gnus-gather-loose-threads'.
-
-Mon Jan 23 18:03:21 1994  Lars Magne Ingebrigtsen  <larsi@gymir.ifi.uio.no>
-
-       * gnus.el (gnus-group-unsubscribe-current-group): Would go two
-       steps forward.
-
-Mon Jan 23 17:09:10 1995  Lars Magne Ingebrigtsen  <larsi@mimir.ifi.uio.no>
-
-       * nnmail.el (nnmail-insert-lines): Compute a new Lines header and
-       remove any old ones.
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): Removed checking for
-       multiple articles with the same ID.
-
-       * gnus.el (gnus-get-newsgroup-headers): Ignore multiple articles
-       with the same Message-ID.
-       (gnus-get-newsgroup-headers-xover): The same.
-
-Mon Jan 23 00:42:33 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-inews-insert-headers): Ask when empty headers
-       are detected.
-       (gnus-cancel-news): Avoid sending an empty cancel message.
-       (gnus-signature-function): New variable to return a signature file
-       name. 
-       (gnus-inews-insert-signature): Now warns the user if the signature
-       is more than 4 lines long. Also uses `gnus-signature-function'.
-       Also, if the string isn't a file name, the string itself is
-       inserted as a signature.
-       (gnus-inews-insert-signature): If mail-signature has already
-       inserted a .sig, delete this and insert Gnus' own.
-       (gnus-inews-check-post): Warn the user if the article to be posted
-       is more than 60k long.
-       (gnus-inews-insert-headers): Insert Sender header if the From
-       header doesn't seem to be the name of the user that posts.
-       (gnus-inews-check-post): Check for control characters.
-       (gnus-inews-insert-headers): Added "_-_" to message-id if the
-       thread has changed name.
-
-Sun Jan 22 02:37:06 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-article-prepare): Mark cancelled articles as
-       cancelled. 
-       (gnus-summary-expire-articles): Mark expired articles as
-       cancelled. 
-       (gnus-inews-insert-signature): Changed .sig predix from "--" to
-       "-- ".
-       (gnus-article-display-hook): Added "treat overstrike" to the
-       default display hook.
-       (gnus-inews-date): Changed to generate a valid date.
-
-       * nnmbox.el (nnmbox-request-article): Don't include the "From "
-       line when returning an article.
-
-       * nnmh.el (nnmh-save-mail): Rename "From " lines.
-
-       * nnml.el (nnml-save-mail): Rename "From " lines. 
-
-       * gnus.el (gnus-gnus-to-newsrc-format): Don't write foreign groups
-       to .newsrc.
-       (gnus-summary-remove-lines-marked-as-read,
-       gnus-summary-remove-lines-marked-with): Renamed functions 
-       from *-delete-marked-*.
-       (gnus-check-new-newsgroups): New possible value: `ask-server'.
-       (gnus-ask-server-for-new-groups): Ask the server for new groups
-       instead of comparing the killed list and the active hashtb. 
-       (gnus-parse-newsrc-body): Parse ! and : in the way they are
-       supposed to be parsed.
-       (gnus-get-unread-articles): Now works with any combination of
-       startup level, gnus-read-active-file status and
-       gnus-activate-foreign-newsgroup level.
-
-Sat Jan 21 21:27:23 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnvirtual.el: Big rewrite.
-       (nnvirtual-update-marked): Now updates marks in source groups.
-       (nnvirtual-create-mapping): Use marks from source groups.
-       (nnvirtual-possibly-change-newsgroups): Several nnvirtual groups
-       may be active at the same time. nnvirtual groups can also include
-       other nnvirtual groups.
-
-       * gnus.el (gnus-add-marked-articles): New function,
-
-Sat Jan 21 15:22:51 1995  Lars Magne Ingebrigtsen  <larsi@hnoss.ifi.uio.no>
-
-       * gnus.el (gnus-mark-xrefs-as-read): Would mark xreffed articles
-       that were ticked (or dormant) as read.
-       (gnus-summary-refer-parent-article): Now understands the numeric
-       prefix. 
-       (gnus-build-get-header): Would make it impossible to select old
-       fetched articles.
-
-       * gnus-visual.el (gnus-article-make-menu-bar): Added all treatment
-       functions to a menu.
-
-       * gnus.el (gnus-close-group): New backend call to perform
-       cleanups. 
-       (gnus-article-de-quoted-unreadable): New article treatment
-       function. 
-
-Sat Jan 21 01:15:26 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnmail.el (nnmail-article-group): Don't enter a mail into the
-       same mail group twice,
-
-       * gnus.el (gnus-build-old-threads): Don't build old threads
-       backwards from dormant articles.
-
-Fri Jan 20 23:31:16 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-mark-article): Changed the expiry mark. It
-       is now a "read" mark, and occupies the same position as the other
-       read marks ("DX+- "). 
-
-Fri Jan 20 19:19:01 1995  Lars Magne Ingebrigtsen  <larsi@drott.ifi.uio.no>
-
-       * gnus.el (gnus-get-unread-articles): Did not properly activate
-       foreign newsgroups.
-
-Fri Jan 20 18:49:58 1995  Lars Magne Ingebrigtsen  <larsi@drott.ifi.uio.no>
-
-       * gnus.el (gnus-group-list-matching): New function and keystroke.
-
-Tue Jan 17 19:19:30 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-summary-keysort-summary,
-       gnus-summary-sort-summary, gnus-keysort-headers, gnus-keysort,
-       gnus-sort-headers, gnus-string-lessp, gnus-date-lessp): Deleted.
-       (gnus-sortable-date): New function.
-       (gnus-summary-sort-by-date, gnus-summary-sort-by-subject,
-       gnus-summary-sort-by-author, gnus-summary-sort-by-number): Use it.
-       (gnus-summary-sort-by-score): New function.
-       (gnus-summary-mode-map): Bind it.
-       (gnus-select-group-hook): Updated documentation.
-
-       * gnus.el (gnus-summary-best-unread-article): New function.
-       (gnus-summary-mode-map): Add binding.
-       (gnus-summary-mode): Document it.
-
-Mon Jan 16 15:49:37 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-summary-gather-subject-limit): New variable.
-       (gnus-gather-threads): Use it.
-
-       * nntp.el (nntp-request-post-buffer): Support
-       `gnus-auto-mail-to-author'.
-
-       * gnus.el (gnus-mail-self-blind): New variable.
-       (gnus-post-news): Use it.
-       (gnus-inews-news): Recognize "BCC" field.
-
-Thu Jan 19 21:37:33 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-build-old-threads): Fetch old headers and build
-       complete threads.
-
-Wed Jan 18 08:36:26 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnmh.el: Rewrite.
-
-       * gnus.el (gnus-get-newsgroup-headers): New implementation. Twice
-       as fast.
-
-       * nnmbox.el: Rewrite. Now supports crossposting.
-
-       * nnml.el: Rewrite.
-
-       * nnmail.el: Gathered all mail support functions in this file. 
-
-       * nnmbox.el: Renamed nnmail to nnmbox.
-
-       * gnus.el (gnus-summary-exit): Kill expunged buffer on exit.
-
-       * nntp.el (nntp-server-opened-hook): Send "MODE READER" to the
-       server at startup.
-
-Mon Jan 16 11:56:39 1995  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
-
-       * gnus.el (gnus-summary-read-group): Update the specs after the
-       select-group-hook has bene run.
-
-Sun Jan 15 11:01:20 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el: Add autoload for `gnus-article-make-menu-bar'.
-        (gnus-article-mode-map): Call `gnus-article-make-menu-bar'.
-
-       * gnus-visual.el (gnus-group-make-menu-bar): Added entry for
-       `gnus-group-edit-global-kill',
-       (gnus-summary-make-menu-bar): Added entry for
-       `gnus-summary-raise-followups-to-author', and
-       `gnus-summary-lower-followups-to-author'.  Removed entries for
-       `gnus-summary-raise-by-thread', and
-       `gnus-summary-lower-by-thread'.
-       Renamed `xref' to `crossposting' since more people know that term.
-       Merged `Sort' menu with `Misc' since the menu-bar had not space
-       enough for all entries.
-       (gnus-article-make-menu-bar): New function.  Add menu bar for
-       article mode.
-
-Sun Jan 15 18:08:53 1995  Per Abrahamsen  <abraham@iesd.auc.dk>
-
-       * gnus.el (gnus-pp-gnus-kill): Don't assume (nth 0 object) is
-       `gnus-kill'. 
-
-Sun Jan 15 14:11:29 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-refer-article): Don't fetch an article if
-       it is fetched already.
-       (gnus-gnus-to-newsrc-format): Write killed groups to the .newsrc
-       file as unsubscribed without numbers.
-       (gnus-summary-exit): Go to next group in the Group buffer when
-       quitting. 
-
-Sun Jan 15 07:44:09 1995  Lars Magne Ingebrigtsen  <larsi@hnoss.ifi.uio.no>
-
-       * gnus.el (gnus-article-refer-article): Would not scroll to the
-       beginning of the article.
-       (gnus-summary-go-to-next-thread): Would go to wrong article.
-
-Sat Jan 14 12:55:31 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el (gnus-summary-exit): Do not advance in the Group buffer
-       when quitting from a Summary buffer.
-
-       * nnvirtual.el (nnvirtual-retrieve-headers): Articles that appear
-       twice because of crossposting are deleted.
-
-       * gnus.el (gnus-visual-mark-article-hook): New hook.
-       (gnus-group-prepare): Don't display groups with only dormant
-       articles when listing doing a `gnus-group-list-groups'.
-
-       * gnus-visual.el: New file.
-       (gnus-visual-highlight-selected-summary): Function moved out of
-       gnus.el.
-       (gnus-selected-summary-face): Variable name change.
-
-       * gnus.el (gnus-visual): New variable.
-
-       * nnmail.el (nnmail-crosspost): New variable to toggle
-       crossposting in mail groups.
-
-       * nnml.el (nnml-article-group): Fold continuation lines before
-       splitting mail.
-
-Sat Jan 14 04:34:59 1995  Lars Magne Ingebrigtsen  <larsi@dyggve.ifi.uio.no>
-
-       * gnus.el (gnus-group-browse-foreign-server): Completing-read over
-       `gnus-secondary-servers'. 
-       (gnus-summary-refer-article): Would print Subject in the inserter
-       Summary line to "t".
-       (gnus-summary-mail-forward, gnus-summary-mail-other-window):
-       Messed up the window configuration.
-       (gnus-group-insert-group-line): When dormant articles were
-       present, an incorrect number of unread articles would be reported.
-       (gnus-summary-goto-subject): Would bug when the point was at the
-       end of the buffer.
-
-Fri Jan 13 09:40:11 1995  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnml.el (nnml-generate-nov-databases): Didn't update the active
-       file. 
-
-       * gnus.el (gnus-summary-next-group): Would behave spuriously when
-       the next group had all its articles marked as read via the xref
-       mechanism. Would also go to the Newsgroup buffer when C-g was
-       pressed. 
-       (gnus-inews-check-post): Reject outgoing mail that has empty
-       Subject lines, no text at all and just quoted text.
-       (gnus-summary-catchup-and-exit): Do not mark dormant articles as
-       read when catching up.
-       (gnus-summary-catchup): New implementation of all catchup
-       functions. 
-
-Fri Jan 13 07:27:27 1995  Lars Magne Ingebrigtsen  <larsi@dyggve.ifi.uio.no>
-
-       * nntp.el (nntp-request-article): Inserted contents into wrong
-       buffer. 
-
-Mon Jan  9 02:16:12 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-make-threads): Threading bug when
-       `gnus-thread-ignore-subject' is nil fix.
-       (gnus-post-news): When posting in foreign newsgroups, the name of
-       the group would be wrong.
-
-       * nnmail.el (nnmail-choose-mail): Insert the X-Gnus-Newsgroup line
-       at the right place.
-
-       * gnus.el (gnus-group-get-new-news-this-group): Would scroll
-       forwards when updating the first newsgroup(s) in the Newsgroup
-       buffer. 
-       (gnus-get-unread-articles-in-group): Compute number of unreads
-       more correctly. Dormant counts as "read" while ticked counts as
-       "unread". 
-
-       * nnml.el (nnml-choose-mail): Handle continuation lines and tabs
-       correctly when generating nov databases.
-
-       * gnus.el (gnus-summary-read-group): Applying a kill file to a
-       group that contains only dormant articles would lead to an
-       infinite loop.
-       (gnus-kill-save-kill-buffer): Really kill kill buffers upon exit. 
-       (gnus-select-newsgroup): Treat newsgroups with only dormant
-       articles as having no unread articles.
-       (gnus-get-newsgroup-headers-xover, gnus-get-newsgroup-headers):
-       Downcase message-id and references for better threading.
-
-Sun Jan  8 01:11:04 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-summary-subject-string): Wrong regexp made the
-       function return nil always.
-       (gnus-summary-insert-line): Use mail-extr to extract address and
-       name. 
-       (gnus-pp-gnus-kill): Would never actually prettify anything.
-       (gnus-kill): Did not update date of last successful kill.
-       (gnus-group-insert-group-line): Do not print a "*" if the group
-       contains only dormant articles.
-       (gnus-update-read-articles): When removing all marks from a mark
-       list (dormant, ticked, bookmarks), Gnus wouldn't properly update
-       the list of marked articles when exiting from the group.
-
-Sat Jan  7 03:05:01 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-mark-xrefs-as-read): Computed strange number of
-       unread articles when given illegal xref numbers.
-       (gnus-group-apropos, gnus-group-description-apropos): Two new
-       commands and keystrokes.
-       (gnus-no-server): New command to start Gnus without connecting to
-       your local newsserver.
-       (gnus): Gnus would read the active file even when started at a low
-       level. 
-       (gnus-summary-exit): Kill kill file buffer upon newsgroup exit.
-       (gnus-gnus-to-newsrc-format): Would write .newsrc instead of
-       .newsrc-HOST. 
-
-Fri Jan  6 16:45:45 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-summary-search-subject): UNREAD now really goes to
-       unread only.
-       (gnus-kill-file-permanent-kill-by-xref): Kill all cross-posted
-       groups mentioned.
-       (gnus-kill-file-kill-by-xref): Improper newsgroup matching.
-
-Thu Jan  5 20:45:56 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-bug): New command.
-       (gnus-get-newsgroup-headers): Fix when article does not contain
-       message-id. 
-       (gnus-summary-show-all-expunged): Not (interactive).
-       (gnus-summary-delete-marked-with): Infinite loop.
-       (gnus-summary-search-subject): Next always goes to the next
-       article. 
-
-Thu Jan  5 14:23:56 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-summary-delete-article): New function and
-       keystroke to delete (mail) articles right away.
-       (gnus-summary-next-group): When selecting next group that have had
-       all its articles marked as read by xref, this would yield
-       unexpected results.
-       (gnus-summary-search-subject): `n' on first article selects the
-       first article.
-       (gnus-mouse-face): New variable.
-
-       * nnmh.el: New mail backend for mh folders (ie. spool).
-
-Wed Jan  4 02:45:08 1995    <larsi@redleaf>
-
-       * nnmail.el (nnmail-read-mbox): If an mbox file didn't exist, this
-       function would fail.
-       (nnmail-split-region): Lines numbers were inserted in wrong
-       headers with wrong numbers.
-
-       * gnus.el (gnus-summary-show-all-expunged): New function and
-       keystroke to display previously expunged lines.
-
-       * nnmail.el (nnmail-prepare-incoming-hook): New variable.
-
-       * gnus.el (gnus-mail-forward-using-mail): Delete invisible headers
-       when forwarding.
-
-Tue Jan  3 15:23:00 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-post-news): Move point to beginning of quoted text
-       on followups.
-       (gnus-group-set-current-level): Prompt for a level if called with
-       nil. 
-       (gnus-summary-raise-interest, gnus-summary-lower-interest,
-       gnus-summary-set-interest): New commands and keystrokes.
-       (gnus-summary-default-interest): New variable.
-       (gnus-raise, gnus-lower): New functions to use in kill-files for
-       raising or lowering interest.
-
-Mon Jan  2 11:51:32 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-group-line-format): Modified spec to show number
-       of really unread unread articles instead of unread + ticked +
-       interesting. 
-       (gnus-group-line-format): New codes to show number of interesting
-       articles; number of ticked and interesting; number of ticked,
-       number of read; total number of articles; number of unread,
-       unticked, uninteresting articles. 
-       (gnus-newsgroup-dormant): `gnus-newsgroup-interesting' (and all
-       derivatives thereof) renamed from "interesting" to "dormant".
-       (NOTE: everybody that have marked articles as "interesting" earlier
-       might experience slightly peculiar effects. The joys of alpha
-       testing.)
-       (gnus-summary-mode-map): `+' to set dormant mark, `-' to set tick. 
-       (gnus-group-expire-articles): Fixed bug that resulted in no
-       articles being expired.
-       (gnus-unread-mark, gnus-read-mark, gnus-ticked-mark,
-       gnus-dormant-mark): New variables for the mark characters. 
-       (gnus-summary-insert-line): Loose threads can now also be printed
-       with the `empty' method.
-       (gnus-make-threads): When threading twice (for instance, when
-       toggling threading), information was mangled which ended in in
-       infinite loop.
-
-Sun Jan  1 14:35:01 1995    <larsi@redleaf>
-
-       * gnus.el (gnus-summary-refer-parent-article): Bug when no article
-       has been selected.
-       (gnus-kill, gnus-apply-kill-file, gnus-execute): Changed to
-       support expiring kills and multple patterns in one `gnus-kill'
-       call. 
-
-       * nnml.el (nnml-split-incoming): Did not properly split mail that
-       contained multiple "From " lines.
-
-Sat Dec 31 00:55:24 1994    <larsi@redleaf>
-
-       * gnus.el (gnus-newsgroup-marked): This variable had been re-named
-       `gnus-newsgroup-ticked'. It has been re-named back again.
-       (gnus-kill-file-kill-by-subject): Made all kill-by-* functions
-       operate on the current article in the Summary buffer.
-
-Fri Dec 30 11:45:27 1994    <larsi@redleaf>
-
-       * gnus.el (gnus-summary-set-bookmark,
-       gnus-summary-remove-bookmark): New commands and keystrokes to set
-       bookmarks. 
-       (gnus-summary-mark-as-interesting): New command and keystroke to
-       mark articles as interesting.
-       (gnus-article-prepare): Automatic moving to bookmarks added.
-       (gnus-summary-delete-interesting): Interesting articles that have
-       no children are not shown in the Summary buffer by default. 
-       (gnus-group-expire-articles, gnus-summary-expire-articles): Trying
-       to expire articles in groups that do not support expiring would
-       make Emacs barf.
-       (gnus-active-to-gnus-format): Modified to read information on
-       moderation, if wanted.
-       (gnus-summary-print-dummy-lines): Obsolete variable.
-       (gnus-summary-make-false-root): New variable that says what method
-       should be used when printing loose sub-threads.
-       (gnus-summary-prepare-threads): Let one article adopt the orphans
-       instead of printing dummy roots.
-
-Thu Dec 29 08:20:42 1994    <larsi@redleaf>
-
-       * gnus.el (gnus-summary-save-article, gnus-summary-pipe-output, 
-       gnus-summary-save-in-rmail, gnus-summary-save-in-mail, 
-       gnus-summary-save-in-file, gnus-summary-save-in-pipe): Rewritten
-       to save series of articles.
-       (gnus-summary-set-process-mark): Bug fix. It was possible to mark
-       dummy roots.
-       (gnus-group-describe-all-groups): New command and keystroke to
-       list newsgroups descriptions for all newsgroups.
-       (gnus-group-prepare): Removed tallying of articles in killed
-       groups to speed things up to enough to be of any use.
-       (gnus-summary-local-variables): `gnus-current-kill-articles' is no
-       longer buffer-local to the Summary buffers.
-
-       * nntp.el (nntp-request-article): Fix for multiple Summary buffers
-       using different nntp servers.
-
-       * gnus.el (gnus-dribble-save): Would barf if Gnus were fed a
-       non-existant nntp server host name. 
-       (gnus-summary-search-subject): Marking articles as read did not go
-       forward over ticked articles.
-       (gnus-post-method): New variable for specifying a method to use
-       for posting articles.
-       (gnus-request-post-buffer, gnus-request-post): Changed to use
-       `gnus-post-method'. 
-
-       * nntp.el (nntp-open-server-internal): The nntpd process will now
-       be killed without warning when Emacs shuts down.
-
-       * gnus.el (gnus-get-unread-articles-in-group): Returned wrong
-       results in groups with no articles.
-
-       * nntp.el (nntp-server-opened): This function gave totally
-       spurious results.
-
-       * gnus.el (gnus-check-first-time-used, gnus-find-new-newsgroups):
-       Changed to really subscribe newsgroups that are mentioned by the
-       "options -n" line(s). The variable
-       `gnus-subscribe-options-newsgroup-method' holds the subscribe
-       method, which is `gnus-subscribe-alphabetically' by default. 
-
-Wed Dec 28 17:36:49 1994    <larsi@redleaf>
-
-       * gnus.el (gnus-get-newsgroup-headers-xover): Fixed
-       cross-references when using xover.
-
-       * gnus.el (gnus-read-old-newsrc-el-file): Made it easier to switch
-       between .el and .eld files.
-       (gnus-group-mode-map): Removed bindings for `C-n' and
-       `C-p'. Changed `C-m' to `gnus-group-select-group'.
-       (gnus-summary-mode-map): Removed bindings for `C-n' and `C-p'.
-
-       * nntp.el (nntp-request-group): Fix when selecing non-existant
-       groups. 
-
-       * gnus.el (gnus-group-prepare): Faster listing of killed groups. 
-
-       * nntp.el (nntp-retrieve-headers-with-xover): Try both "xover" and
-       "xoverview" on nntp servers.
-
-       * gnus.el (gnus-activate-foreign-newsgroups): This variable has
-       changed from a toggle to a slide. Foreign newsgroups that have a
-       level equal or lower than this variable will be activated on
-       startup. 
-       (gnus-nntp-service): This variable has been obsoleted, except for
-       one tiny backwards compatibility issue.
-       (gnus-select-method): This variable now lets you specify nntp port
-       number as well.
-       (gnus-find-new-newsgroups): A message is displayed that says how
-       many new newsgroups has arrived.
-       (gnus-summary-position-cursor, gnus-group-position-cursor): Two
-       new functions that are both fset to `gnus-goto-colon', but can be
-       set to anything the user wishes.
-       (gnus-init-file, gnus-read-init-file, gnus-group-read-init-file):
-       New variable, function, command and keystroke to read the Gnus
-       init file (default: "~/.gnus").
-
-       * nnml.el (nnml-retrieve-header-with-nov): nnml now generates nov
-       databases. 
-       (nnml-choose-mail): Fix strange cutting and add Xref header.
-       (nnml-article-group): Mail articles can now be crossposted between
-       all groups that fit the regular expressions in
-       `nnmail-split-methods'. 
-       (nnml-generate-nov-databases): New command to generate nov
-       databases for a tree.
-
-       * nnheader.el (gnus-backends-are-talkative): New variable.
-
-       * nnml.el (nnml-nov-is-evil): New variable.
-
-Wed Dec 21 01:20:53 1994  Lars Magne Ingebrigtsen  <larsi@hnoss.ifi.uio.no>
-
-       * gnus.el (gnus-check-news-server): Buglet.
-       (gnus-mail-reply-using-mail): Use "none" as the subject if none
-       was used.
-
-Tue Dec 20 01:28:42 1994  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnmail.el (nnmail-request-move-article,
-       nnmail-request-accept-article): Functions for moving articles. One
-       can move articles between mail groups that use different select
-       methods, which also makes these functions double as conversion
-       routines.
-
-       * gnus.el (gnus-open-server): All the low-level backend functions
-       have been rewritten to make things cleaner and clearer. Most of
-       the function calls have also been changed throughout the program. 
-       (gnus-set-global-variables): Set the global equivalents of the
-       summary-local variables whenever a new article is chosen.
-
-Mon Dec 19 00:51:03 1994  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * nnml.el (nnml-request-move-article,
-       nnml-request-accept-article): Functions for moving articles. 
-
-       * gnus.el (gnus-summary-rescan-group): New command and keystroke
-       for exiting, getting new articles, and re-selecting a group. 
-       (gnus-group-make-mail-groups): Created mail groups
-       without the foreign group prefix, which is a serious bug.
-       (gnus-dribble-file-name): Change the name of the dribble file to
-       ".newsrc-dribble". 
-       (gnus-group-startup-message): Changed startup screen. (Trés
-       important.) 
-       (gnus-summary-move-article): New command and keystroke for moving
-       articles between (mail) newsgroups.
-
-       * nnmail.el (nnmail-split-region): 
-       * nnml.el (nnml-choose-mail): Add a Lines header line to mails
-       that do not have them.
-
-       * gnus.el: Moved most functions to make the source code a bit more
-       structured. Added a few autoloads to kill the last few compiler
-       warnings. 
-       (gnus-group-clear-dribble): New command and keystroke to clear the
-       dribble buffer.
-
-       * nntp.el (nntp-open-server-internal): Further multiple nntp
-       server fixes.
-
-Sun Dec 18 01:48:28 1994  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus-mh.el: All the mh-e functions have been moved to this new
-       file.
-
-       * gnus.el (gnus-summary-prepare-threads,
-       gnus-summary-insert-line): If the subject changes in the middle of
-       the thread, print the subject.
-       (gnus-save-newsrc-file): Save the newsrc file(s) even when the
-       dribble file has been saved, and don't save them when no changes
-       have been made.
-
-       * nntp.el (nntp-request-group): When using multiple nntp servers,
-       the backend often became a bit dizzy.
-       (nntp-open-server): Opening a server now correctly says whether a
-       connection was established.
-
-       * gnus.el (gnus-version): Rewrite to add version numbers from all
-       backends in use.
-       (gnus-extend-newsgroup): Small fix.
-       (gnus-find-header-by-number): Obsolete function.
-       (gnus-clear-system): Kill all generated buffers when exiting. 
-       (gnus-exit-group-hook): Kill the nntp connection(s) when exiting. 
-
-Mon Dec 12 18:15:03 1994  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: Version 0.2 released after some initial bugs were
-       fixed. 
-
-Sun Dec 11 06:32:40 1994  Lars Ingebrigtsen  <lars@eyesore.no>
-
-       * gnus.el: The very first (ding) Gnus pre-release. 
-
index bcf825d..b71f4b3 100644 (file)
@@ -3,7 +3,7 @@
 ;;
 ;; Author: Per Abrahamsen <abraham@iesd.auc.dk>
 ;; Keywords: help
-;; Version: 0.1
+;; Version: 0.2
 
 ;;; Commentary:
 ;;
@@ -66,6 +66,9 @@ other hooks, such as major mode hooks, can do the job."
       (or (member element (symbol-value list-var))
          (set list-var (cons element (symbol-value list-var))))))
 
+(defvar intangible nil
+  "The symbol making text intangible")
+
 ;; We can't easily check for a working intangible.
 (if (and (boundp 'emacs-minor-version)
         (or (> emacs-major-version 19)
@@ -177,7 +180,6 @@ A custom association list.")
            (del-tag . "[DEL]")
            (add-tag . "[INS]"))
     (list (type . group)
-         (accept . custom-list-accept)
          (extract . custom-list-extract)
          (validate . custom-list-validate)
          (check . custom-list-check))
@@ -563,21 +565,6 @@ If optional ORIGINAL is non-nil, concider VALUE for the original value."
            values (cdr values)))
     result))
 
-(defun custom-list-accept (field value &optional original)
-  "Enter content of editing FIELD with VALUE."
-  (let ((values (custom-field-value field))
-       current)
-    (if original 
-       (custom-field-original-set field value))
-    (while values
-      (setq current (car values)
-           values (cdr values))
-      (if current
-         (let* ((custom (custom-field-custom current))
-                (match (custom-match custom value)))
-           (setq value (cdr match))
-           (custom-field-accept current (car match) original))))))
-
 (defun custom-list-extract (custom field)
   "Extract list of childrens values."
   (let ((values (custom-field-value field))
@@ -609,19 +596,17 @@ If optional ORIGINAL is non-nil, concider VALUE for the original value."
 (defun custom-group-accept (field value &optional original)
   "Enter content of editing FIELD with VALUE."
   (let ((values (custom-field-value field))
-       value original)
+       current)
     (if original 
        (custom-field-original-set field value))
     (while values
       (setq current (car values)
            values (cdr values))
-      (if (consp originals)
-         (setq new (car value)
-               value (cdr value))
-       (setq original custom-nil))
-      (if (null current)
-         ()
-       (custom-field-accept current new original)))))
+      (if current
+         (let* ((custom (custom-field-custom current))
+                (match (custom-match custom value)))
+           (setq value (cdr match))
+           (custom-field-accept current (car match) original))))))
 
 (defun custom-group-insert (custom level)
   "Insert field for CUSTOM at nesting LEVEL in customization buffer."
@@ -853,7 +838,7 @@ If optional ORIGINAL is non-nil, concider VALUE for the original value."
          ((custom-valid custom value)
           nil)
          (t
-          (const start "Wrong type")))))
+          (cons start "Wrong type")))))
 
 ;;; Create Buffer:
 ;;
index 2edac24..a289c9f 100644 (file)
@@ -67,7 +67,8 @@ faces change the foreground or the background colors.")
 (defvar gnus-cite-attribution-prefix "in article\\|in <"
   "Regexp matching the beginning of an attribution line.")
 
-(defvar gnus-cite-attribution-postfix "\\(wrote\\|writes\\|said\\):[ \t]*$"
+(defvar gnus-cite-attribution-postfix
+  "\\(wrote\\|writes\\|said\\|says\\):[ \t]*$"
   "Regexp matching the end of an attribution line.
 The text matching the first grouping will be used as a button.")
 
diff --git a/lisp/gnus-hilit.el b/lisp/gnus-hilit.el
deleted file mode 100644 (file)
index e69de29..0000000
index 6a86c28..957f893 100644 (file)
@@ -411,7 +411,7 @@ Type \\[describe-mode] in the buffer to get a list of commands."
                   (setq subject (read-string "Subject: ")))))
        (setq mail-reply-buffer gnus-article-copy)
 
-       (let ((gnus-newsgroup-name (or group gnus-newsgroup-name "")))
+       (let ((newsgroup-name (or group gnus-newsgroup-name "")))
          (setq real-group (and group (gnus-group-real-name group)))
          (setq gnus-post-news-buffer 
                (gnus-request-post-buffer 
@@ -419,7 +419,7 @@ Type \\[describe-mode] in the buffer to get a list of commands."
                 (nth 2 (and group (gnus-gethash group gnus-newsrc-hashtb)))
                 (or (cdr (assq 'to-group
                                (nth 5 (nth 2 (gnus-gethash 
-                                              gnus-newsgroup-name
+                                              newsgroup-name
                                               gnus-newsrc-hashtb)))))
                     (if (and (boundp 'gnus-followup-to-function)
                              gnus-followup-to-function
@@ -1040,15 +1040,17 @@ nil."
                         "^/[^/]+/" (expand-file-name signature)))))
          (progn
            (goto-char (point-max))
-           ;; Delete any previous signatures.
            (if (and mail-signature (search-backward "\n-- \n" nil t))
-               (delete-region (1+ (point)) (point-max)))
-           (insert "\n-- \n")
-           (if (file-exists-p signature)
-               (insert-file-contents signature)
-             (insert signature))
-           (goto-char (point-max))
-           (or (bolp) (insert "\n")))))))
+               ()
+             ;; Delete any previous signatures.
+             (if (search-backward "\n-- \n" nil t)
+                 (delete-region (1+ (point)) (point-max)))
+             (insert "\n-- \n")
+             (if (file-exists-p signature)
+                 (insert-file-contents signature)
+               (insert signature))
+             (goto-char (point-max))
+             (or (bolp) (insert "\n"))))))))
 
 (defun gnus-inews-do-fcc ()
   "Process FCC: fields in current article buffer.
diff --git a/lisp/gnus-soup.el b/lisp/gnus-soup.el
new file mode 100644 (file)
index 0000000..57acd5c
--- /dev/null
@@ -0,0 +1,359 @@
+;;; gnus-soup.el --- SOUP packet writing support for Gnus
+;; Copyright (C) 1995 Free Software Foundation, Inc.
+
+;; Author: Per Abrahamsen <abraham@iesd.auc.dk>
+;; Keywords: news, mail
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING.  If not, write to
+;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+;;; Commentary:
+
+;; This file contain support for storing articles in SOUP format from
+;; within Gnus.  Support for reading SOUP packets is provided in
+;; `nnsoup.el'. 
+
+;; SOUP is a format for offline reading of news and mail.  See the
+;; file `soup12.zip' in one of the Simtel mirrors
+;; (e.g. `ftp.funet.fi') for the specification of SOUP.
+
+;; Only a subset of the SOUP protocol is supported, and the minimal
+;; conformance requirements in the SOUP document is *not* meet.  
+;; Most annoyingly, replying and posting are not supported.
+
+;; Insert 
+;;   (require 'gnus-soup)
+;; in your `.emacs' file to enable the SOUP support.
+
+;; Type `V o s' to add articles to the SOUP packet.  
+;; Use a prefix argument or the process mark to add multiple articles.
+
+;; The variable `gnus-soup-directory' should point to the directory
+;; where you want to store the SOUP component files.  You must
+;; manually `zip' the directory to generate a conforming SOUP packet.
+
+;; Add `nnsoup' to `gnus-secondary-select-methods' in order to read a
+;; SOUP packet. The variable `nnmail-directory' should point to the
+;; directory containing the unziped SOUP packet.
+
+;; Check out `uqwk' or `yarn' for two alterative solutions to
+;; generating or reading SOUP packages respectively, they should both
+;; be available at a Simtel mirror near you.  There are plenty of
+;; other SOUP-aware programs available as well, look in the group
+;; `alt.usenet.offline-reader' and its FAQ for more information.
+
+;; Since `gnus-soup.el' does not fulfill the minimal conformance
+;; requirements, expect some problems when using other SOUP packeges.
+;; More importantly, the author haven't tested any of them.
+
+;;; Code:
+
+;;; Hack `gnus.el':
+
+(require 'gnus)
+
+;;; User Variables:
+
+(defvar gnus-soup-directory "~/SOUP/"
+  "*Directory containing unpacked SOUP packet.")
+
+(defvar gnus-soup-prefix-file "gnus-prefix"
+  "*Name of the file where Gnus stores the last used prefix.")
+
+(defvar gnus-soup-packer "tar cf - %s | gzip > $HOME/Soupout%d.tgz"
+  "Format string command for packing a SOUP packet.
+The SOUP files will be inserted where the %s is in the string.
+This string MUST contain both %s and %d. The file number will be
+inserted where %d appears.")
+
+;;; Internal Variables:
+
+(defvar gnus-soup-encoding-type ?n
+  "*Soup encoding type.
+`n' is news format, `m' is Unix mbox format, and `M' is MMDF mailbox
+format.")
+
+(defvar gnus-soup-index-type ?c
+  "*Soup index type.
+`n' means no index file and `c' means standard Cnews overview
+format.") 
+
+(defvar gnus-soup-group-type ?u
+  "*Soup message area type.
+`u' is unknown, `m' is private mail, and `n' is news.
+Gnus will determine by itself what type to use in what group, so
+setting this variable won't do much.")
+
+(defconst gnus-soup-areas nil)
+(defvar gnus-soup-last-prefix nil)
+(defvar gnus-soup-buffers nil)
+
+;;; Commands:
+
+(defun gnus-soup-add-article (n)
+  "Add the current article to SOUP packet.
+If N is a positive number, add the N next articles.
+If N is a negative number, add the N previous articles.
+If N is nil and any articles have been marked with the process mark,
+move those articles instead."
+  (interactive "P")
+  (gnus-set-global-variables)
+  (add-hook 'gnus-exit-gnus-hook 'gnus-soup-save)
+  (or (file-directory-p gnus-soup-directory)
+      (gnus-make-directory gnus-soup-directory))
+  (let* ((articles (gnus-summary-work-articles n))
+        (tmp-buf (get-buffer-create "*soup work*"))
+        (prefix (aref (gnus-soup-area gnus-newsgroup-name) 0))
+        (msg-buf (find-file-noselect
+                  (concat gnus-soup-directory prefix ".MSG")))
+        (idx-buf (find-file-noselect
+                  (concat gnus-soup-directory prefix ".IDX")))
+        from head-line beg type headers)
+    (setq gnus-soup-buffers (cons msg-buf (cons idx-buf gnus-soup-buffers)))
+    (buffer-disable-undo tmp-buf)
+    (buffer-disable-undo msg-buf)
+    (buffer-disable-undo idx-buf)
+    (save-excursion
+      (while articles
+       ;; Put the article in a buffer.
+       (set-buffer tmp-buf)
+       (gnus-request-article-this-buffer 
+        (car articles) gnus-newsgroup-name)
+       ;; Make sure the last char in the buffer is a newline.
+       (goto-char (point-max))
+       (or (= (current-column) 0)
+           (insert "\n"))
+       ;; Find the "from".
+       (goto-char (point-min))
+       (setq from
+             (mail-strip-quoted-names
+              (or (mail-fetch-field "from")
+                  (mail-fetch-field "really-from")
+                  (mail-fetch-field "sender"))))
+       (goto-char (point-min))
+       ;; Depending on what encoding is supposed to be used, we make
+       ;; a soup header. 
+       (setq head-line
+             (cond 
+              ((= gnus-soup-encoding-type ?n)
+               (format "#! rnews %d\n" (buffer-size)))
+              ((= gnus-soup-encoding-type ?m)
+               (while (search-forward "\nFrom " nil t)
+                 (replace-match "\n>From " t t))
+               (concat "From " (or from "unknown")
+                       " " (current-time-string) "\n"))
+              ((= gnus-soup-encoding-type ?M)
+               "\^a\^a\^a\^a\n")
+              (t (error "Unsupported type: %c" gnus-soup-encoding-type))))
+       ;; Find the header of the article.
+       (set-buffer gnus-summary-buffer)
+       (setq headers (gnus-get-header-by-number (car articles)))
+       ;; Insert the soup header and the article in the MSG buf.
+       (set-buffer msg-buf)
+       (goto-char (point-max))
+       (insert head-line)
+       (setq beg (point))
+       (insert-buffer tmp-buf)
+       ;; Insert the index in the IDX buf.
+       (cond ((= gnus-soup-index-type ?c)
+              (set-buffer idx-buf)
+              (gnus-soup-insert-idx beg headers))
+             ((/= gnus-soup-index-type ?n)
+              (error "Unknown index type: %c" type)))
+       (set-buffer gnus-summary-buffer)
+       (gnus-summary-remove-process-mark (car articles))
+       (gnus-summary-mark-as-read (car articles) "F")
+       (setq articles (cdr articles)))
+      (kill-buffer tmp-buf))))
+
+(defun gnus-soup-group-brew (group)
+  (let ((gnus-expert-user t)
+       (gnus-large-newsgroup nil))
+    (and (gnus-summary-read-group group)
+        (let ((gnus-newsgroup-processable 
+               (gnus-sorted-complement 
+                gnus-newsgroup-unreads
+                (append gnus-newsgroup-dormant gnus-newsgroup-marked))))
+          (gnus-soup-add-article nil)))
+    (gnus-summary-exit)))
+
+(defun gnus-group-brew-soup (n)
+  "Make a soup packet from the current group."
+  (interactive "P")
+  (let ((groups (gnus-group-process-prefix n)))
+    (while groups
+      (gnus-group-remove-mark (car groups))
+      (gnus-soup-group-brew (car groups))
+      (setq groups (cdr groups)))
+    (gnus-soup-save)))
+
+(defun gnus-brew-soup (&optional level)
+  "Go through all groups on LEVEL or less and make a soup packet."
+  (interactive "P")
+  (let ((level (or level gnus-level-subscribed))
+       (newsrc (cdr gnus-newsrc-alist)))
+    (while newsrc
+      (and (<= (nth 1 (car newsrc)) level)
+          (gnus-soup-group-brew (car (car newsrc))))
+      (setq newsrc (cdr newsrc)))
+    (gnus-soup-save)))
+  
+;;; Internal Functions:
+
+(defun gnus-soup-insert-idx (offset header)
+  ;; [number subject from date id references chars lines xref]
+  (goto-char (point-max))
+  (insert
+   (format "%d\t%s\t%s\t%s\t%s\t%s\t%d\t%s\t%s\t\n"
+          offset
+          (or (header-subject header) "(none)")
+          (or (header-from header) "(nobody)")
+          (or (header-date header) "")
+          (or (header-id header)
+              (concat "soup-dummy-id-" 
+                      (mapconcat 
+                       (lambda (time) (int-to-string time))
+                       (current-time) "-")))
+          (or (header-references header) "")
+          (or (header-chars header) 0) 
+          (or (header-lines header) "0") 
+          (or (header-xref header) ""))))
+
+(defun gnus-soup-save ()
+  (gnus-soup-write-areas)
+  (save-excursion
+    (let (buf)
+      (while gnus-soup-buffers
+       (setq buf (car gnus-soup-buffers)
+             gnus-soup-buffers (cdr gnus-soup-buffers))
+       (if (not (buffer-name buf))
+           ()
+         (set-buffer buf)
+         (and (buffer-modified-p) (save-buffer))
+         (kill-buffer (current-buffer)))))
+    (gnus-set-work-buffer)
+    (insert (format "(setq gnus-soup-last-prefix %d)\n" 
+                   gnus-soup-last-prefix))
+    (write-region (point-min) (point-max) gnus-soup-prefix-file nil 'nomesg)))
+
+(defun gnus-soup-pack ()
+  (let* ((dir (file-name-nondirectory 
+              (directory-file-name
+               (file-name-as-directory gnus-soup-directory))))
+        (top (file-name-directory
+              (directory-file-name
+               (file-name-as-directory gnus-soup-directory))))
+        (files (mapconcat (lambda (f) (concat dir "/" f))
+                          '("AREAS" "*.MSG" "*.IDX" "INFO"
+                            "LIST" "REPLIES" "COMMANDS" "ERRORS")
+                          " "))
+        (packer (if (< (string-match "%s" gnus-soup-packer)
+                       (string-match "%d" gnus-soup-packer))
+                    (format gnus-soup-packer files
+                            (string-to-int (gnus-soup-unique-prefix)))
+                  (format gnus-soup-packer 
+                          (string-to-int (gnus-soup-unique-prefix)) files))))
+    (if (zerop (call-process "sh" nil nil nil "-c" 
+                            (concat "cd " top " ; " packer)))
+       (call-process "sh" nil nil nil "-c" 
+                     (concat "cd " top " ; rm " files))
+      (error "Couldn't pack packet."))))
+
+(defun gnus-soup-parse-areas (file)
+  "Parse soup area file FILE.
+The result is a of vectors, each containing one entry from the AREA file.
+The vector contain five strings, 
+  [prefix name encoding description number]
+though the two last may be nil if they are missing."
+  (let (areas)
+    (save-excursion
+      (set-buffer (find-file-noselect file))
+      (buffer-disable-undo)
+      (goto-char (point-min))
+      (while (not (eobp))
+       (setq areas
+             (cons (vector (gnus-soup-field) 
+                           (gnus-soup-field)
+                           (gnus-soup-field)
+                           (and (eq (preceding-char) ?\t) (gnus-soup-field))
+                           (and (eq (preceding-char) ?\t) (gnus-soup-field)))
+                   areas))
+       (if (eq (preceding-char) ?\t)
+           (beginning-of-line 2))))
+    areas))
+
+(defun gnus-soup-field ()
+  (prog1
+      (buffer-substring (point) (progn (skip-chars-forward "^\t\n") (point)))
+    (forward-char 1)))
+
+(defun gnus-soup-read-areas ()
+  (or gnus-soup-areas
+      (setq gnus-soup-areas
+           (gnus-soup-parse-areas (concat gnus-soup-directory "AREAS")))))
+
+(defun gnus-soup-write-areas ()
+  (save-excursion
+    (set-buffer (find-file-noselect (concat gnus-soup-directory "AREAS")))
+    (erase-buffer)
+    (let ((areas gnus-soup-areas)
+         area)
+      (while areas
+       (setq area (car areas)
+             areas (cdr areas))
+       (insert (aref area 0) ?\t (aref area 1) ?\t (aref area 2) ?\n)))
+    (write-region (point-min) (point-max)
+                 (concat gnus-soup-directory "AREAS"))
+    (set-buffer-modified-p nil)
+    (kill-buffer (current-buffer))))
+
+(defun gnus-soup-area (group)
+  (gnus-soup-read-areas)
+  (let ((areas gnus-soup-areas)
+       area result)
+    (while areas
+      (setq area (car areas)
+           areas (cdr areas))
+      (if (equal (aref area 1) group)
+         (setq result area)))
+    (or result
+       (setq result
+             (vector (gnus-soup-unique-prefix)
+                     group 
+                     (format "%c%c%c"
+                             gnus-soup-encoding-type
+                             gnus-soup-index-type
+                             (if (gnus-member-of-valid 'mail group) ?m ?n)
+                             nil nil))
+             gnus-soup-areas (cons result gnus-soup-areas)))
+    result))
+
+(defun gnus-soup-unique-prefix ()
+  (if gnus-soup-last-prefix
+      ()
+    (if (file-exists-p gnus-soup-prefix-file)
+       (condition-case nil
+           (load-file gnus-soup-prefix-file)
+         (error 0))
+      (setq gnus-soup-last-prefix 0)))
+  (int-to-string (setq gnus-soup-last-prefix (1+ gnus-soup-last-prefix))))
+
+(provide 'gnus-soup)
+
+;;; gnus-soup.el ends here
+
+
+
index 8a44157..afe7671 100644 (file)
@@ -275,12 +275,6 @@ highlight-headers-follow-url-netscape:
       ["Set expirable mark" gnus-summary-mark-as-expirable t]
       ["Set bookmark" gnus-summary-set-bookmark t]
       ["Remove bookmark" gnus-summary-remove-bookmark t])
-     ("Score"
-      ["Enter score" gnus-summary-score-entry t]
-      ["Raise score" gnus-summary-raise-score t]
-      ["Lower score" gnus-summary-lower-score t]
-      ["Current score" gnus-summary-current-score t]
-      ["Set score" gnus-summary-set-score t])
      ("Display"
       ["Remove lines marked as read" gnus-summary-remove-lines-marked-as-read t]
       ["Remove lines marked with..." gnus-summary-remove-lines-marked-with t]
@@ -399,7 +393,7 @@ highlight-headers-follow-url-netscape:
       ["Catchup and exit" gnus-summary-catchup-and-exit t]
       ["Catchup and goto next" gnus-summary-catchup-and-goto-next-group t]
       ["Exit group" gnus-summary-exit t]
-      ["Exit group without updating" gnus-summary-quit t]
+      ["Exit group without updating" gnus-summary-exit-no-update t]
       ["Reselect group" gnus-summary-reselect-current-group t]
       ["Rescan group" gnus-summary-rescan-group t])
      ["Fetch group FAQ" gnus-summary-fetch-faq t]
@@ -438,6 +432,11 @@ highlight-headers-follow-url-netscape:
    gnus-summary-mode-map
    ""
    '("Score"
+     ["Enter score" gnus-summary-score-entry t]
+     ["Raise score" gnus-summary-increase-score t]
+     ["Lower score" gnus-summary-lower-score t]
+     ["Current score" gnus-summary-current-score t]
+     ["Set score" gnus-summary-set-score t]
      ("Score file"
       ["Switch current score file" gnus-score-change-score-file t]
       ["Set mark below" gnus-score-set-mark-below t]
index 0a51cac..42c3cb0 100644 (file)
@@ -812,7 +812,7 @@ will not be asked to confirm the command.")
 If nil, all files that use the same viewing command will be given as a
 list of parameters to that command.")
 
-(defvar gnus-group-line-format "%M%S%5y: %(%g%)\n"
+(defvar gnus-group-line-format "%M%S%p%5y: %(%g%)\n"
   "*Format of group lines.
 It works along the same lines as a normal formatting string,
 with some simple extensions.
@@ -832,6 +832,7 @@ with some simple extensions.
 %D    Group description (string)
 %s    Select method (string)
 %o    Moderated group (char, \"m\")
+%p    Process mark (char)
 %O    Moderated group (string, \"(m)\" or \"\")
 %n    Select from where (string)
 %z    A string that look like `<%s:%n>' if a foreign select method is used
@@ -941,6 +942,7 @@ with some simple extensions.
     ("nndoc" none prompt-address) 
     ("nnbabyl" mail respool) 
     ("nnkiboze" none virtual) 
+    ("nnsoup" post)
     ("nnfolder" mail respool))
   "An alist of valid select methods.
 The first element of each list lists should be a string with the name
@@ -1200,6 +1202,7 @@ automatically when it is selected.")
        (list ?D 'newsgroup-description ?s)
        (list ?o 'moderated ?c)
        (list ?O 'moderated-string ?s)
+       (list ?p 'process-marked ?c)
        (list ?s 'news-server ?s)
        (list ?n 'news-method ?s)
        (list ?z 'news-method-string ?s)
@@ -1272,7 +1275,7 @@ variable (string, integer, character, etc).")
 (defconst gnus-maintainer "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls & Boys)"
   "The mail address of the Gnus maintainer.")
 
-(defconst gnus-version "(ding) Gnus v0.79"
+(defconst gnus-version "(ding) Gnus v0.80"
   "Version number for this version of Gnus.")
 
 (defvar gnus-info-nodes
@@ -1515,6 +1518,11 @@ Thank you for your help in stamping out bugs.
   (autoload 'rmail-count-new-messages "rmail")
   (autoload 'rmail-show-message "rmail")
 
+  ;; gnus-soup
+  (autoload 'gnus-group-brew-soup "gnus-soup" nil t)
+  (autoload 'gnus-brew-soup "gnus-soup" nil t)
+  (autoload 'gnus-soup-add-article "gnus-soup" nil t)
+
   ;; gnus-mh
   (autoload 'gnus-mail-reply-using-mhe "gnus-mh")
   (autoload 'gnus-mail-forward-using-mhe "gnus-mh")
@@ -2375,7 +2383,7 @@ If optional argument RE-ONLY is non-nil, strip `Re:' only."
              hor (cdr hor)))
       (setq heights (nreverse heights)
            hor (car rule))
-      
+
       ;; We then go through these heighs and create windows for them.
       (while heights
        (setq height (car heights)
@@ -2403,7 +2411,7 @@ If optional argument RE-ONLY is non-nil, strip `Re:' only."
     ;; Finally, we pop to the buffer that's supposed to have point. 
     (or jump-buffer (error "Missing `point' in spec for %s" setting))
 
-    (pop-to-buffer jump-buffer)
+    (select-window (get-buffer-window jump-buffer))
     jump-buffer))
       
 (defun gnus-remove-some-windows ()
@@ -3410,6 +3418,8 @@ moves the point to the colon."
                     ?* ? ))
         (number (if (eq number t) "*" (+ number number-of-dormant 
                                          number-of-ticked)))
+        (process-marked (if (member qualified-group gnus-group-marked)
+                            gnus-process-mark ? ))
         (buffer-read-only nil)
         b)
     (beginning-of-line)
@@ -3558,14 +3568,15 @@ If FIRST-TOO, the current line is also eligeble as a target."
             (setq group (gnus-group-group-name))
             (progn
               (beginning-of-line)
-              (forward-char 1)
+              (forward-char 2)
               (delete-char 1)
               (if unmark
                   (progn
                     (insert " ")
                     (setq gnus-group-marked (delete group gnus-group-marked)))
                 (insert "#")
-                (setq gnus-group-marked (cons group gnus-group-marked)))
+                (setq gnus-group-marked
+                      (cons group (delete group gnus-group-marked))))
               t)
             (zerop (gnus-group-next-group 1)))
       (setq n (1- n)))
@@ -5180,6 +5191,7 @@ buffer.
   (define-key gnus-summary-save-map "h" 'gnus-summary-save-article-folder)
   (define-key gnus-summary-save-map "v" 'gnus-summary-save-article-vm)
   (define-key gnus-summary-save-map "p" 'gnus-summary-pipe-output)
+;  (define-key gnus-summary-save-map "s" 'gnus-soup-add-article)
 
   (define-key gnus-summary-mode-map "X" 'gnus-uu-extract-map)
   
@@ -5529,11 +5541,13 @@ If NO-ARTICLE is non-nil, no article is selected initially."
        (gnus-kill-buffer kill-buffer)
        (if (not (get-buffer-window gnus-group-buffer))
            ()
-         (let ((obuf (current-buffer)))
-           (set-buffer gnus-group-buffer)
-           (and (gnus-group-goto-group group)
-                (recenter))
-           (set-buffer obuf))))
+         ;; gotta use windows, because recenter does wierd stuff if
+         ;; the current buffer ain't the displayed window.
+         (let ((owin (selected-window))) 
+           (select-window (get-buffer-window gnus-group-buffer))
+           (and (gnus-group-goto-group group)
+                (recenter))
+           (select-window owin))))
       t))))
 
 (defun gnus-summary-prepare ()
@@ -7394,18 +7408,19 @@ If optional argument UNREAD is non-nil, only unread article is selected."
                      nil 'require-match))))
   (or article (error "No article number"))
   (let ((b (point)))
-    (gnus-goto-char (text-property-any (point-min) (point-max)
-                                      'gnus-number article))
-    (gnus-summary-show-thread)
-    ;; Skip dummy articles. 
-    (if (eq (gnus-summary-article-mark) gnus-dummy-mark)
-       (forward-line 1))
-    (prog1
-       (if (not (eobp))
-           article
-         (goto-char b)
-         nil)
-      (gnus-summary-position-cursor))))
+    (if (not (gnus-goto-char (text-property-any (point-min) (point-max)
+                                               'gnus-number article)))
+       ()
+      (gnus-summary-show-thread)
+      ;; Skip dummy articles. 
+      (if (eq (gnus-summary-article-mark) gnus-dummy-mark)
+         (forward-line 1))
+      (prog1
+         (if (not (eobp))
+             article
+           (goto-char b)
+           nil)
+       (gnus-summary-position-cursor)))))
 
 ;; Walking around summary lines with displaying articles.
 
@@ -7630,6 +7645,7 @@ Argument LINES specifies lines to be scrolled down."
 Argument LINES specifies lines to be scrolled up (or down if negative)."
   (interactive "p")
   (gnus-set-global-variables)
+  (gnus-configure-windows 'article)
   (or (gnus-summary-select-article nil nil 'pseudo)
       (gnus-eval-in-buffer-window 
        gnus-article-buffer
@@ -11599,15 +11615,22 @@ newsgroup."
 ;; alist elements are used as keys.
 (defun gnus-make-hashtable-from-newsrc-alist ()
   (let ((alist gnus-newsrc-alist)
-        prev)
+       (ohashtb gnus-newsrc-hashtb)
+       prev)
     (setq gnus-newsrc-hashtb (gnus-make-hashtable (length alist)))
     (setq alist 
          (setq prev (setq gnus-newsrc-alist 
-                          (cons (list "dummy.group" 0 nil) alist))))
+                          (if (equal (car (car gnus-newsrc-alist))
+                                     "dummy.group")
+                              gnus-newsrc-alist
+                            (cons (list "dummy.group" 0 nil) alist)))))
     (while alist
-      (gnus-sethash (car (car alist)) (cons nil prev) gnus-newsrc-hashtb)
-      (setq prev alist)
-      (setq alist (cdr alist)))))
+      (gnus-sethash (car (car alist)) 
+                   (cons (and ohashtb (car (gnus-gethash 
+                                            (car (car alist)) ohashtb))) 
+                         prev) gnus-newsrc-hashtb)
+      (setq prev alist
+           alist (cdr alist)))))
 
 (defun gnus-make-hashtable-from-killed ()
   "Create a hash table from the killed and zombie lists."
diff --git a/lisp/nneething.el b/lisp/nneething.el
new file mode 100644 (file)
index 0000000..30cea3f
--- /dev/null
@@ -0,0 +1,323 @@
+;;; nneething.el --- random file access for Gnus
+;; Copyright (C) 1995 Free Software Foundation, Inc.
+
+;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+;;     Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
+;; Keywords: news, mail
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING.  If not, write to
+;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+;;; Commentary:
+
+;; Based on nnspool.el by Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>.
+;; For an overview of what the interface functions do, please see the
+;; Gnus sources.  
+
+;;; Code:
+
+(require 'nnheader)
+(require 'nnmail)
+
+(defvar nneething-map-file-directory "~/.nneething/"
+  "*Map files directory.")
+
+(defvar nneething-exclude-files "~$"
+  "*Regexp saying what files to exclude from the group.")
+
+(defvar nneething-map-file ".nneething"
+  "*Name of map files.")
+
+\f
+
+(defconst nneething-version "nneething 0.1"
+  "nneething version.")
+
+(defvar nneething-current-directory nil
+  "Current news group directory.")
+
+(defvar nneething-status-string "")
+(defvar nneething-group-alist nil)
+
+\f
+
+(defvar nneething-directory nil)
+(defvar nneething-group nil)
+(defvar nneething-map nil)
+(defvar nneething-read-only nil)
+(defvar nneething-active nil)
+(defvar nneething-server-variables 
+  (list
+   (list 'nneething-directory nneething-directory)
+   '(nneething-current-directory nil)
+   '(nneething-status-string "")
+   '(nneething-group-alist)))
+
+\f
+
+;;; Interface functions.
+
+(defun nneething-retrieve-headers (sequence &optional newsgroup server)
+  (nneething-possibly-change-directory newsgroup)
+
+  (save-excursion
+    (set-buffer nntp-server-buffer)
+    (erase-buffer)
+    (let* ((number (length sequence))
+          (count 0)
+          (large (and (numberp nnmail-large-newsgroup)
+                      (> number nnmail-large-newsgroup)))
+          beg article file)
+
+      (if (stringp (car sequence))
+         'headers
+
+       (while sequence
+         (setq article (car sequence))
+         (setq file (nneething-file-name article))
+
+         (if (file-exists-p file)
+             (progn
+               (insert (format "221 %d Article retrieved.\n" article))
+               (nneething-insert-head file)
+               (insert ".\n")))
+
+         (setq sequence (cdr sequence)
+               count (1+ count))
+
+         (and large
+              (zerop (% count 20))
+              (message "nneething: Receiving headers... %d%%"
+                       (/ (* count 100) number))))
+
+       (and large (message "nneething: Receiving headers...done"))
+
+       ;; Fold continuation lines.
+       (goto-char (point-min))
+       (while (re-search-forward "\\(\r?\n[ \t]+\\)+" nil t)
+         (replace-match " " t t))
+       'headers))))
+
+(defun nneething-open-server (server &optional defs)
+  (setq nneething-status-string "")
+  (nnheader-init-server-buffer))
+
+(defun nneething-close-server (&optional server)
+  t)
+
+(defun nneething-server-opened (&optional server)
+  t)
+
+(defun nneething-status-message (&optional server)
+  nneething-status-string)
+
+(defun nneething-request-article (id &optional newsgroup server buffer)
+  (nneething-possibly-change-directory newsgroup)
+  (let ((file (if (stringp id) nil (nneething-file-name id)))
+       (nntp-server-buffer (or buffer nntp-server-buffer)))
+    (and (stringp file)                        ; We did not request by Message-ID.
+        (file-exists-p file)           ; The file exists.
+        (not (file-directory-p file))  ; It's not a dir.
+        (save-excursion
+          (nnmail-find-file file)      ; Insert the file in the nntp buf.
+          (or (nnheader-article-p)     ; Either it's a real article...
+              (progn
+                (goto-char (point-min))
+                (nneething-make-head file) ; ... or we fake some headers.
+                (insert "\n")))
+          t))))
+
+(defun nneething-request-group (group &optional dir dont-check)
+  (nneething-possibly-change-directory group dir)
+  (or dont-check (nneething-create-mapping))
+  (save-excursion
+    (set-buffer nntp-server-buffer)
+    (erase-buffer)
+    (if (> (car nneething-active) (cdr nneething-active))
+       (insert (format "211 0 1 0 %s\n" group))
+      (insert (format "211 %d %d %d %s\n" 
+                     (- (1+ (cdr nneething-active)) (car nneething-active))
+                     (car nneething-active) (cdr nneething-active)
+                     group)))
+    t))
+
+(defun nneething-request-list (&optional server dir)
+  (save-excursion
+    (set-buffer nntp-server-buffer)
+    (erase-buffer))
+  nil)
+
+(defun nneething-request-newgroups (date &optional server)
+  (save-excursion
+    (set-buffer nntp-server-buffer)
+    (erase-buffer))
+  nil)
+
+(defun nneething-request-post (&optional server)
+  (mail-send-and-exit nil))
+
+(defalias 'nneething-request-post-buffer 'nnmail-request-post-buffer)
+
+(defun nneething-close-group (group &optional server)
+  t)
+
+\f
+;;; Internal functions.
+
+(defun nneething-possibly-change-directory (group &optional dir)
+  (if (not group)
+      ()
+    (if (and nneething-group
+            (string= group nneething-group))
+       t
+      (let (entry)
+       (if (setq entry (assoc group nneething-group-alist))
+           (progn
+             (setq nneething-group group)
+             (setq nneething-directory (nth 1 entry))
+             (setq nneething-map (nth 2 entry))
+             (setq nneething-active (nth 3 entry)))
+         (setq nneething-group group)
+         (setq nneething-directory dir)
+         (setq nneething-map nil)
+         (setq nneething-active (cons 1 0))
+         (nneething-create-mapping)
+         (setq nneething-group-alist
+               (cons (list group dir nneething-map nneething-active)
+                     nneething-group-alist)))))))
+
+(defun nneething-map-file ()
+  ;; We store it in a special directory under the user's home dir.
+  (concat (file-name-as-directory nneething-map-file-directory)
+         nneething-group nneething-map-file))
+
+(defun nneething-create-mapping ()
+  ;; Read nneething-active and nneething-map
+  (let ((map-file (nneething-map-file))
+       (files (directory-files nneething-directory))
+       (dir (file-name-as-directory nneething-directory))
+       touched)
+    (if (file-exists-p map-file)
+       (condition-case nil
+           (load map-file nil t t)
+         (error nil)))
+    (or nneething-active (setq nneething-active (cons 1 0)))
+    ;; Remove files matching that regexp.
+    (let ((f files)
+         prev)
+      (while f
+       (if (string-match nneething-exclude-files (car f))
+           (if prev (setcdr prev (cdr f))
+             (setq files (cdr files)))
+         (setq prev f))
+       (setq f (cdr f))))
+    ;; Remove files that have disappeared from the map.
+    (let ((map nneething-map)
+         prev)
+      (while map
+       (if (member (car (car map)) files)
+           (setq prev map)
+         (setq touched t)
+         (if prev
+             (setcdr prev (cdr map))
+           (setq nneething-map (cdr nneething-map))))
+       (setq map (cdr map))))
+    ;; Find all new files and enter them into the map.
+    (while files
+      (or (assoc (car files) nneething-map) ; If already in the map, ignore.
+         (progn
+           (setq touched t)
+           (setcdr nneething-active (1+ (cdr nneething-active)))
+           (setq nneething-map
+                 (cons (cons (car files) (cdr nneething-active)) nneething-map))))
+      (setq files (cdr files)))
+    (if (or (not touched) nneething-read-only)
+       ()
+      (save-excursion
+       (set-buffer (get-buffer-create " *nneething map*"))
+       (buffer-disable-undo (current-buffer))
+       (erase-buffer)
+       (insert "(setq nneething-map '" (prin1-to-string nneething-map) ")\n"
+               "(setq nneething-active '" (prin1-to-string nneething-active)
+               ")\n")
+       (write-region (point-min) (point-max) map-file nil 'nomesg)
+       (kill-buffer (current-buffer))))))
+
+(defvar nneething-message-id-number 0)
+(defvar nneething-work-buffer " *nneething work*")
+
+(defun nneething-insert-head (file)
+  (and (nneething-get-head file)
+       (insert-buffer-substring nneething-work-buffer)))
+
+(defun nneething-make-head (file)
+  (let ((atts (file-attributes file)))
+    (insert "Subject: " (file-name-nondirectory file) "\n"
+           "Message-ID: <nneething-"
+           (int-to-string 
+            (setq nneething-message-id-number
+                  (1+ nneething-message-id-number)))
+           "@" (system-name) ">\n"
+           "Date: " (current-time-string (nth 5 atts)) "\n"
+           (nneething-from-line (nth 2 atts))
+           "Chars: " (int-to-string (nth 7 atts)) "\n")))
+
+(defun nneething-from-line (uid)
+  (let ((login (condition-case nil 
+                  (user-login-name uid)
+                (error 
+                 (cond ((= uid (user-uid)) (user-login-name))
+                       ((zerop uid) "root")
+                       (t (int-to-string uid))))))
+       (name (condition-case nil 
+                 (user-full-name uid)
+               (error 
+                (cond ((= uid (user-uid)) (user-full-name))
+                      ((zerop uid) "Ms. Root"))))))
+    (concat "From: " login "@" (system-name) 
+           (if name (concat " (" name ")") "") "\n")))
+
+(defun nneething-get-head (file)
+  (save-excursion
+    (set-buffer (get-buffer-create nneething-work-buffer))
+    (setq case-fold-search nil)
+    (buffer-disable-undo (current-buffer))
+    (erase-buffer)
+    (if (not (file-exists-p file))
+       ()
+      (if (or (not (file-regular-p file))
+             (progn
+               (nnheader-insert-head file)
+               (if (nnheader-article-p)
+                   (progn
+                     (delete-region (point) (point-max))
+                     nil))))
+         (progn
+           (erase-buffer)
+           (nneething-make-head file)))
+      t)))
+
+(defun nneething-number-to-file (number)
+  (car (rassq number nneething-map)))
+
+(defun nneething-file-name (article)
+  (concat (file-name-as-directory nneething-directory)
+         (if (numberp article) (nneething-number-to-file article)
+           article)))
+
+(provide 'nneething)
+
+;;; nneething.el ends here
index 90f18f1..82e6db5 100644 (file)
@@ -651,12 +651,10 @@ such things as moving mail.  All buffers always get killed upon server close.")
              (and (buffer-modified-p) (save-buffer)))
            (setq bufs (cdr bufs)))))
       (while incomings
-       ;; The following has been commented away, just to make sure
-       ;; that nobody ever loses any mail. If you feel safe that
-       ;; nnfolder will never do anything strange, just remove those
-       ;; two semicolons, and avoid having lots of "Incoming*"
-       ;; files. 
-       ;; (and (file-writable-p incoming) (delete-file incoming))
+       (and 
+        nnmail-delete-incoming
+        (file-writable-p incoming)
+        (delete-file incoming))
        (setq incomings (cdr incomings))))))
 
 (provide 'nnfolder)
index 1ccdf23..220c888 100644 (file)
                                 file nil beg (setq beg (+ chop beg)))))
                (prog1 (not (search-backward "\n\n" nil t)) 
                  (goto-char (point-max)))))))
-    
+
+(defun nnheader-article-p ()
+  (goto-char (point-min))
+  (if (not (search-forward "\n\n" nil t))
+      nil
+    (narrow-to-region (point-min) (1- (point)))
+    (goto-char (point-min))
+    (while (looking-at "[A-Z][^ \t]+:.*\n\\([ \t].*\n\\)*\\|From .*\n")
+      (goto-char (match-end 0)))
+    (prog1
+       (eobp)
+      (widen))))    
 
 (provide 'nnheader)
 
index 693d0bb..1d3c019 100644 (file)
@@ -181,6 +181,10 @@ Example:
     (mail . "mailer-daemon\\|postmaster"))
   "*Alist of abbrevations allowed in `nnmail-split-fancy'.")
 
+(defvar nnmail-delete-incoming nil
+  "*If non-nil, the mail backends will delete incoming files after splitting.
+This is nil by default for reasons of security.")
+
 \f
 
 (defconst nnmail-version "nnml 0.0"
index 32c1234..1cd81c5 100644 (file)
@@ -52,7 +52,7 @@
 (defvar nnmbox-current-group nil
   "Current nnmbox news group directory.")
 
-(defconst nnmbox-mbox-buffer " *nnmbox mbox buffer*")
+(defconst nnmbox-mbox-buffer nil)
 
 (defvar nnmbox-status-string "")
 
 
 (defun nnmbox-server-opened (&optional server)
   (and (equal server nnmbox-current-server)
+       nnmbox-mbox-buffer
+       (buffer-name nnmbox-mbox-buffer)
        nntp-server-buffer
        (buffer-name nntp-server-buffer)))
 
          (delete-region (point-min) (point-max))))))
 
 (defun nnmbox-possibly-change-newsgroup (newsgroup)
-  (if (not (get-buffer nnmbox-mbox-buffer))
+  (if (or (not nnmbox-mbox-buffer)
+         (not (buffer-name nnmbox-mbox-buffer)))
       (save-excursion
        (set-buffer (setq nnmbox-mbox-buffer 
                          (find-file-noselect nnmbox-mbox-file)))
   (if (not (file-exists-p nnmbox-mbox-file))
       (write-region 1 1 nnmbox-mbox-file t 'nomesg))
   (if (and nnmbox-mbox-buffer
-          (get-buffer nnmbox-mbox-buffer)
           (buffer-name nnmbox-mbox-buffer)
           (save-excursion
             (set-buffer nnmbox-mbox-buffer)
             (set-buffer nnmbox-mbox-buffer)
             (save-buffer)))
       (while incomings
-       ;; The following has been commented away, just to make sure
-       ;; that nobody ever loses any mail. If you feel safe that
-       ;; nnfolder will never do anything strange, just remove those
-       ;; two semicolons, and avoid having lots of "Incoming*"
-       ;; files. 
-       ;; (and (file-writable-p incoming) (delete-file incoming))
+       (and nnmail-delete-incoming
+            (file-writable-p incoming) 
+            (delete-file incoming))
        (setq incomings (cdr incomings))))))
 
 
index b49a480..5fa77cb 100644 (file)
       (if incoming 
          (message "nnmh: Reading incoming mail...done"))
       (while incomings
-       ;; The following has been commented away, just to make sure
-       ;; that nobody ever loses any mail. If you feel safe that
-       ;; nnfolder will never do anything strange, just remove those
-       ;; two semicolons, and avoid having lots of "Incoming*"
-       ;; files. 
-       ;; (and (file-writable-p incoming) (delete-file incoming))
+       (and nnmail-delete-incoming
+            (file-writable-p incoming)
+            (delete-file incoming))
        (setq incomings (cdr incomings))))))
       
 
index 3cb1e99..83051ca 100644 (file)
@@ -500,14 +500,7 @@ all. This may very well take some time.")
                 (nnmail-move-inbox 
                  (car spools) (concat nnml-directory "Incoming")))
           (nnmail-split-incoming incoming 'nnml-save-mail nil group)
-          (setq incomings (cons incoming incomings))
-          ;; The following has been commented away, just to make sure
-          ;; that nobody ever loses any mail. If you feel safe that
-          ;; nnml will never do anything strange, just remove those
-          ;; two semicolons, and avoid having lots of "Incoming*"
-          ;; files. 
-          ;; (delete-file incoming)
-          ))
+          (setq incomings (cons incoming incomings))))
        (setq spools (cdr spools)))
       ;; If we did indeed read any incoming spools, we save all info. 
       (if incoming 
@@ -518,12 +511,9 @@ all. This may very well take some time.")
            (and gnus-verbose-backends
                 (message "nnml: Reading incoming mail...done"))))
       (while incomings
-       ;; The following has been commented away, just to make sure
-       ;; that nobody ever loses any mail. If you feel safe that
-       ;; nnfolder will never do anything strange, just remove those
-       ;; two semicolons, and avoid having lots of "Incoming*"
-       ;; files. 
-       ;; (and (file-writable-p incoming) (delete-file incoming))
+       (and nnmail-delete-incoming
+            (file-writable-p incoming)
+            (delete-file incoming))
        (setq incomings (cdr incomings))))))
 
 
diff --git a/lisp/nnsoup.el b/lisp/nnsoup.el
new file mode 100644 (file)
index 0000000..fdd356b
--- /dev/null
@@ -0,0 +1,339 @@
+;;; nnsoup.el --- SOUP packet reading access for Gnus
+;; Copyright (C) 1995 Free Software Foundation, Inc.
+
+;; Author: Per Abrahamsen <abraham@iesd.auc.dk>
+;;     Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+;;     Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
+;; Keywords: news, mail
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING.  If not, write to
+;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+;;; Commentary:
+
+;; For an overview of what the interface functions do, please see the
+;; Gnus sources.  
+
+;; For more information on SOUP, see the comments in the file 
+;; `gnus-soup.el'. 
+
+;;; Code:
+
+(require 'gnus-soup)
+(require 'nnheader)
+(require 'rmail)
+(require 'nnmail)
+
+(defvar nnsoup-directory (expand-file-name "~/SOUP/")
+  "The name of the directory containing the unpacket SOUP packet.")
+
+\f
+
+(defconst nnsoup-version "nnsoup 0.0"
+  "nnsoup version.")
+
+(defconst nnsoup-areas-file (concat nnsoup-directory  "AREAS"))
+(defconst nnsoup-list-file (concat nnsoup-directory "LIST"))
+(defconst nnsoup-gnus-file (concat nnsoup-directory "gnus.touched"))
+
+(defvar nnsoup-current-group nil)
+(defvar nnsoup-current-buffer nil)
+(defvar nnsoup-status-string "")
+(defvar nnsoup-group-alist nil)
+(defvar nnsoup-buffer-alist nil)
+(defconst nnsoup-areas-list nil)
+
+;;; Interface functions
+
+(defun nnsoup-retrieve-headers (sequence &optional newsgroup server)
+  (save-excursion
+    (set-buffer nntp-server-buffer)
+    (erase-buffer)
+    (let ((file nil)
+         (number (length sequence))
+         beg article art-string start stop)
+      (nnsoup-possibly-change-group newsgroup)
+      (while sequence
+       (setq article (car sequence))
+       (setq art-string (nnsoup-article-string article))
+       (set-buffer nnsoup-current-buffer)
+       (if (or (search-forward art-string nil t)
+               (progn (goto-char 1)
+                      (search-forward art-string nil t)))
+           (progn
+             (setq start 
+                   (save-excursion
+                     (re-search-backward 
+                      (concat "^" rmail-unix-mail-delimiter) nil t)
+                     (point)))
+             (search-forward "\n\n" nil t)
+             (setq stop (1- (point)))
+             (set-buffer nntp-server-buffer)
+             (insert (format "221 %d Article retrieved.\n" article))
+             (setq beg (point))
+             (insert-buffer-substring nnsoup-current-buffer start stop)
+             (goto-char (point-max))
+             (insert ".\n")))
+       (setq sequence (cdr sequence)))
+
+      ;; Fold continuation lines.
+      (goto-char 1)
+      (while (re-search-forward "\\(\r?\n[ \t]+\\)+" nil t)
+       (replace-match " " t t))
+      'headers)))
+
+(defun nnsoup-open-server (host &optional service)
+  (setq nnsoup-status-string "")
+  (setq nnsoup-group-alist nil)
+  (nnheader-init-server-buffer))
+
+(defun nnsoup-close-server (&optional server)
+  t)
+
+(defun nnsoup-server-opened (&optional server)
+  (and nntp-server-buffer
+       (buffer-name nntp-server-buffer)))
+
+(defun nnsoup-status-message (&optional server)
+  nnsoup-status-string)
+
+(defun nnsoup-request-article (article &optional newsgroup server buffer)
+  (nnsoup-possibly-change-group newsgroup)
+  (if (stringp article)
+      nil
+    (save-excursion
+      (set-buffer nnsoup-current-buffer)
+      (goto-char 1)
+      (if (search-forward (nnsoup-article-string article) nil t)
+         (let (start stop)
+           (re-search-backward (concat "^" rmail-unix-mail-delimiter) nil t)
+           (setq start (point))
+           (forward-line 1)
+           (or (and (re-search-forward 
+                     (concat "^" rmail-unix-mail-delimiter) nil t)
+                    (forward-line -1))
+               (goto-char (point-max)))
+           (setq stop (point))
+           (let ((nntp-server-buffer (or buffer nntp-server-buffer)))
+             (set-buffer nntp-server-buffer)
+             (erase-buffer)
+             (insert-buffer-substring nnsoup-current-buffer start stop)
+             (goto-char (point-min))
+             (while (looking-at "From ")
+               (delete-char 5)
+               (insert "X-From-Line: ")
+               (forward-line 1))
+             t))))))
+
+(defun nnsoup-request-group (group &optional server dont-check)
+  (save-excursion
+    (nnsoup-possibly-change-group group)
+    (and (assoc group nnsoup-group-alist)
+        (save-excursion
+          (set-buffer nntp-server-buffer)
+          (erase-buffer)
+          (if dont-check
+              t
+            (nnsoup-request-list)
+            (setq nnsoup-group-alist (nnmail-get-active))
+            (let ((active (assoc group nnsoup-group-alist)))
+              (insert (format "211 %d %d %d %s\n" 
+                              (1+ (- (cdr (car (cdr active)))
+                                     (car (car (cdr active)))))
+                              (car (car (cdr active)))
+                              (cdr (car (cdr active)))
+                              (car active))))
+            t)))))
+
+(defun nnsoup-close-group (group &optional server)
+  t)
+
+(defun nnsoup-request-list (&optional server)
+  (if server
+      (if (or (file-exists-p nnsoup-gnus-file)
+             (not (file-directory-p nnsoup-directory)))
+         ()
+       (write-region 1 1 nnsoup-gnus-file)
+       (setq nnsoup-areas-list nil
+             nnsoup-current-group nil
+             nnsoup-current-buffer nil
+             nnsoup-group-alist nil)
+       (let ((buffer (get-file-buffer nnsoup-areas-file))
+             (groups gnus-newsrc-assoc)
+             group)
+         (while groups
+           (setq group (car groups)
+                 groups (cdr groups))
+           (if (eq (car (gnus-group-method-name (car group))) 'nnsoup)
+               (progn 
+                 (setcar (nthcdr 2 group) nil)
+                 (setcar (nthcdr 3 group) nil))))
+         (gnus-make-hashtable-from-newsrc-alist)
+         (if buffer
+             (kill-buffer buffer))
+         (while nnsoup-buffer-alist 
+           (setq buffer (nth 1 (car nnsoup-buffer-alist))
+                 nnsoup-buffer-alist (cdr nnsoup-buffer-alist))
+           (if (buffer-name buffer)
+               (kill-buffer buffer))))))
+  (nnsoup-find-active))
+
+(defun nnsoup-request-newgroups (date &optional server)
+  (nnsoup-request-list server))
+
+(defun nnsoup-request-list-newsgroups (&optional server)
+  (nnmail-find-file nnsoup-newsgroups-file))
+
+(defun nnsoup-request-post (&optional server)
+  (mail-send-and-exit nil))
+
+(fset 'nnsoup-request-post-buffer 'nnmail-request-post-buffer)
+
+(defun nnsoup-request-expire-articles (articles newsgroup &optional server force)
+  (setq nnsoup-status-string "nnsoup: expire not possible")
+  nil)
+
+(defun nnsoup-request-move-article (article group server accept-form)
+  (setq nnsoup-status-string "nnsoup: move not possible")
+  nil)
+
+(defun nnsoup-request-accept-article (group)
+  (setq nnsoup-status-string "nnsoup: accept not possible")
+  nil)
+
+\f
+;;; Internal functions.
+
+(defun nnsoup-possibly-change-group (group)
+  (or (file-exists-p nnsoup-directory)
+      (make-directory (directory-file-name nnsoup-directory)))
+  (if (not nnsoup-group-alist)
+      (progn
+       (nnsoup-request-list)
+       (setq nnsoup-group-alist (nnmail-get-active))))
+  (let (inf file)
+    (if (and (equal group nnsoup-current-group)
+            (buffer-name nnsoup-current-buffer))
+       ()
+      (if (setq inf (member group nnsoup-buffer-alist))
+         (setq nnsoup-current-buffer (nth 1 inf)))
+      (setq nnsoup-current-group group)
+      (if (not (buffer-name nnsoup-current-buffer))
+         (progn
+           (setq nnsoup-buffer-alist (delq inf nnsoup-buffer-alist))
+           (setq inf nil)))
+      (if inf
+         ()
+       (save-excursion
+         (setq file (nnsoup-group-file group))
+;;;;     (if (not (file-exists-p file))
+;;;;         (write-region 1 1 file t 'nomesg))
+         (set-buffer (nnsoup-read-folder file))
+         (setq nnsoup-buffer-alist (cons (list group (current-buffer))
+                                           nnsoup-buffer-alist))))))
+  (setq nnsoup-current-group group))
+
+(defun nnsoup-article-string (article)
+  (concat "\nX-Gnus-Article-Number: " (int-to-string article) " "))
+
+(defun nnsoup-read-folder (file)
+  (nnsoup-request-list)
+  (setq nnsoup-group-alist (nnmail-get-active))
+  (save-excursion
+    (set-buffer
+     (setq nnsoup-current-buffer 
+          (find-file-noselect file)))
+    (buffer-disable-undo (current-buffer))
+    (let ((delim (concat "^" rmail-unix-mail-delimiter))
+         start end 
+         (number 1))
+      (goto-char (point-min))
+      (while (re-search-forward delim nil t)
+       (setq start (match-beginning 0))
+       (save-excursion 
+         (setq end (or (and (re-search-forward delim nil t)
+                            (match-beginning 0))
+                       (point-max))))
+       (save-excursion
+         (save-restriction
+           (narrow-to-region start end)
+           (nnmail-insert-lines)
+           (save-excursion
+             (goto-char (point-min))
+             (if (search-forward "\n\n" nil t)
+                 (progn
+                   (forward-char -1)
+                   (insert (format "X-Gnus-Article-Number: %d   %s\n" 
+                                   number (current-time-string))))))
+           (setq number (1+ number))))
+       (goto-char end)))
+    (set-buffer-modified-p nil)
+    (current-buffer)))
+
+(defun nnsoup-find-active ()
+  (set-buffer nntp-server-buffer)
+  (erase-buffer)
+  (or nnsoup-areas-list (nnsoup-read-areas))
+  (condition-case ()
+      (progn 
+       (let ((areas nnsoup-areas-list)
+             area)
+         (while areas 
+           (setq area (car areas)
+                 areas (cdr areas))
+           (insert (format "%s %s 1 y\n" (aref area 1) (aref area 4)))))
+       t)
+    (file-error nil)))
+
+(defun nnsoup-read-areas ()
+  (setq nnsoup-areas-list (gnus-soup-parse-areas nnsoup-areas-file))
+  (let ((areas nnsoup-areas-list)
+       area)
+    (while areas 
+      (setq area (car areas)
+           areas (cdr areas))
+      (aset area 4 (nnsoup-count-area area)))))
+
+(defun nnsoup-count-area (area)
+  (or (aref area 4)
+      (number-to-string 
+       (nnsoup-count-mbox (concat nnsoup-directory (aref area 0) ".MSG")))))
+
+(defun nnsoup-count-mbox (file)
+  (let ((delete (find-buffer-visiting file))
+       (num 0)
+       (delim (concat "^" rmail-unix-mail-delimiter)))
+    (save-excursion
+      (set-buffer (find-file-noselect file))
+      (goto-char (point-min))
+      (while (re-search-forward delim nil t)
+       (setq num (1+ num)))
+      (if delete (kill-buffer delete))
+      num)))
+
+(defun nnsoup-group-file (group)
+  (let ((areas nnsoup-areas-list)
+       area result)
+    (while areas 
+      (setq area (car areas)
+           areas (cdr areas))
+      (if (equal (aref area 1) group)
+         (setq result (concat nnsoup-directory (aref area 0) ".MSG"))))
+    result))
+
+(provide 'nnsoup)
+
+;;; nnsoup.el ends here
index 80e6590..5150e30 100644 (file)
 (require 'timezone)
 
 (defvar nnspool-inews-program news-inews-program
-  "Program to post news.")
+  "Program to post news.
+This is most commonly `inews' or `injnews'.")
 
 (defvar nnspool-inews-switches '("-h")
-  "Switches for nnspool-request-post to pass to `inews' for posting news.")
+  "Switches for nnspool-request-post to pass to `inews' for posting news.
+If you are using Cnews, you probably should set this variable to nil.")
 
 (defvar nnspool-spool-directory news-path
   "Local news spool directory.")
@@ -129,20 +131,20 @@ Newsgroup must be selected before calling this function."
            (setq article (car sequence))
            (if (stringp article)
                (progn
-                 (format "221 %d Article retrieved.\n" 0)
-                 (nnspool-request-article article))
+                 (setq file (nnspool-find-article-by-message-id article))
+                 (setq article 0))
              (setq file (concat nnspool-current-directory 
-                                (int-to-string article)))
-             (and (file-exists-p file)
-                  (progn
-                    (insert (format "221 %d Article retrieved.\n" article))
-                    (setq beg (point))
-                    (nnheader-insert-head file)
-                    (goto-char beg)
-                    (search-forward "\n\n" nil t)
-                    (forward-char -1)
-                    (insert ".\n")
-                    (delete-region (point) (point-max)))))
+                                (int-to-string article))))
+           (and file (file-exists-p file)
+                (progn
+                  (insert (format "221 %d Article retrieved.\n" article))
+                  (setq beg (point))
+                  (nnheader-insert-head file)
+                  (goto-char beg)
+                  (search-forward "\n\n" nil t)
+                  (forward-char -1)
+                  (insert ".\n")
+                  (delete-region (point) (point-max))))
            (setq sequence (cdr sequence))
            
            (and do-message
@@ -408,18 +410,20 @@ Newsgroup must be selected before calling this function."
                          (1- first) (1+ last))
                  file)))
 
+;; Fixed by fdc@cliwe.ping.de (Frank D. Cringle). 
 (defun nnspool-find-article-by-message-id (id)
   "Return full pathname of an article identified by message-ID."
   (save-excursion
-    (set-buffer nntp-server-buffer)
-    (erase-buffer)
-    (call-process "grep" nil t nil id nnspool-history-file)
-    (goto-char (point-min))
-    (if (looking-at "<[^>]+>[ \t]+[-0-9~]+[ \t]+\\(.*\\)$")
-       (concat nnspool-spool-directory
-               (nnspool-replace-chars-in-string 
-                (buffer-substring (match-beginning 1) (match-end 1)) 
-                ?. ?/)))))
+    (let ((buf (get-buffer-create " *nnspool work*")))
+      (set-buffer buf)
+      (erase-buffer)
+      (call-process "grep" nil t nil id nnspool-history-file)
+      (goto-char (point-min))
+      (if (looking-at "<[^>]+>[ \t]+[-0-9~]+[ \t]+\\(.*\\)$")
+         (concat nnspool-spool-directory
+                 (nnspool-replace-chars-in-string 
+                  (buffer-substring (match-beginning 1) (match-end 1)) 
+                  ?. ?/))))))
 
 (defun nnspool-find-file (file)
   "Insert FILE in server buffer safely."
diff --git a/readme b/readme
index d73b6f9..568473c 100644 (file)
--- a/readme
+++ b/readme
@@ -9,7 +9,7 @@ To use (ding) Gnus you first have to unpack the files, which you've
 obviously done, because you are reading this. 
 
 You should definitely byte-compile the source files. To do that, you
-can simply say "make" in this directory.
+can simply say "gmake" in this directory. (You have to use GNU's make.) 
 
 Then you have to tell Emacs where Gnus is. You might put something
 like
diff --git a/texi/Makefile b/texi/Makefile
new file mode 100644 (file)
index 0000000..69ec4fb
--- /dev/null
@@ -0,0 +1,10 @@
+MAKEINFO=makeinfo
+TEXI2DVI=texi2dvi
+
+all: gnus
+
+gnus: gnus.texi
+       $(MAKEINFO) -o gnus gnus.texi
+
+dvi: gnus.texi
+       $(TEXI2DVI) gnus.texi
index f4cbad6..d22d29b 100644 (file)
@@ -289,7 +289,7 @@ get the right functions onto the right hooks.
              ;; use this instead.  note that the final t is *essential*,
              ;; this must be the last thing done
              (add-hook 'gnus-article-display-hook
-                       'hilit-rehighlight-buffer-quietly t)))
+                       'gnus-article-highlight t)))
 @end lisp
 
 
@@ -981,15 +981,20 @@ the commands that say they move to the next unread group.
 @findex gnus-group-read-group
 Select the current group, switch to the summary buffer and display the
 first unread article (@code{gnus-group-read-group}).  If there are no
-unread articles in the group, or if you give a prefix to this command,
-Gnus will offer to fetch all the old articles in this group from the
-server.  
+unread articles in the group, or if you give a non-numerical prefix to
+this command, Gnus will offer to fetch all the old articles in this
+group from the server.  If you give a numerical prefix @var{N}, Gnus
+will fetch @var{N} number of articles.  If @var{N} is positive, fetch
+the @var{N} newest articles, if @var{N} is negative, fetch the
+@var{abs(N)} oldest articles.
 @item RET
 @kindex RET (Group)
 @findex gnus-group-select-group
 Select the current group and switch to the summary buffer
-(@code{gnus-group-select-group}).  If you give a prefix to this command,
-Gnus will fetch all available articles in this group.
+(@code{gnus-group-select-group}).  Takes the same aguments as
+@code{gnus-group-read-group} - the only difference is that this command
+does not display the first unread article automatically upon group
+entry. 
 @item c
 @kindex c (Group)
 @findex gnus-group-catchup-current
@@ -1159,6 +1164,11 @@ All groups with a level less than or equal to
 @code{gnus-group-default-list-level} will be listed in the group buffer
 by default.
 
+@vindex gnus-group-use-permament-levels
+If @code{gnus-group-use-permament-levels} is non-@code{nil}, once you
+give a level prefix to @kbd{g} or @kbd{l}, all subsequent commands will
+use this level as the "work" level.
+
 @node Marking Groups
 @section Marking Groups
 @cindex marking groups
@@ -1230,30 +1240,36 @@ and some commands to ease the creation of some special-purpose groups:
 Make a new group (@code{gnus-group-make-group}).  Gnus will prompt you
 for a name, a method and possibly an @dfn{address}.  For an easier way
 to subscribe to @sc{nntp} groups, @xref{Browse Foreign Server}.
+
 @item G e
 @kindex G e (Group)
 @findex gnus-group-edit-group-method
 Enter a buffer where you can edit the select method of the current
 group (@code{gnus-group-edit-group-method}).
+
 @item G p
 @kindex G p (Group)
 @findex gnus-group-edit-group-parameters
 Enter a buffer where you can edit the group parameters
 (@code{gnus-group-edit-group-parameters}). 
+
 @item G E
 @kindex G E (Group)
 @findex gnus-group-edit-group
 Enter a buffer where you can edit the group info
 (@code{gnus-group-edit-group}).
+
 @item G d
 @kindex G d (Group)
 @findex gnus-group-make-directory-group
 Make a directory group.  You will be prompted for a directory name
 (@code{gnus-group-make-directory-group}).  
+
 @item G h 
 @kindex G h (Group)
 @findex gnus-group-make-help-group
 Make the (ding) Gnus help group (@code{gnus-group-make-help-group}).
+
 @item G a
 @kindex G a (Group)
 @findex gnus-group-make-archive-group
@@ -1261,12 +1277,34 @@ Make the (ding) Gnus help group (@code{gnus-group-make-help-group}).
 Make the (ding) Gnus archive group
 (@code{gnus-group-make-archive-group}).  The archive group will be
 fetched from @code{gnus-group-archive-directory}.
+
 @item G k
 @kindex G k (Group)
 @findex gnus-group-make-kiboze-group
 Make a kiboze group.  You will be prompted for a name, for a regexp to
 match groups to be "included" in the kiboze group, and a series of
 strings to match on headers (@code{gnus-group-make-kiboze-group}).
+
+@item G D
+@kindex G D (Group)
+@findex gnus-group-enter-directory
+Read a random directory as if with were a newsgroup with the
+@code{nneething} backend (@code{gnus-group-enter-directory}).
+
+@item G f
+@kindex G f (Group)
+@findex gnus-group-make-doc-group
+Make a group based on some file or other
+(@code{gnus-group-make-doc-group}).  You will be prompted for a file
+name and a file type.  Currently supported types are @code{babyl},
+@code{mbox} and @code{digest}.
+
+@item G V
+@kindex G V (Group)
+@findex gnus-group-make-empty-virtual
+Make a new, fresh, empty @code{nnvirtual} group
+(@code{gnus-group-make-empty-virtual}).
+
 @item G v
 @kindex G v (Group)
 @findex gnus-group-add-to-virtual
@@ -1284,7 +1322,6 @@ The different methods all have their peculiarities, of course.
 * nndir::            You can read a directory as if it was a newsgroup.
 * nneething::          Dired? Who needs dired?
 * nndoc::            Single files can be the basis of a group.
-* nndigest::         Digests can be undigested and treated as a group.
 * Reading Mail::     Reading your personal mail with Gnus.
 @end menu
 
@@ -1601,16 +1638,21 @@ If you have a directory that has lots of articles in separate files in
 it, you might treat it as a newsgroup.  The files have to have numerical
 names, of course.
 
-This might be an opportune moment to mention ange-ftp, that most
-wonderful of all wonderful Emacs packages.  When I wrote nndir, I didn't
-think much about it - a backend to read directories.  Big deal.
+This might be an opportune moment to mention @code{ange-ftp}, that most
+wonderful of all wonderful Emacs packages.  When I wrote @code{nndir}, I
+didn't think much about it - a backend to read directories.  Big deal.
 
-ange-ftp changes that picture dramatically.  For instance, if you enter
-@file{"/ftp@@sina.tcamc.uh.edu:/pub/emacs/ding-list/"} as the the
+@code{ange-ftp} changes that picture dramatically.  For instance, if you
+enter @file{"/ftp@@sina.tcamc.uh.edu:/pub/emacs/ding-list/"} as the the
 directory name, ange-ftp will actually allow you to read this directory
 over at @samp{sina} as a newsgroup.  Distributed news ahoy!
 
-nndir will use @sc{nov} files if they are present.
+@code{nndir} will use @sc{nov} files if they are present.
+
+@code{nndir} is a "read-only" backend - you can't delete or expire
+articles with this method.  You can use @code{nnmh} or @code{nnml} for
+whatever you use @code{nndir} for, so you could switch to any of those
+methods if you feel the need to have a non-read-only @code{nndir}.
 
 @node nneething
 @subsection nneething
@@ -1676,29 +1718,20 @@ Name of the map files.
 @cindex help group
 
 nndoc is a cute little thing that will let you read a single file as a
-newsgroup.  The file has to be divided into articles by the use of Unix
-mbox @samp{From } lines.  nndoc will not try to change the file or
-insert any extra headers into it - it will simply, like, let you use the
-file as the basis for a group.  And that's it.
-
-@node nndigest
-@subsection nndigest
-@cindex nndigest
-@cindex digest groups
-
-nndigest is a bit odd.  It will use a buffer containing a valid digest
-as the basis for a group.
-
-These nndigest groups are rather ephemeral.  They will never store
-information on what articles you have read, and you can't really use
-them as foreign groups at all.  The only way to reach an nndigest group
-is to type @kbd{V D} on a digest in the summary buffer.
-
-When you have finished reading the digest and press @kbd{q}, you will be
-returned to the group from whence you came instead of going to the group
-buffer.
+newsgroup.  Currently supported file types are @code{babyl}, @code{mbox}
+and @code{digest}. 
+
+nndoc will not try to change the file or insert any extra headers into
+it - it will simply, like, let you use the file as the basis for a
+group.  And that's it.
 
-Odd all over, as you can see, but somewhat useful.
+Virtual server variables:
+
+@table @code
+@item nndoc-article-type
+@vindex nndoc-article-type
+This should be one of @code{mbox}, @code{babyl} or @code{digest}. 
+@end table
 
 @node Reading Mail
 @subsection Reading Mail
@@ -1756,6 +1789,11 @@ while processing it.  This is usually done in the same directory that
 the mail backend habitates (ie. @file{~/Mail/}), but if this variable is
 non-@code{nil}, it will be used instead.
 
+@vindex nnmail-delete-incoming
+If @code{nnmail-delete-incoming} is non-@code{nil}, the mail backends
+will delete the temporary incoming file after splitting mail into the
+proper groups.  This is @code{nil} by default for reasons of security. 
+
 Gnus gives you all the opportunity you could possibly want for shooting
 yourself in the foot.  Let's say you create a group that will contain
 all the mail you get from your boss.  And then you accidentally
@@ -1826,7 +1864,7 @@ the mail will be "cross-posted" to all those groups.
 If the rather simple, standard method for specifying how to split mail
 doesn't allow you to do what you want, you can set
 @code{nnmail-split-methods} to @code{nnmail-split-fancy}.  Then you can
-play with the @code{nnmail-split-methods} variable. 
+play with the @code{nnmail-split-fancy} variable. 
 
 Let's look at an example value of this variable first:
 
@@ -1998,11 +2036,18 @@ expire the final article in a mail newsgroup.  This is to make life
 easier for procmail users.
 
 By the way, that line up there about Gnus never expiring non-expirable
-articles is a lies.  If you put @code{total-expire} in the group
+articles is a lie.  If you put @code{total-expire} in the group
 parameters, articles will not be marked as expirable, but all read
 articles will be put through the expiry process.  Use with extreme
 caution. 
 
+Note that at present, Gnus will not actually delete any expirable
+articles automatically.  You have to enter one of the expiry functions
+(eg. `C-c M-c-x' in the group buffer) to actually run articles through
+the expiry process.  Or you can add a call to the expiry function in the
+group exit hook.  Gnus will probably do all this automatically in the
+future. 
+
 @node Not Reading Mail
 @subsubsection Not Reading Mail
 
@@ -2165,10 +2210,21 @@ Virtual server settings:
 
 @table @code
 @item nnmh-directory
+@vindex nnmh-directory
 All @code{nnmh} directories will be located under this directory.
 
 @item nnmh-get-new-mail
+@vindex nnmh-get-new-mail
 If non-@code{nil}, @code{nnmh} will read incoming mail.
+
+@item nnmh-be-safe
+@vindex nnmh-be-safe
+If non-@code{nil}, @code{nnmh} will go to ridiculous lenghts to make
+sure that the articles in the folder is actually what Gnus think they
+are.  It will check date stamps, and stat everything in sight, so
+setting this to @code{t} will mean a serious slow-down.  If you never
+use anything by Gnus to read the nnmh articles, you do not have to set
+this variable to @code{t}. 
 @end table
 
 @node nnfolder
@@ -2185,15 +2241,19 @@ Virtual server settings:
 
 @table @code
 @item nnfolder-directory
+@vindex nnfolder-directory
 All the @code{nnfolder} mail boxes will be stored under this directory. 
 
 @item nnfolder-active-file
+@vindex nnfolder-active-file
 The name of the active file.
 
 @item nnfolder-newsgroups-file
+@vindex nnfolder-newsgroups-file
 The name of the group description file.
 
 @item nnfolder-get-new-mail
+@vindex nnfolder-get-new-mail
 If non-@code{nil}, @code{nnfolder} will read incoming mail.
 @end table
 
@@ -2381,21 +2441,36 @@ Here's a list of keystrokes available in the browse mode:
 @kindex n (Browse)
 @findex gnus-group-next-group
 Go to the next group (@code{gnus-group-next-group}).
+
 @item p
 @kindex p (Browse)
 @findex gnus-group-prev-group
 Go to the previous group (@code{gnus-group-prev-group}).
+
+@item SPC
+@kindex SPC (Browse)
+@findex gnus-browse-read-group
+Enter the current group and display the first article
+(@code{gnus-browse-read-group}). 
+
+@item RET
+@kindex RET (Browse)
+@findex gnus-browse-select-group
+Enter the current group (@code{gnus-browse-select-group}). 
+
 @item u
 @kindex u (Browse)
 @findex gnus-browse-unsubscribe-current-group
 Unsubscribe to the current group, or, as will be the case here,
 subscribe to it (@code{gnus-browse-unsubscribe-current-group}). 
+
 @item l
 @itemx q
 @kindex q (Browse)
 @kindex l (Browse)
 @findex gnus-browse-exit
 Exit browse mode (@code{gnus-browse-exit}).
+
 @item ?
 @kindex ? (Browse)
 @findex gnus-browse-describe-briefly
@@ -2447,12 +2522,9 @@ plastic chair.
 @item g
 @kindex g (Group)
 @findex gnus-group-get-new-news
-@vindex gnus-group-always-list-unread
 Check server for new articles.  If the numeric prefix is used, this
 command will check only groups of level ARG and lower
-(@code{gnus-group-get-new-news}).  If
-@code{gnus-group-always-list-unread} is @code{nil}, only groups of level
-ARG and lower will be displayed.
+(@code{gnus-group-get-new-news}). 
 @item M-g
 @kindex M-g (Group)
 @findex gnus-group-get-new-news-this-group
@@ -3059,6 +3131,9 @@ the @code{send-mail-function} variable as the default.
 List of regexps to match headers included in digested messages.  The
 headers will be included in the sequence they are matched.
 
+@item gnus-mail-hook
+Hook called as the last thing after setting up a mail buffer.
+
 @end table
 
 There are three "methods" for handling all mail.  The default is
@@ -3153,7 +3228,8 @@ process/prefix convention.
 @kindex S u (Summary)
 @findex gnus-uu-post-news
 Uuencode a file, split it into parts, and post it as a series
-(@code{gnus-uu-post-news}) (@pxref{Uuencoding & Posting}). 
+(@code{gnus-uu-post-news}). 
+@c (@pxref{Uuencoding & Posting}). 
 @end table
 
 @vindex gnus-required-headers
@@ -3856,12 +3932,7 @@ to @code{some}.  In either case, fetching old headers only works if the
 select method you are using supports @sc{xover}.  Also remember that if
 the root of the thread has been expired by the server, there's not much
 Gnus can do about that.
-@item gnus-gather-loose-threads
-@vindex gnus-gather-loose-threads
-If non-@code{nil}, Gnus will gather all loose subtrees into one big tree
-and create a dummy root at the top.  (Wait a minute.  Root at the top?
-Yup.)  Loose subtrees occur when the real root has expired, or you've
-read or killed the root in a previous session.
+
 @item gnus-summary-gather-subject-limit
 Loose threads are gathered by comparing subjects of articles.  If this
 variable is @code{nil}, Gnus requires an exact match between the
@@ -3879,6 +3950,11 @@ use a fuzzy string comparison algorithm on the subjects.
 
 @item gnus-summary-make-false-root
 @vindex gnus-summary-make-false-root
+If non-@code{nil}, Gnus will gather all loose subtrees into one big tree
+and create a dummy root at the top.  (Wait a minute.  Root at the top?
+Yup.)  Loose subtrees occur when the real root has expired, or you've
+read or killed the root in a previous session.
+
 When there is no real root of a thread, Gnus will have to fudge
 something.  This variable says what fudging method Gnus should use.
 There are four possible values:
@@ -3899,9 +3975,11 @@ Gnus won't actually make any article the parent, but simply leave the
 subject field of all orphans except the first empty.  (Actually, it will
 use @code{gnus-summary-same-subject} as the subject (@pxref{Summary
 Buffer Format}).)
-@item nil
+@item none
 Don't make any article parent at all.  Just gather the threads and
 display them after one another.
+@item nil
+Don't gather loose threads.
 @end table
 
 @item gnus-thread-hide-subtree
@@ -4899,6 +4977,11 @@ Set the score of the current article (@code{gnus-summary-set-score}).
 @findex gnus-summary-current-score
 Display the score of the current article
 (@code{gnus-summary-current-score}).   
+@item V S t
+@kindex V S t (Summary)
+@findex gnus-score-find-trace
+Display all score rules that have been used on the current article
+(@code{gnus-score-find-trace}).   
 @item V S a
 @kindex V S a (Summary)
 @findex gnus-summary-score-entry
@@ -5016,6 +5099,10 @@ defaults for the remaining one or two keystrokes.  The defaults are
 "substring" and "temporary".  So @kbd{I A} is the same as @kbd{I a s t},
 and @kbd{I a R} is the same as @kbd{I a r t}.
 
+@vindex gnus-score-mimic-keymap
+The @code{gnus-score-mimic-keymap} says whether these commands will
+pretend they are keymaps or not.
+
 @node Score Variables
 @subsection Score Variables
 @cindex score variables
@@ -5121,6 +5208,8 @@ Anyway, if you'd like to dig into it yourself, here's an example:
  (orphan -10)
  (adapt t)
  (files "/hom/larsi/News/gnu.SCORE")
+ (local (gnus-newsgroup-auto-expire t)
+        (gnus-summary-make-false-root 'empty))
  (eval (ding)))
 @end lisp
 
@@ -5237,6 +5326,13 @@ not want adaptive scoring.  If you only want adaptive scoring in a few
 groups, you'd set @code{gnus-use-adaptive-scoring} to @code{nil}, and
 insert @code{(adapt t)} in the score files of the groups where you want
 it. 
+@item local
+@cindex local variables
+The value of this entry should be a list of @code{(VAR VALUE)} pairs.
+Each @var{var} will be made buffer-local to the current summary buffer,
+and set to the value specified.  This is a convenient, if albeit
+strange, way of setting variables in some groups, and you don't like
+hooks much.
 @end table
 
 @node Score File Editing
@@ -5519,26 +5615,38 @@ process/prefix convention (@pxref{Process/Prefix}).
 @findex gnus-summary-expire-articles
 Expire all expirable articles in the group
 (@code{gnus-summary-expire-articles}).
+
 @item B DEL
 @kindex B DEL (Summary)
 @findex gnus-summary-delete-articles
 Delete the mail article.  This is "delete" as in "delete it from your
 disk forever and ever, never to return again." Use with caution.
 (@code{gnus-summary-delete-article}).
+
 @item B m
 @kindex B m (Summary)
 @findex gnus-summary-move-article
 Move the article from one mail group to another
 (@code{gnus-summary-move-article}). 
+
 @item B c
 @kindex B c (Summary)
 @findex gnus-summary-copy-article
 Copy the article from one group (mail group or not) to a mail group
 (@code{gnus-summary-copy-article}).
+
+@item B i
+@kindex B i (Summary)
+@findex gnus-summary-import-article
+Import a random file into the current mail newsgroup
+(@code{gnus-summary-import-article}).  You will be prompted for a file
+name, a @code{From} header and a @code{Subject} header.
+
 @item B r
 @kindex B r (Summary)
 @findex gnus-summary-respool-article
 Respool the mail article (@code{gnus-summary-move-article}).
+
 @item B w
 @itemx e
 @kindex B w (Summary)
@@ -5548,6 +5656,7 @@ Respool the mail article (@code{gnus-summary-move-article}).
 Edit the current article (@code{gnus-summary-edit-article}).  To finish
 editing and make the changes permanent, type @kbd{C-c C-c}
 (@kbd{gnus-summary-edit-article-done}).
+
 @item B q
 @kindex B q (Summary)
 @findex gnus-summary-fancy-query
@@ -5635,7 +5744,7 @@ the process mark (@code{gnus-summary-universal-argument}).
 @findex gnus-summary-enter-digest-group
 If the current article is a digest, you might use this command to enter
 you into a group based on the current digest to ease reading
-(@code{gnus-summary-enter-digest-group}).  @xref{nndigest}.
+(@code{gnus-summary-enter-digest-group}).
 @item V T
 @kindex V T (Summary)
 @findex gnus-summary-toggle-truncation
@@ -6381,9 +6490,9 @@ If all else fails, report the problem as a bug,
 @kindex M-x gnus-bug
 @findex gnus-bug
 If you find a bug in (ding) Gnus, you can report it with the @kbd{M-x
-gnus-bug} command.  @code{(setq debug-on-error t)}, and send me the
-backtrace.  I will fix bugs, but I can only fix them if you send me a
-precise description as to how to reproduce the bug.
+gnus-bug} command. @kbd{M-x set-variable RET debug-on-error RET t RET},
+and send me the backtrace. I will fix bugs, but I can only fix them if
+you send me a precise description as to how to reproduce the bug.
 
 @c If you just need help, you are better off asking on
 @c @samp{gnu.emacs.gnus}.