Importing gnus-5.6.43
authorshuhei-k <shuhei-k>
Mon, 7 Sep 1998 06:43:56 +0000 (06:43 +0000)
committershuhei-k <shuhei-k>
Mon, 7 Sep 1998 06:43:56 +0000 (06:43 +0000)
42 files changed:
GNUS-NEWS
Makefile.in
lisp/ChangeLog
lisp/gnus-agent.el
lisp/gnus-art.el
lisp/gnus-cache.el
lisp/gnus-demon.el
lisp/gnus-dup.el
lisp/gnus-ems.el
lisp/gnus-group.el
lisp/gnus-kill.el
lisp/gnus-logic.el
lisp/gnus-msg.el
lisp/gnus-nocem.el
lisp/gnus-score.el
lisp/gnus-soup.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/gnus-util.el
lisp/gnus-xmas.el
lisp/gnus.el
lisp/lpath.el
lisp/message.el
lisp/messagexmas.el
lisp/nndb.el
lisp/nndraft.el
lisp/nneething.el
lisp/nnfolder.el
lisp/nngateway.el
lisp/nnheader.el
lisp/nnkiboze.el
lisp/nnmail.el
lisp/nnmh.el
lisp/nnml.el
lisp/nnsoup.el
lisp/nnspool.el
lisp/nntp.el
lisp/nnweb.el
lisp/score-mode.el
texi/ChangeLog
texi/gnus.texi
texi/message.texi

index 75306e1..0c5b11a 100644 (file)
--- a/GNUS-NEWS
+++ b/GNUS-NEWS
@@ -1,2 +1,102 @@
 ** Gnus changes.
 
 ** Gnus changes.
 
+*** The Gnus distribution no longer bundles Custom and Widget.
+If your Emacs doesn't come with these libraries, fetch them from
+<URL:http://www.dina.kvl.dk/~abraham/custom/>.  You also then need to
+add the following to the lisp/dgnushack.el file:
+
+     (push "~/lisp/custom" load-path)
+
+Modify to suit your needs.
+
+*** New functionality for using Gnus as an offline newsreader has been
+added.  A plethora of new commands and modes have been added.  See the
+Gnus manual for the full story.
+
+*** The nndraft backend has returned, but works differently than
+before.  All Message buffers are now also articles in the nndraft
+group, which is created automatically.
+
+*** `gnus-alter-header-function' can now be used to alter header
+values.
+
+*** `gnus-summary-goto-article' now accept Message-ID's.
+
+*** A new Message command for deleting text in the body of a message
+outside the region: `C-c C-v'.
+
+*** You can now post to component group in nnvirtual groups with
+`C-u C-c C-c'.
+
+*** `nntp-rlogin-program' -- new variable to ease customization.
+
+*** `C-u C-c C-c' in `gnus-article-edit-mode' will now inhibit
+re-highlighting of the article buffer.
+
+*** New element in `gnus-boring-article-headers' -- `long-to'.
+
+*** `M-i' symbolic prefix command.  See the section "Symbolic
+Prefixes" in the Gnus manual for details.
+
+*** `L' and `I' in the summary buffer now take the symbolic prefix
+`a' to add the score rule to the "all.SCORE" file.
+
+*** `gnus-simplify-subject-functions' variable to allow greater
+control over simplification.
+
+*** `A T' -- new command for fetching the current thread.
+
+*** `/ T' -- new command for including the current thread in the
+limit.
+
+*** `M-RET' is a new Message command for breaking cited text.
+
+*** \\1-expressions are now valid in `nnmail-split-methods'.
+
+*** The `custom-face-lookup' function has been removed.  
+If you used this function in your initialization files, you must
+rewrite them to use `face-spec-set' instead.
+
+*** Cancelling now uses the current select method.  Symbolic prefix
+`a' forces normal posting method.
+
+*** New command to translate M******** sm*rtq**t*s into proper text
+-- `W d'.
+
+*** For easier debugging of nntp, you can set `nntp-record-commands'
+to a non-nil value.
+
+*** nntp now uses ~/.authinfo, a .netrc-like file, for controlling
+where and how to send AUTHINFO to NNTP servers.
+
+*** A command for editing group parameters from the summary buffer
+has been added.
+
+*** A history of where mails have been split is available.
+
+*** A new article date command has been added -- `article-date-iso8601'.
+
+*** Subjects can be simplified when threading by setting
+`gnus-score-thread-simplify'.
+
+*** A new function for citing in Message has been added --
+`message-cite-original-without-signature'.
+
+*** `article-strip-all-blank-lines' -- new article command.
+
+*** A new Message command to kill to the end of the article has
+been added.
+
+*** A minimum adaptive score can be specified by using the
+`gnus-adaptive-word-minimum' variable.
+
+*** The "lapsed date" article header can be kept continually
+updated by the `gnus-start-date-timer' command.
+
+*** Web listserv archives can be read with the nnlistserv backend.
+
+*** Old dejanews archives can now be read by nnweb.
+
+*** Byte-compilation of user-specs now works under XEmacs.
+
+*** `gnus-posting-styles' has been re-activated.
index b28cda9..a30ae8d 100644 (file)
@@ -5,37 +5,37 @@ srcdir = @srcdir@
 
 @SET_MAKE@
 EMACS = @EMACS@
 
 @SET_MAKE@
 EMACS = @EMACS@
-XEMACS = xemacs21
+XEMACS = xemacs
 
 all: lick info
 
 lick:
 
 all: lick info
 
 lick:
-       cd lisp && $(MAKE) EMACS="$(EMACS)" lispdir="$(lispdir)" all
+       cd lisp && $(MAKE) EMACS=$(EMACS) lispdir=$(lispdir) all
 
 install:
 
 install:
-       cd lisp && $(MAKE) EMACS="$(EMACS)" lispdir="$(lispdir)" install
-       cd texi && $(MAKE) EMACS="$(EMACS)" install
+       cd lisp && $(MAKE) EMACS=$(EMACS) lispdir=$(lispdir) install
+       cd texi && $(MAKE) EMACS=$(EMACS) install
 
 # Rule for Lars and nobody else.
 some:
 
 # Rule for Lars and nobody else.
 some:
-       cd lisp && $(MAKE) EMACS="$(EMACS)" some
+       cd lisp && $(MAKE) EMACS=$(EMACS) some
 l:
 l:
-       cd lisp && $(MAKE) EMACS="$(EMACS)" clever
+       cd lisp && $(MAKE) EMACS=$(EMACS) clever
 
 info:
 
 info:
-       cd texi && $(MAKE) EMACS="$(EMACS)" all
+       cd texi && $(MAKE) EMACS=$(EMACS) all
 
 clean:
        rm -f */*.orig */*.rej *.orig *.rej
 
 xsome:
 
 clean:
        rm -f */*.orig */*.rej *.orig *.rej
 
 xsome:
-       cd lisp && $(MAKE) EMACS="$(XEMACS)" some
+       cd lisp && $(MAKE) EMACS=$(XEMACS) some
 
 elclean:
        rm lisp/*.elc
 
 x:
 
 elclean:
        rm lisp/*.elc
 
 x:
-       make EMACS=xemacs21
+       make EMACS=xemacs
 
 distclean:
        make clean
 
 distclean:
        make clean
@@ -44,7 +44,7 @@ distclean:
        rm -f config.log config.status Makefile
 
 osome:
        rm -f config.log config.status Makefile
 
 osome:
-       make EMACS=xemacs21 some
+       make EMACS=emacs-19.34 some
 
 config.status: $(srcdir)/configure
        $(SHELL) ./config.status --recheck
 
 config.status: $(srcdir)/configure
        $(SHELL) ./config.status --recheck
index 93fb80e..2cceed7 100644 (file)
-Sun Sep  6 21:19:26 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+Sun Sep  6 20:09:36 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
-       * gnus.el: Pterodactyl Gnus v0.17 is released.
+       * gnus.el: Gnus v5.6.43 is released.
 
 
-1998-09-06 05:45:17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+1998-09-06 19:41:54  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * time-date.el: Renamed from "date".
+       * gnus-sum.el (gnus-remove-thread): Unhide threads before
+       removing. 
+       (gnus-data-compute-positions): Ditto.
 
 
-       * gnus.el: Removed all timezone dependencies.
+1998-08-31 11:40:13  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
 
 
-       * score-mode.el: Removed.
-       (gnus-score-edit-insert-date): Use date.
+       * nnmail.el (nnmail-date-to-time): Parse time locally if no
+       timezone. 
 
 
-       * date.el (float-to-time): New function.
+1998-08-31 11:21:53  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * nnspool.el (nnspool-seconds-since-epoch): Removed.
+       * gnus-srvr.el (gnus-browse-foreign-server): Protect against
+       out-of-range articles.
 
 
-       * date.el (time-to-float): New function.
+       * gnus-msg.el (gnus-summary-reply): Don't inhibit posting styles.
 
 
-       * message.el (message-make-date): Use format-time-string.
-       (message-make-expires): Use make-date.
+1998-08-30 22:33:33  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * gnus-xmas.el (gnus-xmas-seconds-since-epoch): Removed.
+       * gnus-score.el (gnus-summary-increase-score): Temporary third
+       majuscle. 
 
 
-       * gnus-util.el (gnus-dd-mmm): Use date.
-       (gnus-sortable-date): Ditto.
+1998-08-30 22:32:31  Dan Christensen  <jdc@playmate.mat.jhu.edu>
 
 
-       * message.el (message-make-date): Take an optional time.
+       * gnus-score.el (gnus-summary-increase-score): Score thread on
+       Message-ID. 
 
 
-       * gnus: Applied patches from 5.6.43.
+1998-08-29 02:46:00  Simon Josefsson  <jas@pdc.kth.se>
 
 
-       * date.el (if): Use parse-time.
+       * gnus-sum.el (gnus-summary-mark-article-as-read): 
+       (gnus-summary-mark-article-as-unread): 
+       (gnus-summary-mark-article): Call gnus-request-update-mark.
 
 
-       * gnus-score.el (gnus-summary-score-entry): Make into a command
-       again. 
+1998-08-29  Mike McEwan  <mike@lotusland.demon.co.uk>
 
 
-       * gnus-group.el (gnus-group-get-new-news-this-group): Only call if
-       gnus-agent. 
+       * gnus-agent.el (gnus-agent-fetch-headers): Cater for when there's 
+       no .agentview, all articles have been expired, or everything bar a 
+       few downloaded arts have been expired.
+       (gnus-agent-expire): Mark *all* expired articles as read.
 
 
-       * gnus.el (gnus-agent-meta-information-header): Moved here.
+Sat Aug 29 19:17:19 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
-1998-09-05  Mike McEwan  <mike@lotusland.demon.co.uk>
+       * gnus.el: Gnus v5.6.42 is released.
 
 
-       * gnus-agent.el (gnus-agent-scoreable-headers): New variable.
-       (gnus-agent-fetch-group-1): Score article headers using normal
-       group score files if the download score rule of a category/group
-       is `file'.
-       (gnus-agent-fetch-group-1): Don't parse the entire .overview when
-       deciding what articles to download.
-       (gnus-agent-fetch-group-1): Don't push headers through scoring and
-       predicate processing if predicate is `true' or `false'.
+1998-08-29 17:06:27  Simon Josefsson  <jas@pdc.kth.se>
 
 
-1998-09-06 01:56:02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+       * gnus-sum.el (gnus-summary-make-menu-bar): Typo.
 
 
-       * gnus-score.el (gnus-score-load-score-alist): Bind coding system.
+1998-08-29 12:47:42  Tatsuya Ichikawa  <ichikawa@hv.epson.co.jp>
 
 
-       * gnus-art.el (gnus-article-setup-buffer): Enable multibyte.
+       * gnus-agent.el: Use nnheader-insert-file-contents.
 
 
-       * score-mode.el (score-mode-coding-system): New variable.
-       (gnus-score-edit-exit): Use it.
+1998-08-29 12:18:18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-1998-09-04  Jason R Mastaler  <jason@4b.org>
+       * nnvirtual.el (nnvirtual-request-group): Update the right group. 
 
 
-       * drums.el: Corrected typo.
+1998-08-27 16:46:38  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-1998-09-05 23:24:43  Hallvard B. Furuseth  <h.b.furuseth@usit.uio.no>
+       * gnus-sum.el (gnus-data-compute-positions): Didn't work on hidden
+       threads.
 
 
-       * mm-bodies.el (mm-body-encoding): Faster version.
+       * nnvirtual.el (nnvirtual-request-group): Work when always
+       updating. 
+       (nnvirtual-always-rescan): Default to t.
 
 
-1998-09-05 22:23:03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+Thu Aug 27 11:03:59 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
-       * gnus-art.el (gnus-article-decode-charset): Only decode text
-       things. 
+       * gnus.el: Gnus v5.6.41 is released.
 
 
-       * message.el (message-output): Use rmail.
+1998-08-27  Mike McEwan  <mike@lotusland.demon.co.uk>
 
 
-       * rfc2047.el (rfc2047-encoded-word-regexp): Allow spaces in the
-       word part.
+       * gnus-agent.el (gnus-agent-fetch-group-1): Leave the calculation
+       of `articles' to `gnus-agent-fetch-headers'.
+       (gnus-agent-fetch-headers): We only want headers that are after
+       the last entry in `gnus-group-alist'.
 
 
-       * mm-util.el (mm-charset-to-coding-system): Use
-       rfc2047-default-charset. 
-       (mm-known-charsets): New variable.
+1998-08-27 09:45:42  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * message.el (message-caesar-region): Bugged out.
+       * Makefile.in (warn): New.
 
 
-Sat Sep  5 21:55:01 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+       * gnus.el: Removed unreferenced bound variables all over.
 
 
-       * gnus.el: Pterodactyl Gnus v0.16 is released.
+       * gnus-group.el (gnus-update-group-mark-positions): Removed topic.
 
 
-1998-09-05 17:30:11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+       * gnus-cus.el (gnus-group-customize): No part.
 
 
-       * nnmail.el (nnmail-expired-article-p): Use predicate.
+       * gnus-agent.el (gnus-category-line-format-alist): Renamed specs.
+       (gnus-category-insert-line): Use it.
 
 
-       * date.el (time-less-p): Renamed.
+Thu Aug 27 09:29:53 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
-       * gnus-art.el (gnus-article-decode-charset): Really fetch headers
-       from the headers.
+       * gnus.el: Gnus v5.6.40 is released.
 
 
-       * rfc2047.el (rfc2047-decode-region): Use the mm decoding
-       functions. 
+1998-08-27 09:19:31  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * gnus-group.el (gnus-group-sort-selected-flat): Didn't work at
-       all.
-       (gnus-group-sort-selected-groups-by-alphabet): Changed interface
-       to all functions.
+       * gnus-agent.el (gnus-agent-mode): Only toggle plugged in group
+       mode. 
 
 
-Sat Sep  5 01:45:52 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+1998-08-27 07:25:47  Lars Balker Rasmussen  <gnort@daimi.aau.dk>
 
 
-       * gnus.el: Pterodactyl Gnus v0.15 is released.
+       * message.el (message-supersede): Check the right headers. 
 
 
-1998-09-05 00:21:22  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+1998-08-26 13:51:18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * date.el: New file.
+       * gnus-sum.el (gnus-sort-threads): Changed level.
 
 
-       * gnus-util.el (gnus-encode-date): Removed.
-       (gnus-time-less): Ditto.
+1998-08-26  Mike McEwan  <mike@lotusland.demon.co.uk>
 
 
-       * nnmail.el (nnmail-date-to-time): Removed.
-       (nnmail-time-less): Ditto.
-       (nnmail-days-to-time): Ditto.
-       (nnmail-time-since): Ditto.
+       * gnus-sum.el (gnus-build-all-threads): `save-excursion' and
+       `set-buffer' back to `gnus-summary-buffer' in order to access
+       buffer-local variables.
 
 
-       * drums.el: New file.
+1998-08-26 06:00:44  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-1998-09-04 00:25:52  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+       * gnus-sum.el (gnus-data-compute-positions): More and faster. 
 
 
-       * message.el (message-encode-message-body): Encode headers with
-       body encoding.
+1998-08-26 05:41:15  Matt Pharr  <mmp@Graphics.Stanford.EDU>
 
 
-       * rfc2047.el (rfc2047-default-charset): Renamed.
-       (rfc2047-encodable-p): Use it.
+       * message.el (message-wash-subject): Remove more.
 
 
-       * base64.el (mm-util): Required.
+1998-08-25 11:33:28  Tatsuya Ichikawa  <ichikawa@hv.epson.co.jp>
 
 
-1998-09-03 16:28:30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+       * gnus-cache.el (gnus-cache-overview-coding-system): New
+       variable. 
 
 
-       * gnus-msg.el (gnus-post-method): Peel off real info from opened
-       servers.
+1998-08-25 08:23:05  Albert L. Ting  <alt@artisan.com>
+
+       * gnus-group.el (gnus-fetch-group-other-frame): New command.
+
+1998-08-25 07:24:51  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-uu.el (gnus-uu-grab-articles): Check for pseudos.
+
+       * gnus-art.el (gnus-ignored-headers): More headers.
+
+       * gnus-sum.el (gnus-summary-move-article): Update the right
+       group. 
+
+1998-08-23 14:31:31  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-art.el (gnus-ignored-headers): More headers.
+
+1998-08-23  Mike McEwan  <mike@lotusland.demon.co.uk>
+
+       * gnus-agent.el (gnus-agent-copy-nov-line): Return to beginning of 
+       line before next read.
+       (gnus-agent-braid-nov): Remove redundant `let'. 
+
+1998-08-22 10:40:54  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-art.el (article-display-x-face): Allow multiple X-Faces
+       under XEmacs.
+
+Sat Aug 22 10:28:25 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.39 is released.
+
+1998-08-22 10:06:03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-art.el (gnus-ignored-headers): Added more headers.
+
+1998-08-21 02:49:56  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * nnweb.el (nnweb-type): Doc fix.
+
+       * gnus-sum.el (gnus-summary-set-process-mark): Move to the right
+       article. 
+
+1998-08-20 23:10:01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * nnmail.el (nnmail-spool-file): Allow lists of files.
+
+1998-08-20  Per Starback  <starback@update.uu.se>
+
+       * gnus/gnus-start.el (gnus-check-first-time-used): Change current
+       buffer before creating help group.
+
+1998-08-20 01:33:08  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-msg.el (gnus-message-style-insertions): New variable.
+       (gnus-message-insert-stylings): New function.
+       (gnus-configure-posting-styles): Use them.
+
+       * gnus-topic.el (gnus-topic-mode): Don't alter summary-exit-hook. 
+
+       * gnus-sum.el (gnus-select-newsgroup): Don't update group.
+
+       * gnus-msg.el (gnus-setup-message): Bind message-mode-hook.
+       (gnus-inhibit-posting-styles): New variable.
+       (gnus-summary-reply): Use it.
+       (gnus-configure-posting-styles): Ditto.
+
+       * gnus-group.el (gnus-group-suspend): Don't kill dribble buffer. 
+
+Thu Aug 20 00:28:35 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.38 is released.
+
+1998-08-20 00:02:50  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * gnus-util.el (gnus-output-to-rmail): Removed.
+       * message.el (message-mail): Doc fix.
 
 
-       * gnus-art.el (gnus-summary-save-in-rmail): Use
-       gnus-output-to-rmailrmail-output-to-rmail-file. 
+1998-08-19 23:22:02  Bill Pringlemeir  <bpringle@my-dejanews.com>
 
 
-       * rfc2047.el (rfc2047-decode-region): Fold case.
-       (rfc2047-decode): Use decode-string.
+       * messcompat.el (message-send-mail-function): Initialized from
+       send-mail-function. 
 
 
-       * mm-util.el: Provide mm-char-int.
+1998-08-19 23:20:42  Martin Larose  <larosem@IRO.UMontreal.CA>
 
 
-Thu Sep  3 15:23:22 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+       * message.el (message-send-coding-system): New variable.
 
 
-       * gnus.el: Pterodactyl Gnus v0.14 is released.
+1998-08-19 19:00:37  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-1998-09-03 15:08:30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+       * gnus-msg.el (gnus-configure-posting-styles): Reinstated most of
+       old code.
 
 
-       * mm-bodies.el (mm-body-encoding): Go through the buffer to make
-       sure we have 7bit.
+       * gnus-start.el (gnus-save-newsrc-file): Use coding system.
 
 
-1998-09-02 14:38:18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+1980-06-08 03:53:56  Mike McEwan  <mike@lotusland.demon.co.uk>
 
 
-       * gnus-msg.el (gnus-post-method): Use opened servers, and remove
-       ducplicates. 
-       (gnus-inews-insert-mime-headers): Removed.
+       * gnus-agent.el (gnus-agent-braid-nov): Go to right place. 
 
 
-       * message.el (message-caesar-region): Protect against MULE chars. 
+1980-06-08 03:01:48  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
 
 
-1998-09-02 00:36:23  Hallvard B. Furuseth  <h.b.furuseth@usit.uio.no>
+       * gnus-group.el (gnus-group-suspend): Fix.
 
 
-       * mm-util.el (if): fset the right function.
+1998-08-18 00:25:11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-1998-09-02 00:31:53  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+       * gnus-cite.el (gnus-cited-opened-text-button-line-format-alist):
+       New n spec.
 
 
-       * gnus-art.el (gnus-article-decode-charset): Use real
-       read-coding-system. 
+       * gnus-group.el (gnus-group-suspend): Use mapcar.
 
 
-1998-09-01 17:58:40  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+1998-08-17 14:35:33  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * mm-bodies.el (mm-decode-body): Protect against malformed
-       base64. 
-       (mm-decode-body): Check that buffer-file-coding-system is
-       non-nil. 
+       * gnus-ems.el (gnus-add-minor-mode): Set mode var.
 
 
-Tue Sep  1 10:29:33 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+       * gnus-start.el (gnus-slave-mode): New function.
 
 
-       * gnus.el: Pterodactyl Gnus v0.13 is released.
+       * gnus-msg.el (gnus-post-method): Work with current in nndraft. 
 
 
-1998-09-01 09:14:33  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+1998-08-16 23:30:14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * gnus-util.el (gnus-strip-whitespace): Already defined.
-       Removed. 
+       * gnus-art.el (gnus-request-article-this-buffer): Allow recursive
+       selection of nneething groups.
 
 
-       * gnus-art.el (gnus-article-decode-charset): Strip whitespace.
+       * nneething.el (nneething-address): Renamed from directory.
 
 
-       * gnus-util.el (gnus-strip-whitespace): New function.
+Sun Aug 16 18:59:41 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
-       * mm-util.el (mm-content-type-charset): Downcase.
+       * gnus.el: Gnus v5.6.37 is released.
 
 
-1998-08-31 23:04:29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+1998-08-16 14:52:43  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * gnus-art.el (gnus-article-decode-charset): Accept a prefix.
-       (gnus-article-decode-charset): Don't fetch all headers.
+       * gnus.el: Autoload gnus-summary-wide-reply.
 
 
-       * mm-util.el (mm-read-coding-system): New function.
+       * gnus-sum.el (gnus-get-newsgroup-headers): Return the value of
+       In-Reply-To. 
 
 
-       * mm-bodies.el (mm-decode-body): Check the right charset.
+       * gnus-msg.el (gnus-setup-message): Posting styles have to be
+       configured in message-mode-hook.
 
 
-       * gnus-sum.el (gnus-summary-mode-line-format): Ditto.
+       * nntp.el (nntp-connection-timeout): Restored.
+       (nntp-open-connection): Use it.
 
 
-       * gnus-art.el (gnus-article-mode-line-format): Use short group
-       format. 
+1998-08-15 22:46:49  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-Mon Aug 31 23:03:13 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+       * gnus-group.el (gnus-group-make-useful-group): Doc fix.
 
 
-       * gnus.el: Pterodactyl Gnus v0.12 is released.
+       * gnus-art.el (gnus-article-push-button): Place point where you
+       click.
 
 
-1998-08-31 22:39:36  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+1998-08-15  Mike McEwan  <mike@lotusland.demon.co.uk>
 
 
-       * mm-bodies.el (mm-decode-body): Don't do charset unless MULE.
+       * gnus-agent.el (gnus-agent-save-group-info): Update "groups" file 
+       if `nntp-server-list-active-group' is nil.
 
 
-       * gnus-art.el (gnus-article-decode-charset): Supply cte.
-       (gnus-article-decode-charset): Always run.
+1998-08-15 00:35:03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * mm-bodies.el (mm-decode-body): Decode cte.
+       * gnus-score.el (gnus-summary-increase-score): Swap t and r.
 
 
-Mon Aug 31 22:14:50 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+       * gnus-sum.el (gnus-remove-thread): Didn't work with sparse
+       threads. 
 
 
-       * gnus.el: Pterodactyl Gnus v0.11 is released.
+1998-08-14  François Pinard  <pinard@iro.umontreal.ca>
 
 
-1998-08-31 14:27:25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+       * nndoc.el (nndoc-generate-mime-parts-head): Use original Subject,
+       Message-ID, and References in fully blown articles.
 
 
-       * message.el (message-encode-message-body): Ditto.
+Fri Aug 14 23:03:51 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
-       * gnus-art.el (gnus-article-decode-mime-words): New command and
+       * gnus.el: Gnus v5.6.36 is released.
+
+1998-08-14 21:49:22  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.el (load): Push onto list.
+
+       * gnus-group.el (gnus-group-get-new-news-this-group): Store active
+       info. 
+
+Fri Aug 14 21:41:59 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.35 is released.
+
+1998-08-14 00:00:15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-srvr.el (gnus-server-scan-server): Error better.
+
+       * nndir.el: Make independent of nnmh.
+       Revert.
+
+       * message.el (message-remove-text-with-property): New function.
+       (message-fix-before-sending): Check for invisible text.
+
+       * gnus.el (load): Create the Gnus buffer even when no splash.
+
+       * gnus-msg.el (gnus-setup-message): Add buffer to list.
+
+       * gnus-win.el (gnus-remove-some-windows): Use new buffer system. 
+       (gnus-delete-windows-in-gnusey-frames): Ditto.
+
+       * gnus.el (gnus-add-buffer): New function.
+
+1998-08-13 23:38:21  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-xmas.el (gnus-buffer-list): Removed.
+
+       * gnus.el (gnus-buffers): New variable.
+       (gnus-get-buffer-create): New function; used throughout.
+       (gnus-buffers): New function.
+
+       * gnus-msg.el (gnus-configure-posting-styles): Go to eoh
+       reliably. 
+
+       * message.el (message-goto-eoh): New command.
+
+1998-08-13 23:13:53  Simon Josefsson  <jas@pdc.kth.se>
+
+       * gnus-msg.el (gnus-setup-message): use message-setup-hook
+       instead
+       (gnus-configure-posting-styles): new posting-style 'body
+       (gnus-configure-posting-styles): insert headers immediately
+
+1998-08-13 13:05:36  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-score.el (gnus-summary-increase-score): Change thread to
+       "r". 
+
+       * gnus-sum.el (gnus-summary-scroll-down): New command and
        keystroke. 
        keystroke. 
-       (gnus-article-decode-charset): Ditto.
-       (gnus-article-decode-charset): Only work under MULE.
 
 
-       * mm-util.el (mm-content-type-charset): New function.
+       * gnus-agent.el (gnus-agent-expire): Check that directories
+       exist. 
 
 
-       * nnmail.el (nnmail-delete-incoming): Changed to nil.
+1998-08-12 20:56:41  Simon Josefsson  <jas@pdc.kth.se>
 
 
-       * message.el (message-send-mail): Insert MIME headers.
-       (message-check-news-body-syntax): Don't warn for escape sequences.
-       (message-check-news-body-syntax): Insert MIME headers.
+       * gnus-cache.el (gnus-uncacheable-groups): doc change
+       (gnus-cacheable-groups): new variable
+       (gnus-cache-possibly-enter-article): use it
 
 
-       * mm-bodies.el (mm-body-encoding): New function.
+1998-08-12 22:30:16  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * message.el (message-encode-message-body): New function.
+       * nntp.el (nntp-encode-text): Too much text.
 
 
-       * mm-bodies.el: New file.
+1998-08-12 21:58:50  Matt Pharr  <mmp@Graphics.Stanford.EDU>
 
 
-       * mm-util.el (mm-narrow-to-head): New function.
+       * message.el (message-make-forward-subject-function): New
+       variable. 
+       (message-wash-forwarded-subjects): Ditto.
 
 
-       * rfc2047.el (rfc2047-encode): Use it.
+Wed Aug 12 21:09:58 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
-       * mm-util.el: Provide mm-encode-coding-region.
+       * gnus.el: Gnus v5.6.34 is released.
 
 
-       * gnus-sum.el (gnus-summary-mode): Enable multibyte.
+1998-08-12 13:32:38  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * gnus-util.el (gnus-set-work-buffer): Enable multibyte.
+       * gnus-msg.el (gnus-post-method): Don't use `current' in drafts.
 
 
-       * mm-util.el (mm-enable-multibyte): New function.
+       * gnus-score.el (gnus-summary-increase-score): Changed T to h and
+       downcase. 
 
 
-       * message.el (message-set-work-buffer): Set multibyte.
+Tue Aug 11 20:46:25 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
-       * gnus.el (gnus-continuum-version): Be valid forever and ever.
+       * gnus.el: Gnus v5.6.33 is released.
 
 
-       * gnus-util.el (gnus-point-at-eol): Removed.
-       (gnus-point-at-bol): Ditto.
+1998-08-11 20:07:55  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * base64.el (base64-decode-region): Commented out messaging.
+       * gnus-group.el (gnus-group-apropos): Check symbol value.
 
 
-1998-08-31  Didier Verna  <verna@inf.enst.fr>
+       * gnus-cite.el (gnus-cited-closed-text-button-line-format):
+       Changed.
 
 
-       * gnus-msg.el (gnus-group-mail): make it behave like
-       gnus-group-post-news with regards to the prefix (this enables the
-       use of posting styles).
+Tue Aug 11 19:42:42 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
-1998-08-31 12:53:32  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+       * gnus.el: Gnus v5.6.32 is released.
 
 
-       * gnus.el (gnus-article-display-hook): Added
-       gnus-article-decode-rfc1522 to hook.
+1998-08-11 13:36:56  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-Mon Aug 31 12:43:46 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+       * nndoc.el (nndoc-type-alist): Do MIME digests before multiparts.
 
 
-       * gnus.el: Pterodactyl Gnus v0.10 is released.
+       * gnus.el (gnus-predefined-server-alist): Expand vars.
 
 
-1998-08-31 11:45:13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+1998-08-09  Dave Love  <d.love@dl.ac.uk>
 
 
-       * nnfolder.el (nnfolder-delete-mail): Narrow to mail and allow
-       hook to be run.
+       * gnus-art.el (article-display-x-face): Don't try (and fail) to
+       display multiple faces.
 
 
-1998-08-30 17:59:07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+1998-08-11 11:41:43  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * rfc2047.el (rfc2047-encodable-p): Use find-charset-region.
+       * gnus-art.el (gnus-header-newsgroups-face): Don't bold so much.
 
 
-       * mm-util.el (mm-charsets-in-region): Removed.
+       * gnus-group.el (gnus-group-rename-group): Remove old group name
+       from list of killed groups.
 
 
-       * rfc2047.el: Renamed file.
+       * gnus-int.el (gnus-get-function): Error better.
 
 
-       * gnus-msg.el (gnus-copy-article-buffer): Multibyte.
+       * gnus-art.el (gnus-article-narrow-to-signature): Inhibit motion
+       hooks.
+       (article-hide-pgp): Delete text instead of hiding it.
 
 
-       * message.el (message-mode): Set multibyte.
+       * gnus-group.el (gnus-group-find-new-groups): Ditto.
 
 
-       * mm-util.el (mm-charsets-in-region): Copied here.
+       * gnus-start.el (gnus-find-new-newsgroups): Accept C-u C-u as a
+       total query.
 
 
-       * gnus-util.el: Removed gnus-truncate-string.
+1998-08-10 09:31:36  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * gnus-art.el (gnus-article-decode-mime-words): Use 1522.
+       * gnus-art.el (gnus-article-prepare): Place point at the beginning
+       of the body.
 
 
-       * rfc1522.el (rfc1522-unencoded-charsets): New variable.
-       (rfc1522-encodable-p): New function.
-       (rfc1522-encode-message-header): Use it.
+       * gnus-cite.el (gnus-cite-attribution-face): Changed to italic.
 
 
-Sun Aug 30 17:46:01 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+       * gnus-art.el (gnus-article-edit-article): Delete "annotation"
+       text.
+       (gnus-insert-prev-page-button): Mark as annotation.
+       (gnus-insert-next-page-button): Ditto.
 
 
-       * gnus.el: Pterodactyl Gnus v0.9 is released.
+       * gnus-cite.el (gnus-cited-closed-text-button-line-format): New
+       variable.
+       (gnus-cited-closed-text-button-line-format-alist): Ditto.
+       (gnus-article-toggle-cited-text): Toggle between different
+       symbols.
 
 
-1998-08-30 16:13:08  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+1998-08-09 19:58:36  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * mm-util.el: Shadow encode-coding-string.
+       * gnus.el (gnus-version): Remove backend info.
 
 
-       * base64.el (base64-encode-region): Don't add newline.
+Sun Aug  9 19:37:40 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
-       * rfc1522.el (rfc1522-narrow-to-field): Copied here.
+       * gnus.el: Gnus v5.6.31 is released.
 
 
-       * mm-util.el: New file.
+1998-08-09  François Pinard  <pinard@iro.umontreal.ca>
 
 
-       * mm-decode.el: Somewhat depleted.
-       * mm-encode.el: Ditto.
+       * nndoc.el: Split MIME multipart messages, maybe recursively.
+       (nndoc-mime-parts-type-p, nndoc-transform-mime-parts,
+       nndoc-generate-mime-parts-head, nndoc-dissect-mime-parts,
+       nndoc-dissect-mime-parts-sub): New functions.
 
 
-       * rfc1522.el: New file.
+       * nndoc.el: Quoting boundaries is optional, for multipart digests.
 
 
-       * mm-util.el (mm-replace-chars-in-string): Copied here.
+1998-08-09 17:51:25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * mm-encode.el (mm-q-encode-region): New function.
+       * gnus-agent.el (gnus-agent-save-group-info): Check whether file
+       exists.
 
 
-       * qp.el (quoted-printable-encode-region): Take an optional CLASS
-       param. 
+       * message.el (message-goto-signature): Return nil if no sig.
+       (message-delete-not-region): Delete properly if no sig.
 
 
-       * mm-encode.el (mm-encode-word-region): Downcase.
+1998-08-09 17:26:30  Simon Josefsson  <jas@pdc.kth.se>
 
 
-Sun Aug 30 15:28:01 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+        * gnus-srvr.el (gnus-browse-make-menu-bar): select did read
 
 
-       * gnus.el: Pterodactyl Gnus v0.8 is released.
+1998-08-09 15:51:43  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-1998-08-30 12:23:03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+       * gnus-sum.el (t): Added keystroke for W W C.
 
 
-       * message.el (message-send-mail): Encode headers.
+       * gnus-cite.el (gnus-article-hide-citation-maybe): hiden->hidden.
 
 
-       * qp.el (quoted-printable-encode-region): Encode 8-bit words.
-       (quoted-printable-encode-region): Upcase.
+Sun Aug  9 15:46:16 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
-       * message.el (message-default-charset): New variable.
+       * gnus.el: Gnus v5.6.30 is released.
 
 
-       * qp.el (quoted-printable-encode-region): Optional param FOLD.
+1998-08-09 10:48:31  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * message.el (message-narrow-to-field): Changed name.
+       * message.el (message-cite-original-without-signature): Peel off
+       blank lines.
 
 
-       * mm-encode.el: New file.
+       * gnus-art.el (gnus-article-maybe-highlight): Doc fix.
 
 
-       * message.el (message-narrow-to-header): New function.
+       * gnus-sum.el (gnus-data-enter-list): Threw away all new list data
+       at the beginning of the buffer.
 
 
-       * gnus-art.el (gnus-article-decode-mime-words): Place point in the 
-       right buffer.
+1998-08-07 01:41:29  Gareth Jones  <gdj1@gdjones.demon.co.uk>
 
 
-Sun Aug 30 12:15:54 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+       * gnus-score.el (gnus-summary-increase-score): Don't downcase
+       before lookin in char-to-header.
 
 
-       * gnus.el: Pterodactyl Gnus v0.7 is released.
+1998-08-07 01:33:22  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-1998-08-30 01:26:12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+       * gnus.el (gnus-predefined-server-alist): Too many parentheses.
 
 
-       * gnus.el: Remove autoload for
-       gnus-article-mime-decode-quoted-printable.
+1998-08-06 11:20:08  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * mm-decode.el (mm-charset-to-coding-system): Allow iso-8859-1 to
-       be decoded in non-MULE Emacsen.
+       * gnus.el (gnus-continuum-version): Include quassia.
 
 
-       * gnus-xmas.el (gnus-xmas-logo-color-alist): More brown.
+       * gnus-sum.el (gnus-data-enter-list): Check before entering list.
 
 
-1998-08-29  SL Baur  <steve@altair.xemacs.org>
+1998-08-06 11:13:56  Francois Felix Ingrand  <felix@dial.oleane.com>
 
 
-       * gnus-xmas.el (gnus-xmas-logo-color-alist): Try shades of brown.
+       * gnus-salt.el (gnus-generate-vertical-tree): Don't go too far to
+       the left.
 
 
-1998-08-30 01:04:57  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+Thu Aug  6 07:58:17 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
-       * mm-decode.el: Check for coding-system-list.
+       * gnus.el: Gnus v5.6.29 is released.
 
 
-Sun Aug 30 00:59:15 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+1998-08-06 07:10:31  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * gnus.el: Pterodactyl Gnus v0.6 is released.
+       * gnus-agent.el (gnus-agent-expire): Check whether (caar
+       gnus-agent-article-alist) is nil.
 
 
-1998-08-30 00:36:28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+       * gnus.el (gnus-read-method): Allow selecting predefined servers.
 
 
-       * nnheader.el (fboundp): Protect code-coding-string.
+       * gnus-topic.el (gnus-topic-update-topic-line): Compute right
+       number when inserting missing topic lines.
 
 
-       * gnus-art.el (gnus-article-mode): Check that set-buffer-multibyte 
-       is available.
+       * gnus-start.el (gnus-get-unread-articles): Check that the group
+       is alive.
 
 
-Sat Aug 29 23:24:31 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+       * gnus-score.el (gnus-score-load-score-alist): Better error
+       messaging.
 
 
-       * gnus.el: Pterodactyl Gnus v0.5 is released.
+Tue Aug  4 09:42:31 1998  Kurt Swanson  <ksw@dna.lth.se>
 
 
-1998-08-29 22:38:35  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+       * gnus-salt.el (gnus-pick-mouse-pick-region): Fix picking bug due
+       to use of gnus-read-event-char.
 
 
-       * gnus-art.el (gnus-article-mode): Make article buffer multibyte. 
-       (gnus-hack-decode-rfc1522): Removed.
+1998-07-28  Dave Love  <d.love@dl.ac.uk>
 
 
-       * mm-decode.el (mm-charset-coding-system-alist): Check better.
+       * gnus-group.el (gnus-group-fetch-faq): Don't mung dots in group
+       name.
 
 
-Sat Aug 29 22:20:39 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+1998-07-27  Dave Love  <d.love@dl.ac.uk>
 
 
-       * gnus.el: Gnus v0.4 is released.
+       * gnus-topic.el (gnus-topic-mode-map): Provide Emacs tty
+       alternatives to [tab], [(meta tab)].
 
 
-1998-08-29 20:53:29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+1998-08-06 04:41:38  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-       * gnus-art.el (gnus-article-decode-mime-words): New command and
-       keystroke. 
+       * gnus-start.el (gnus-startup-file-coding-system): New variable.
+       (gnus-read-init-file): Use it.
+       (gnus-read-newsrc-el-file): Ditto.
+
+       * gnus-sum.el (gnus-thread-ignore-subject): Changed default.
+
+1998-08-06 04:38:02  Richard Stallman  <rms@gnu.org>
+
+       * message.el (sendmail): Required.
+
+1998-08-06 02:11:37  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-auto-select-same): Dix fix.
+
+1998-08-04  Mike McEwan  <mike@lotusland.demon.co.uk>
+
+       * gnus-sum.el (gnus-select-newsgroup): Set
+       `gnus-newsgroup-unselected' when selecting specific articles via
+       SELECT-ARTICLE - there may be more headers to fetch if
+       `gnus-fetch-old-headers' is non-nil.
+       (gnus-summary-read-group): pass SELECT-ARTICLE to
+       `gnus-summary-read-group-1' and reset to nil when going to next group.
+       (gnus-summary-read-group): Change `select-article' to
+       `select-articles' for consistency.
+
+Tue Aug  4 05:25:01 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.28 is released.
+
+1998-08-03 22:00:25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * nndoc.el (nndoc-set-delims): Removed article-end.
+       (nndoc-dissect-buffer): Use eobp.
+
+1998-08-03 19:59:36  Trung Tran-Duc  <trung.tranduc@prague.ixoskillspam.cz>
+
+       * nntp.el (nntp-open-connection): Bind coding-system-for-write.
+
+1998-07-31 16:45:36  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-group.el (gnus-group-read-ephemeral-group): Make the server
+       unique.
+
+1998-07-28  François Pinard  <pinard@iro.umontreal.ca>
+
+       * gnus-uu.el (gnus-uu-reginize-string): Consider the number of
+       parts as part of the fixed subject, instead of a wild quantity.
+
+1998-07-30 21:47:23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-cache.el (gnus-summary-insert-cached-articles): Sort
+       articles.
+
+       * nndir.el (nndir): Use nnml functions.
+
+Mon Jul 27 03:26:00 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.27 is released.
+
+1998-07-27 02:27:11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-topic.el (gnus-topic-update-unreads): New function.
+
+       * gnus-sum.el (gnus-summary-limit): Update mode line.
+
+       * gnus-soup.el (gnus-soup-add-article): Update mode line.
+
+       * gnus-group.el (gnus-group-make-menu-bar): Bug.
+
+       * gnus-art.el (gnus-article-make-menu-bar): Menu.
+
+       * gnus-sum.el (gnus-summary-make-menu-bar): Bug reports.
+
+       * gnus-topic.el (gnus-topic-mode-map): h -> H.
+
+1998-07-19 16:59  Simon Josefsson  <jas@pdc.kth.se>
+
+       * gnus-util.el (gnus-netrc-syntax-table): @ is whitespace
+
+1998-07-17  Gordon Matzigkeit  <gord@fig.org>
+
+       * gnus-uu.el (gnus-uu-reginize-string): Simplify by looking
+       from back to front for part numbers, rather than skipping
+       leading ``version numbers.''
+
+       (gnus-uu-part-number): Make consistent with
+       gnus-uu-reginize-string.
+
+1998-07-26 19:01:58  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-art.el (gnus-request-article-this-buffer): Pass along
+       header.
+
+       * gnus-sum.el (gnus-summary-update-article): Don't pass along
+       iheader to regeneration routine.
+
+1998-07-27  KOSEKI Yoshinori  <kose@yk.NetLaputa.ne.jp>
+
+       * nnmail.el (nnmail-move-inbox): Clear nnmail-internal-password,
+       when supplied Password is incorrect.
+
+Sat Jul 25 19:31:36 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.26 is released.
+
+1998-07-25 14:53:24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-salt.el (gnus-pick-mouse-pick-region): Use
+       gnus-read-event-char.
+
+Sat Jul 25 02:43:35 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.25 is released.
+
+1998-07-25 00:03:24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-group.el (gnus-group-read-ephemeral-group): Ditto.
+
+       * gnus-sum.el (gnus-summary-read-group-1): Ditto.
+
+       * gnus-group.el (gnus-group-read-group): Accept article list.
+
+1998-07-24 14:35:02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-msg.el (gnus-configure-posting-styles): Quote some.
+
+       * message.el (message-ignored-supersedes-headers): Added X-Trace
+       and X-Complaints-To.
+
+       * nnmail.el (gnus-util): Required.
+
+1998-07-21 23:03:13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.el (gnus-news-group-p): Bogosity in params.
+
+1998-07-21 16:14:32  Robert Bihlmeyer  <robbe@orcus.priv.at>
+
+       * gnus-util.el (gnus-globalify-regexp): New function.
+
+1998-07-18 21:49:01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-list-of-unread-articles): Peel off articles
+       outside active range.
+
+1998-07-15 10:47:39  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * nnvirtual.el (nnvirtual-request-type): Handle non-numerical
+       articles.
+
+       * gnus.el (gnus-news-group-p): Do something sensible with negative
+       articlies.
+
+Wed Jul 15 10:27:05 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-salt.el (gnus-tree-minimize-window): Allow numbers.
+
+Wed Jul 15 10:25:29 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-expire): Ignored ticks.
+
+Wed Jul 15 10:15:28 1998  Hallvard B. Furuseth  <h.b.furuseth@usit.uio.no>
+
+       * nntp.el (nntp-send-authinfo): Message better and stuff.
+
+Wed Jul 15 10:10:07 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.el (gnus-message-archive-group): Allow sexp.
+
+Wed Jul 15 09:56:47 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-select-newsgroup): Accept select-articles
+       para,
+
+1998-07-13  Mike McEwan  <mike@lotusland.demon.co.uk>
+
+       * gnus-sum.el (gnus-select-newsgroup): Don't call the Agent to
+       mark articles as read until *all* headers have been retrieved.
+
+Wed Jul 15 09:06:18 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nndir.el (nndir): Use nnml to request article.
+
+1998-07-11  SL Baur  <steve@altair.xemacs.org>
+
+       * gnus-topic.el (gnus-topic-mode-map): Use modern key syntax.
+
+Sun Jul 12 04:01:22 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-score.el (gnus-current-home-score-file): New function.
+
+1998-07-11  Mike McEwan  <mike@lotusland.demon.co.uk>
+
+       * gnus-agent.el (gnus-agent-fetch-headers): Note last fetched
+       headers per sesion to aid expiry in `headers only' groups.
+
+       * gnus-agent.el (gnus-agent-expire): Update group info to add
+       expired articles to list of read articles and prevent
+       re-fetching.
+
+1998-07-12  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnmail.el (nnmail-active-file-coding-system): Changed to
+       binary.
+
+Sun Jul 12 03:16:18 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-score.el (gnus-score-load-file): Specify which alist to
+       decay.
+
+1998-07-12  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-start.el (gnus-startup-file-coding-system): New variable.
+       (gnus-read-newsrc-el-file): Use it.
+
+Sat Jul 11 03:03:53 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.24 is released.
+
+Fri Jul 10 04:23:24 1998  Hallvard B. Furuseth  <h.b.furuseth@usit.uio.no>
+
+       * gnus-util.el (gnus-parse-netrc): Allow "default" values.
+
+Fri Jul 10 04:15:35 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-server-opened-hook): Doc change.
+
+Fri Jul 10 03:03:48 1998  François Pinard  <pinard@iro.umontreal.ca>
+
+       * gnus-sum.el (gnus-summary-respool-trace): New command and
+       keystroke.
+
+Fri Jul 10 02:18:01 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-util.el (gnus-prin1): Bind print-escape-multibyte to nil.
+
+Mon Jul  6 01:02:59 1998  Simon Josefsson  <jas@pdc.kth.se>
+
+       * gnus-range.el (gnus-sorted-complement): Fix comments.
+
+Thu Jul  2 11:16:14 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-iterate): New macro.
+
+       * message.el (message-pop-to-buffer): Clone locals.
+
+       * gnus-msg.el (gnus-posting-styles): Reinstated.
+       (gnus-posting-style-alist): Ditto.
+
+Wed Jul  1 18:02:31 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-int.el (gnus-get-function): Set funct to nil.
+
+1998-07-01 16:57:38  Simon Josefsson  <jas@pdc.kth.se>
+
+       * gnus-int.el (gnus-get-function): returned non-nil when
+        function wasn't bound, if noerror=t
+
+Wed Jul  1 17:30:41 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-topic.el (gnus-topic-mode-map): Bind TAB and M-TAB.
+
+       * gnus-sum.el (gnus-build-sparse-threads): Make sure no dates are
+       nil.
+       (gnus-summary-limit-mark-excluded-as-read): Use the intersection.
+
+       * gnus-msg.el (gnus-setup-message): Clone all local variables from
+       the summary buffer.
+
+Wed Jul  1 14:03:52 1998  Richard Stallman  <rms@santafe.edu>
+
+       * message.el (message-cite-original): Use mail-citation-hook.
+       (message-cite-function): Ditto.
+
+Wed Jul  1 14:00:53 1998  Rajappa Iyer  <rsi@lucent.com>
+
+       * gnus-salt.el (gnus-pick-mode-map): Changed keymap.
+
+Wed Jul  1 13:33:26 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.23 is released.
+
+Wed Jul  1 12:52:32 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-record-command): Give more precise time info.
+       (nntp-next-result-arrived-p): Look for the end of error lines.
+
+Wed Jul  1 12:24:06 1998  François Pinard  <pinard@iro.umontreal.ca>
+
+       * gnus-util.el (gnus-delete-if): Would do the opposite.
+
+Wed Jul  1 01:53:31 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-build-sparse-threads): Didn't work at all.
+
+Tue Jun 30 15:56:54 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-send-authinfo): Store the user name.
+       (nntp-authinfo-user): New variable.
+
+       * gnus-sum.el (gnus-summary-limit-mark-excluded-as-read): Would
+       mark some articles as unread.
+
+       * gnus-agent.el (gnus-agent-expire): Don't sort lines.
+
+Tue Jun 30 15:56:31 1998  Mike McEwan  <mike@lotusland.demon.co.uk>
+
+       * gnus-agent.el (gnus-agent-expire): Use a fresh hash table.
+
+Mon Jun 29 22:49:49 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.22 is released.
+
+Mon Jun 29 21:22:46 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-salt.el (gnus-pick-mode-map): Remove gnus-mouse.
+
+       * gnus-sum.el (gnus-dependencies-add-header): `debug' left in.
+       Eh.  Eh.
+
+       * gnus-salt.el (gnus-summary-pick-line-format): Missing %.-
+
+       * gnus-topic.el (gnus-topic-rename): Fix error message.
+
+Sun Jun 28 14:32:08 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-spec.el (gnus-face-face-function): Double quoting removed.
+
+Sun Jun 28 09:54:52 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.21 is released.
+
+Sun Jun 28 08:51:39 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-edit-article-done): Copy the buffer to
+       a temp buffer before replacing.
+
+       * gnus-msg.el (gnus-post-news): Treat broken-reply-to in
+       followups.
+
+       * gnus-sum.el (gnus-summary-goto-subject): Position point.
+
+Sat Jun 27 09:19:20 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-demon.el (gnus-util): Required.
+
+       * gnus-score.el (gnus-score-body): Message fix.
+
+       * gnus-group.el (gnus-group-highlight-line): Use it.
+
+       * gnus-util.el
+       (gnus-put-text-properties-excluding-characters-with-faces): New
+       function.
+
+Sat Jun 27 08:56:08 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.20 is released.
+
+Sat Jun 27 08:49:51 1998  Arne Georg Gleditsch  <argggh@ifi.uio.no>
+
+       * gnus-sum.el (gnus-parent-headers): Check better for headers.
+
+Sat Jun 27 08:45:09 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-check-news-body-syntax): Buggy checksum
+       check.
+
+Sat Jun 27 07:59:22 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.19 is released.
+
+Sat Jun 27 07:50:50 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.18 is released.
+
+Sat Jun 27 03:18:57 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-soup.el (gnus-soup-save-areas): Made interactive.
+
+       * nnfolder.el (nnfolder-request-replace-article): Check all X-From
+       headers.
+
+       * gnus-sum.el (gnus-update-marks): Don't nix out cache lists.
+
+       * nngateway.el (nngateway-mail2news-header-transformation):
+       Changed semantics.
+
+       * message.el (message-check-news-body-syntax): Don't look at
+       buffer size to see whether text has been added.
+
+Fri Jun 26 15:46:05 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.16 is released.
+
+Fri Jun 26 15:36:25 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-util.el (gnus-delete-assq): Removed.
+       (gnus-delete-assoc): Ditto.
+
+       * gnus.el: Use throughout.
+
+       * gnus-util.el (gnus-pull): New macro.
+
+1998-06-26  Simon Josefsson  <jas@pdc.kth.se>
+
+       * gnus-sum.el (gnus-get-newsgroup-headers): parse Chars: headers
+
+Fri Jun 26 13:45:24 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-update-marks): Use it.
+
+       * gnus-util.el (gnus-delete-alist): New function.
+
+       * gnus-sum.el (gnus-update-marks): Don't save list of cached
+       articles.
+
+       * message.el (message-mode-menu): Include kill-buffer.
+
+       * nnmail.el (nnmail-purge-split-history): Use it.
+
+       * gnus-util.el (gnus-delete-if): New function.
+
+       * nnmail.el (nnmail-article-group): Use gnus-remove-duplicates.
+
+Fri Jun 26 13:45:09 1998  Richard Stallman  <rms@santafe.edu>
+
+       * gnus-util.el (gnus-remove-duplicates): New function.
+
+Fri Jun 26 13:30:42 1998  Kevin Christian  <Kevin.Christian@symbios.com>
+
+       * gnus-score.el (gnus-score-string): Do updating of scores after
+       fuzzies.
+
+Fri Jun 26 07:26:03 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-mode): Don't do the intern dance.
+
+Fri Jun 26 07:13:49 1998  Richard Stallman  <rms@santafe.edu>
+
+       * message.el (message-mode): Adaptive fill changes.
+
+Fri Jun 26 04:29:44 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-mode-line-format-alist): Allow article
+       score.
+
+       * gnus-score.el (gnus-score-load-file): Would ignore all score
+       files without un-advanced rules.
+
+       * gnus-ems.el ((fboundp 'split-string)): Use it where it exists.
+
+Fri Jun 26 04:23:12 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.15 is released.
+
+Fri Jun 26 03:39:32 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnfolder.el (nnfolder-request-replace-article): Delete old
+       delimiter.
+
+       * gnus-msg.el (gnus-summary-reply): Use it.
+
+       * message.el (message-reply): Removed parameter.
+       (message-wide-reply): Ditto.
+
+       * gnus-msg.el (gnus-msg-treat-broken-reply-to): New function.
+
+       * gnus-art.el (gnus-check-group-server): New function.
+       (gnus-request-article-this-buffer): Don't try to waken the server
+       before needing to.
+
+Thu Jun 25 10:35:48 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-delete-article): Sort the articles
+       before deleting.
+
+       * nngateway.el (nngateway-request-post): Return success.
+
+       * nnheader.el (nnheader-insert-file-contents): Bind more hooks.
+
+       * gnus-sum.el (gnus-summary-limit-to-age): Reverse logic.
+
+       * gnus-score.el (gnus-summary-score-entry): Removed interactive
+       spec.
+       ((gnus-summary-score-map "V" gnus-summary-mode-map)): Removed
+       keystroke.
+
+       * gnus-art.el (gnus-article-show-summary): Position point.
+
+       * gnus-cache.el (gnus-cache-update-article): Change group first.
+
+       * gnus.el (gnus-short-group-name): Collapse more.
+
+Thu Jun 25 08:48:06 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.14 is released.
+
+Thu Jun 25 05:13:31 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-rebuild-thread): Accept a line argument.
+       (gnus-rebuild-thread): Would skip around a lot when `P'-ing past
+       the beginning.
+
+       * gnus-msg.el (gnus-post-method): Present all known servers if
+       `C-u 0'.
+
+       * gnus-salt.el (gnus-pick-mode-map): Reinstated keymap.
+
+       * gnus-sum.el (gnus-build-sparse-threads): Put the proper date
+       in.
+
+Wed Jun 24 07:52:30 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.13 is released.
+
+Wed Jun 24 07:47:04 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-topic.el (gnus-topic-rename): Disallow "nil".
+
+Wed Jun 24 07:33:17 1998  Vladimir Alexiev  <vladimir@cs.ualberta.ca>
+
+       * nnvirtual.el (nnvirtual-update-xref-header): Regexp-quote group
+       name.
+
+Wed Jun 24 06:15:27 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-build-sparse-threads): Give all the sparse
+       articles the date of the current child.
+
+       * gnus-topic.el (gnus-group-topic-parameters): Didn't compute.
+
+Wed Jun 24 03:27:44 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.12 is released.
+
+Wed Jun 10 11:06:35 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * message.el (message-mail-other-window): Bind message-this-is-mail.
+       (message-mail-other-frame): Likewise.
+       (message-news-other-window): Bind message-this-is-news.
+       (message-news-other-frame): Likewise.
+
+1998-06-09  Sam Steingold  <sds@goems.com>
+
+        * gnus-uu.el (gnus-uu-default-view-rules): make sed kill ^M only
+        at the end of line.
+
+1998-06-05  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * nnmail.el (nnmail-get-split-group): Don't regexp-quote
+       nnmail-procmail-suffix.
+
+Wed Jun 24 03:04:05 1998  Kim-Minh Kaplan  <kaplan@sky.fr>
+
+       * gnus-sum.el (gnus-build-get-header): Fix obarray.
+
+Wed Jun 24 02:49:57 1998  Castor  <castor@my-dejanews.com>
+
+       * nntp.el (nntp-open-ssl-stream):
+
+Wed Jun 24 02:31:46 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-nov-parse-line): Cleaned up.
+       (gnus-build-all-threads): Put things in the wrong obarray.
+
+Wed Jun 24 01:43:26 1998  Decklin Foster  <djarum@base.org>
+
+       * nngateway.el (nngateway-mail2news-header-transformation): New
+       function.
+
+Wed Jun 24 00:25:45 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-shorten-references): New function.
+       (message-header-format-alist): Use it.
+
+       * gnus-start.el (gnus-always-read-dribble-file): Customized.
+
+       * message.el (message-generate-new-buffers): Dox fox.
+
+Tue Jun 23 23:58:48 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-topic.el (gnus-topic-prepare-topic): Respect visible topic
+       param.
+       (gnus-topic-hierarchical-parameters): New function.
+
+1998-06-02  Didier Verna  <verna@inf.enst.fr>
+
+       * gnus-picon.el (gnus-get-buffer-name): use get-buffer-create
+       instead of get-buffer
+
+Wed Jun  3 04:41:45 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnkiboze.el (nnkiboze-request-delete-group): Delete .newsrc
+       file.
+
+       * nnmail.el (nnmail-article-group): Nuke looong lines.
+
+       * gnus-art.el (gnus-button-alist): Buggy default.
+
+Wed Jun  3 04:03:37 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.11 is released.
+
+Wed Jun  3 03:33:50 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.el: Checked doc string syntax throughout.
+
+       * message.el (message-subject-re-regexp): Renamed.
+
+Wed Jun  3 03:33:05 1998  Simon Josefsson  <jas@pdc.kth.se>
+
+       * message.el (message-ignored-subject-re): New variable.
+
+Wed Jun  3 03:25:13 1998  Sam Steingold  <sds@usa.net>
+
+       * gnus-msg.el (gnus-bug-create-help-buffer): New variable.
+       (gnus-bug): Use it.
+
+1998-05-07  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * nnmail.el: (nnmail-get-split-group): Use `regexp-quote'
+       when file name is a part of pattern.
+
+       * nnmail.el (nnmail-crosspost-link-function): Ditto.
+
+       * gnus-ems.el: Use `symbol-name' instead of `(format "%s" ...)'.
+
+       * gnus-score.el (gnus-score-load-file): Use `regexp-quote'
+       when file name is a part of pattern.
+
+1998-05-06  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * gnus-cache.el (gnus-cache-generate-active): Use `regexp-quote'
+       when file name is a part of pattern.
+
+Wed Jun  3 03:13:34 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnfolder.el (nnfolder-delete-mail): Changed parameters.
+       (nnfolder-request-replace-article): Rename X-From-Line.
+
+Wed Jun  3 03:10:04 1998  Dan Christensen  <jdc@chow.mat.jhu.edu>
+
+       * nnfolder.el (nnfolder-adjust-min-active): Work.
+
+Mon Jun  1 05:27:28 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-limit-to-age): Reversed time and
+       almost collapsed space!
+
+       * nnmail.el (nnmail-days-to-time): Computed wrong time.
+
+Mon Jun  1 05:19:46 1998  Kim-Minh Kaplan  <KimMinh.Kaplan@utopia.eunet.fr>
+
+       * gnus-sum.el (gnus-dependencies-add-header): Break loops.
+
+Mon Jun  1 05:13:34 1998  Fabrice POPINEAU  <popineau@esemetz.ese-metz.fr>
+
+       * gnus-cache.el (gnus-cache-generate-active): Regexp-quote.
+
+Mon Jun  1 04:31:23 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.10 is released.
+
+Mon Jun  1 03:25:33 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (gnus-button-alist): Recognize bare mailto buttons
+       for Gnus.
+
+       * nntp.el: Replaced all `message' calls.
+
+Mon Jun  1 03:13:46 1998  Wolfgang Rupprecht  <wolfgang@dailyplanet.wsrcc.com>
+
+       * nntp.el (nntp-encode-text): Removed spurious forward-line.
+
+Sat May 23 19:44:43 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-fetch-session): Would infloop if
+       opening failed.
+
+Tue May 19 04:11:33 1998  Yoshiki Hayashi  <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * nnheader.el (nnheader-translate-file-chars): Don't change
+       string.
+
+Tue May 19 03:07:45 1998  P. E. Jareth Hein  <jareth@camelot-soft.com>
+
+       * gnus-util.el (gnus-dd-mmm): New version.
+
+Tue May 19 03:00:39 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.el: Changed address.
+
+Tue May 12 06:12:42 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-expire): Delete more.
+
+Sun May 10 19:08:28 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-group.el (gnus-group-read-ephemeral-group): Don't add
+       `address'.
+
+Sun May  3 18:01:01 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnmail.el (nnmail-within-headers-p): Renamed.
+
+       * message.el (message-cancel-news): If a Sender header doesn't
+       exist, compare From against `message-make-from'.
+
+Sun May  3 15:07:25 1998  Lars Balker Rasmussen  <lbr@image.dk>
+
+       * gnus-agent.el (gnus-agent-save-group-info): Fix
+       re-search-forward params.
+
+Sun May  3 15:04:02 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-expire): Check for the size.
+
+Sat May  2 01:50:20 1998  Dan Christensen  <jdc@chow.mat.jhu.edu>
+
+       * nnfolder.el (nnfolder-goto-article): New version.
+       (nnfolder-read-folder): Fix.
+
+       * nnmail.el (nnmail-within-headers): New function.
+
+Sat May  2 01:36:37 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnfolder.el (nnfolder-goto-article): Thinkotypo search arguments.
+
+       * nnheader.el (nnheader-find-file-noselect): Also bind
+       `find-file-hooks' to nil.
+
+       * nnmail.el (nnmail-process-unix-mail-format): Don't use
+       `find-file-noselect'.
+
+       * gnus-group.el (gnus-group-make-menu-bar): Typo.
+
+Fri May  1 21:59:35 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.9 is released.
+
+Fri May  1 21:54:30 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnfolder.el (nnfolder-goto-article): Would infloop.
+
+Fri May  1 19:45:50 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.8 is released.
+
+Fri May  1 18:51:21 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-request-newgroups): Use format-time-string.
+
+       * message.el (message-fetch-field): Inhibit point-motion hooks.
+
+Fri May  1 18:33:06 1998  Wes Hardaker  <wjhardaker@ucdavis.edu>
+
+       * gnus-score.el (gnus-adaptive-word-no-group-words): New variable.
+
+Fri May  1 16:56:32 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-expire): Put point at the start of the
+       buffer.
+
+       * gnus-soup.el (gnus-soup-parse-areas): Check whether the file
+       exists.
+
+       * gnus-draft.el (gnus-draft-send): Use meta-information.
+
+       * nnagent.el (nnagent-request-post): Store meta-information.
+
+       * gnus-agent.el (gnus-agent-meta-information-header): New variable.
+       (gnus-agent-insert-meta-information): New function.
+
+Fri May  1 16:43:35 1998  Paul Franklin  <paul@cs.washington.edu>
+
+       * message.el (message-generate-headers): Insert Sender when
+       required.
+
+Fri May  1 15:28:55 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-util.el (gnus-dd-mmm): Accept "" dates.
+
+       * gnus-cite.el (gnus-article-hide-citation): Don't remove button
+       when hiding.
+
+       * gnus-msg.el (gnus-post-method): Allow ARG to override
+       `current'.
+
+       * gnus-sum.el (gnus-remove-thread): Remove the dummy root
+       properly.
+
+       * nnfolder.el (nnfolder-goto-article): New function.
+       (nnfolder-retrieve-headers): Use it.
+       (nnfolder-request-article): Ditto.
+
+Wed Apr 29 22:48:33 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.7 is released.
+
+Wed Apr 29 20:54:35 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-update-info): Bind
+       gnuis-newsgroup-scored later.
+       (gnus-summary-prepare-threads): Check some more before inserting
+       dummy roots.
+
+       * gnus-cache.el (gnus-cache-enter-article): Update marks
+       properly.
+
+       * gnus-xmas.el (gnus-xmas-draft-menu-add): New function.
+
+       * nntp.el (nntp-connection-timeout): Removed.
+
+       * gnus-move.el (gnus-move-group-to-server): Delete nils.
+
+       * nntp.el (nntp-close-server): Close more connections.
+
+       * gnus-art.el (gnus-button-alist): Accept white space after colons
+       in <URL:news:> things.
+
+Wed Apr 29 20:18:45 1998  Kurt Swanson  <kurt@dna.lth.se>
+
+       * gnus-art.el (article-update-date-lapsed): Bind
+       `deactivate-mark'.
+
+       * gnus-salt.el (gnus-pick-mode-map): Moved keys around to avoid
+       shadowing.
+
+       * gnus-art.el (gnus-article-read-summary-keys): New version.
+
+       * gnus-sum.el (gnus-summary-make-menu-bar): New for article mode.
+
+       * gnus-msg.el (gnus-post-method): `current' custom.
+
+Wed Apr 29 19:04:27 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-set-local-parameters): Ignore
+       quit-config.
+       (gnus-select-newsgroup): Use the value of gnus-fetch-old-headers.
+
+       * message.el (message-post-method): Doc fix.
+
+       * gnus.el (gnus-directory): dox fix.
+
+Tue Apr 28 03:32:17 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-group.el (gnus-group-timestamp): Really get timestamp.
+
+       * gnus.el (gnus-group-parameter-value): Use explicit iteration.
+
+Tue Apr 28 03:15:50 1998  Hallvard B. Furuseth  <h.b.furuseth@usit.uio.no>
+
+       * gnus-util.el (gnus-alive-p): Check for binding.
+
+Tue Apr 28 03:00:16 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-parent-headers): Don't infloop on nil
+       References.
+
+       * gnus-art.el (gnus-article-mode): Don't kill local vars.
+
+       * score-mode.el (score-mode-syntax-table): Change syntax.
+
+Mon Apr 27 00:26:01 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.6 is released.
+
+Mon Apr 27 00:07:11 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (gnus-request-article-this-buffer): Viewing pseudos
+       in nneething groups bugged.
+
+       * gnus-sum.el (gnus-summary-prepare-threads): Dummy roots and
+       dormants and stuff.
+
+Sun Apr 26 23:34:40 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-cache.el (gnus-cache-file-name): Use FULL.
+
+       * nnheader.el (nnheader-translate-file-chars): Allow FULL
+       parameter.
+
+       * gnus-cache.el (gnus-cache-file-name): Translate all colons.
+
+Sun Apr 26 19:27:56 1998  Justin Sheehy  <justin@linus.mitre.org>
+
+       * nntp.el (nntp-rlogin-parameters): Doc fix.
+
+Sun Apr 26 19:21:12 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (gnus-summary-save-in-mail): Not a command.
+
+Sun Apr 26 19:16:03 1998  James Troup  <J.J.Troup@scm.brad.ac.uk>
+
+       * gnus-sum.el (gnus-summary-expire-articles-now): Work.
+
+Sun Apr 26 14:34:06 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-build-sparse-threads): Break loops.
+       (gnus-summary-print-article): Save excursion to try to preserve
+       local/bound variable messup.
+
+       * gnus-salt.el (gnus-tree-read-summary-keys): Put point in article
+       buffer.
+
+       * gnus-undo.el (gnus-undo): New group.
+       (gnus-undo-limit): New variable.
+       (gnus-undo-register-1): Use it.
+
+       * gnus-sum.el (gnus-summary-update-info): Don't nix out scores.
+
+       * gnus-start.el (gnus-active-to-gnus-format): Removed "." from
+       quoting.
+
+       * gnus.el (gnus-cache-directory): Moved here.
+       (gnus-predefined-server-alist): Use.
+
+       * message.el (message-autosave-directory): Put back in.
+       (message-set-auto-save-file-name): Use if Gnus isn't running.
+
+       * gnus-util.el (gnus-alive-p): Moved here.
+
+       * message.el (message-autosave-directory): Removed.
+       (message-set-auto-save-file-name): Don't use it.
+
+       * gnus.el: Use gnus-buffer-exists-p throughout.
+
+       * gnus-uu.el (gnus-uu-save-article): Use gnus-kill-buffer.
+
+       * message.el (message-make-in-reply-to): Check more for strange
+       From lines.
+
+       * gnus-art.el (gnus-article-mode): Don't nix out vars.
+
+Sun Apr 26 14:05:40 1998  Frank Bennett  <bennett@rumple.soas.ac.uk>
+
+       * nnmail.el (nnmail-move-inbox): Push error'ed mailboxes onto the
+       list.
+
+Sun Apr 26 13:01:53 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-score.el (gnus-score-save): Use it.
+
+       * score-mode.el (score-mode-syntax-table): New table.
+
+       * nnmbox.el: Commentary fix.
+
+Sun Apr 26 12:59:00 1998  Richard Stallman  <rms@santafe.edu>
+
+       * message.el (message-mode): New adaptive fill defaults.
+
+Sun Apr 26 12:50:38 1998  Jim Radford  <radford@robby.caltech.edu>
+
+       * gnus-start.el (gnus-active-to-gnus-format): Groups that start
+       with dots.
+
+1998-04-11  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * gnus/gnus-art.el (gnus-emphasis-alist): Use nth, not caddr.
+
+Sat Apr 25 15:33:57 1998  Kim-Minh Kaplan  <KimMinh.Kaplan@utopia.eunet.fr>
+
+       * gnus-sum.el (gnus-build-sparse-threads): Handle loops.
+
+Sat Apr 25 15:09:54 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.el (gnus-valid-select-methods): nngateway is post-mail.
+
+Fri Apr 24 21:32:14 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.5 is released.
+
+Fri Apr 24 21:19:21 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-msg.el (gnus-post-method): Doc fix.
+       (gnus-post-method): Reversed semantics.
+
+1998-04-01  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * gnus-msg.el (gnus-post-method): Customized. Added 'native
+       option. In the function, added support for new value.
+
+Fri Apr 24 20:04:15 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnmbox.el (nnmbox-request-create-group): New function.
+
+Sun Apr 12 07:55:16 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-save-group-info): Only do those that
+       are covered.
+
+Tue Apr  7 11:26:31 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-authinfo-file): Doc fix.
+
+1998-03-31  Ken Raeburn  <raeburn@cygnus.com>
+
+       * nnml.el (nnml-request-expire-articles): Sort active-articles,
+       then only expire the intersection of that set with the requested
+       articles.
+
+Wed Apr  1 16:01:44 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-supersede): Check Sender.
+       (message-cancel-news): Fix Sender check.
+
+Sun Mar 29 11:54:33 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnkiboze.el (nnkiboze-generate-group): Would mess up newsrs
+       hashtb.
+       (nnkiboze-enter-nov): Created bogus Xrefs headers.
+
+       * gnus-agent.el (gnus-agent-save-group-info): New function.
+
+       * gnus-start.el (gnus-get-unread-articles): Use it.
+
+       * message.el (message-expand-group): Allow completion from in the
+       middle of strings.
+       (message-font-lock-keywords): Work when mail-header-separator is
+       "".
+
+Sun Mar 29 09:56:00 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.4 is released.
+
+Sun Mar 29 09:47:58 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnkiboze.el (nnkiboze-request-delete-group): Would bug out when
+       deleting files.
+
+Sat Mar 28 08:48:31 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-encode-text): Use `nntp-end-of-line'.
+
+Thu Mar 26 15:29:51 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-expire): Check size of history file.
+
+       * message.el (message-mode): Doc fix.
+
+Mon Mar 23 14:21:34 1998  Mike McEwan  <mike@lotusland.demon.co.uk>
+
+       * gnus-score.el (gnus-score-default-type): Doc fix.
+
+Mon Mar 23 14:12:01 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-int.el (gnus-request-body): Do the same as HEAD.
+
+       * gnus-art.el (gnus-article-edit-article-hook): Removed.
+
+Mon Mar 23 14:09:56 1998  jari aalto  <jari.aalto@poboxes.com>
+
+       * gnus-art.el (gnus-article-edit-article-hook): New hook.
+
+1998-03-19  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * nntp.el (nntp-open-rlogin): Wrap in save-excursion
+
+Thu Mar 19 16:43:59 1998  Joe Buehler  <jhpb@hekimian.com>
+
+       * gnus-util.el (gnus-date-iso8601): Use simple string.
+
+Thu Mar 19 15:18:00 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.3 is released.
+
+Thu Mar 19 15:09:14 1998  Wes Hardaker  <wjhardaker@ucdavis.edu>
+
+       * gnus-win.el (gnus-delete-windows-in-gnusey-frames): Make sure
+       there are no nil buffers.
+
+1998-03-17  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * gnus-uu.el (gnus-uu-digest-headers): Add `Content-Type' and
+       `Content-Transfer-Encoding'.
+
+1998-03-18  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * message.el (message-header-lines): Added `:format'.
+
+1998-03-18  Simon Josefsson  <jas@pdc.kth.se>
+
+       * nndoc.el: dummy request-accept-article
+
+Thu Mar 19 14:10:25 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-next-subject): Expand threads.
+
+       * gnus-agent.el (gnus-agent-group-mode-hook,
+       gnus-agent-summary-mode-hook): New variables.
+       (gnus-agent-mode): Run them.
+
+1998-03-14  SL Baur  <steve@altair.xemacs.org>
+
+       * gnus-xmas.el (gnus-xmas-group-startup-message): Tell gnus-start
+       we've already drawn the pretty Gnu graphic.
+
+Thu Mar 19 12:44:12 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-msg.el: Would use nil group names.
+
+       * nntp.el (nntp-send-authinfo): Send authinfo to "force"d
+       servers.
+
+       * gnus-util.el (gnus-parse-netrc): Accept the "force" token.
+
+       * message.el (message-cancel-news): Compare Sender header, not
+       From header.
+
+Tue Mar 17 15:07:18 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (article-hide-headers): Fold case.
+
+Sat Mar 14 17:57:35 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-util.el (gnus-horizontal-recenter): New window-end may
+       return nil.
+
+Fri Mar 13 22:12:30 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-fetch-session): Check whether server
+       is up before fetching.
+
+       * gnus-win.el (gnus-window-frame-focus): New variable.
+       (gnus-configure-windows): Use it.
+
+       * gnus-sum.el (gnus-summary-catchup-and-exit): Don't select next
+       when in an ephemeral group.
+
+       * gnus-agent.el (gnus-agent-expire): Message end.
+       (gnus-agent-expire-all): New variable.
+       (gnus-agent-expire): Use it.
+
+Fri Mar 13 22:07:17 1998  Shenghuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-agent.el (gnus-agent-high-scored-p): Wrong value.
+
+Fri Mar 13 21:10:24 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnvirtual.el (nnvirtual-request-group): Force updating of info.
+
+Sun Mar  8 20:46:51 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnmail.el (nnmail-delete-incoming): Changed default.
+
+Sun Mar  8 14:05:25 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.2 is released.
+
+Sun Mar  8 00:35:09 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-picon.el (gnus-get-buffer-name): Look in the assoc for the
+       variable.
+
+       * nntp.el (nntp-wait-for): Check more for dead connections.
+
+       * gnus-eform.el (gnus-edit-form-buffer): Moved back here.
+
+       * gnus-win.el (gnus-window-to-buffer-helper): Return nil when
+       buffers don't exist.
+
+       * nndraft.el (nndraft-request-restore-buffer): Remove Xref header,
+       not Xrefs.
+
+Sun Mar  8 00:00:04 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.1 is released.
+
+Sat Mar  7 22:15:46 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.el (gnus-edit-form-buffer): Moved here.
+
+       * gnus-agent.el (gnus-agent-expire-old): Removed.
+       (gnus-agent-expire-directory): Ditto.
+       (gnus-agent-expire-group): Even more ditto.
+
+Sat Mar  7 21:59:18 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.37 is released.
+
+Sat Mar  7 20:10:42 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-expire-days): New variable.
+       (gnus-agent-expire): New function.
+
+Sat Mar  7 17:35:53 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.36 is released.
+
+Sat Mar  7 17:29:20 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-wait-for): Reversed logic.
+
+Sat Mar  7 17:19:04 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.35 is released.
+
+Sat Mar  7 15:01:57 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-picon.el (gnus-picons-x-face-sentinel): Check whether
+       gnus-picons-x-face-file-name exists.
+
+       * gnus-art.el (gnus-article-read-summary-keys): Move window point
+       in the summary buffer.
+
+       * nndoc.el (nndoc-type-alist): Allow spaces around separator.
+
+       * gnus-sum.el (gnus-summary-edit-parameters): Interactive.
+
+Sat Mar  7 15:00:05 1998  Wes Hardaker  <wjhardaker@ucdavis.edu>
+
+       * gnus-art.el (gnus-article-prepare): Mark articles as
+       downloadable.
+
+Wed Mar  4 22:33:27 1998  Ken Raeburn  <raeburn@cygnus.com>
+
+       * gnus-int.el (gnus-get-function): New version, caches symbol
+       names.
+
+Fri Mar  6 01:10:22 1998  Ken Raeburn  <raeburn@cygnus.com>
+
+       * nnml.el (nnml-article-to-file): Build pathname using
+       expand-file-name.  (Thanks, Colin Rafferty, for catching
+       this.)
+
+Sat Feb 28 23:33:40 1998  Ken Raeburn  <raeburn@cygnus.com>
+
+       * nnml.el (nnml-article-to-file): Don't add extra "/" when
+       building pathname.
+
+       * nnheader.el (nnheader-file-to-number): Check value of
+       nnheader-numerical-short-files instead of checking if jka-compr is
+       loaded.
+
+1998-03-03  Dave Love  <d.love@dl.ac.uk>
+
+       * nnheader.el (nnheader-parse-head): Fix in-reply-to code. Return
+       nil consistently if not found.
+
+Sat Mar  7 13:50:44 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el: Check whether the connection died.
+
+1998-03-01  Kim-Minh Kaplan  <KimMinh.Kaplan@utopia.eunet.fr>
+
+       * gnus.texi (Easy Picons): Removed references to
+       `gnus-group-display-picons'.
+       (Hard Picons): Ditto.
+
+Mon Mar  2 16:17:36 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-exit-no-update): Run
+       gnus-summary-prepare-exit-hook here as well.
+
+Sat Feb 28 13:35:26 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-authinforc-file): Changed default.
+       (nntp-authinfo-file): Changed name.
+       (nntp-record-commands): New variable.
+       (nntp-record-command): New function.
+
+       * gnus-agent.el (gnus-agent-group-path): Use real name of group.
+
+       * gnus-sum.el (gnus-summary-insert-subject): Don't allow nil
+       articles.
+       (gnus-summary-read-group): Respect backward movement.
+
+1998-03-01  Kim-Minh Kaplan  <KimMinh.Kaplan@utopia.eunet.fr>
+
+       * gnus-win.el (gnus-window-to-buffer): change "*Picons*" to
+       `gnus-picons-buffer'.
+       (gnus-window-to-buffer-helper): Support dynamic picon buffer
+       name (i.e a symbol that names a function to be called).
+       (gnus-configure-frame): Use it.
+       (gnus-delete-windows-in-gnusey-frames): Use it.
+       (gnus-all-windows-visible-p): Use it.
+       (gnus-remove-some-windows): Use it.
+
+       * gnus-picon.el (gnus-get-buffer-name): Use it.
+       (gnus-picons-kill-buffer): New function.
+       (gnus-picons-setup-buffer): New function.
+       (gnus-picons-set-buffer): Use them.
+       (gnus-picons-display-x-face): Put back the `buf' binding: it is
+       needed when `gnus-picons-display-where' is not set to article.
+       Also move the X-Face to the left, near the address.  It seems more
+       logical.
+
+Sat Feb 28 08:27:20 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.34 is released.
+
+Sat Feb 28 08:17:37 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.33 is released.
+
+Sat Feb 28 08:10:27 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-picon.el (gnus-picons-display-x-face): `buf' -- unbound
+       var.
+
+Sat Feb 28 08:03:23 1998  François Pinard  <pinard@iro.umontreal.ca>
+
+       * gnus: configure'd.
+
+Sat Feb 28 07:43:00 1998  Nelson Jose dos Santos Ferreira  <Nelson.Ferreira@inesc.pt>
+
+       * nnsoup.el (nnsoup-store-reply): Fix double sep error.
+
+Sat Feb 28 07:01:17 1998  Lasse Rasinen  <lrasinen@iki.fi>
+
+       * gnus-start.el (gnus-ask-server-for-new-groups): Message more.
+
+Fri Feb 27 13:26:34 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-resend): Allow arbitrary Also's.
+
+1998-02-27  Dave Love  <d.love@dl.ac.uk>
+
+       * gnus-sum.el (gnus-simplify-subject-functions): Fix
+       customization, doc.
+
+1998-02-25  Dave Love  <d.love@dl.ac.uk>
+
+       * gnus-art.el (gnus-article-x-face-command): Replace leading `{'.
+
+Mon Feb 23 18:26:48 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-plugged): New command and keystroke.
+
+       * gnus-ems.el (gnus-ems-redefine): Define
+       'gnus-summary-set-display-table as a function that takes no
+       params.
+
+       * gnus.el (gnus-interactive): Don't use gnus-sum macros.
+       (gnus-valid-select-methods): Include nnlistserv.
+
+       * gnus.el: Autoloaded things to make byte-comp silent.
+
+Mon Feb 23 18:06:47 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.32 is released.
+
+Mon Feb 23 17:48:42 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-cite.el (gnus-article-hide-citation-maybe): Wrong
+       interactive specs.
+       (gnus-cite-toggle): Maybe parse.
+
+Mon Feb 23 05:26:11 1998  Rui-Tao Dong ~{6-HpLN~}  <rdong@internetmci.com>
+
+       * nnweb.el (nnweb-type-definition): Fixed.
+
+Sun Feb 22 18:10:53 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-group-path): Translate right chars.
+       (gnus-agent-toggle-plugged): Allow proper closing.
+
+       * gnus-srvr.el (gnus-browse-read-group): Allow entering
+       non-ephemeral groups.
+
+Sun Feb 22 04:21:15 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.31 is released.
+
+Sun Feb 22 02:09:35 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-highlight): Give undownloaded marks a
+       better face.
+
+       * gnus-score.el (gnus-score-set): Take optional "warn".
+       (gnus-summary-score-entry): Use it.
+
+       * gnus.el: Removed spurious * in defcustoms.
+
+       * gnus-score.el (gnus-score-load-file): Reverse logic.
+
+       * gnus-cite.el (gnus-article-hide-citation): Use markers to make
+       things work when wrapping.
+
+       * gnus-sum.el (gnus-summary-exit): Stop prefetch.
+
+Sat Feb 21 02:12:42 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-get-newsgroup-headers): Buggy regexp.
+
+Sat Feb 21 00:51:22 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.30 is released.
+
+Sat Feb 21 00:09:14 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-mark-article): Don't do anything if
+       the mark doesn't change.
+
+       * gnus-art.el (gnus-article-prepare): Don't enter article into
+       cache.
+
+       * gnus-sum.el (gnus-summary-reparent-thread): Don't mark as read.
+       (gnus-summary-mark-article): Don't do cache things here.
+
+       * gnus-util.el (gnus-parse-netrc): Skip past macdefs.
+
+Fri Feb 20 22:56:22 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-srvr.el (gnus-browse-unsubscribe-group): Wouldn't allow
+       unsubscription.
+
+       * gnus-sum.el (gnus-summary-insert-subject): Allow inserting
+       articles outside limits.
+
+       * gnus-start.el (gnus-dribble-enter): Update mode line.
+
+       * gnus-srvr.el (gnus-browse-unsubscribe-group): Allow
+       unsubscription.
+
+       * gnus-picon.el (gnus-article-display-picons): Check that the
+       extents are live first.
+
+Thu Feb 19 15:13:44 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-group.el (gnus-useful-groups): Include gnus-bug.
+
+Thu Feb 19 02:28:17 1998  Jens-Ulrik Holger Petersen  <petersen@kurims.kyoto-u.ac.jp>
+
+       * gnus.el (gnus-group-history): Defined twice.
+
+Thu Feb 19 01:58:47 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-get-newsgroup-headers): Just use the header
+       value.
+       (gnus-summary-exit): Set global vars.
+
+Tue Feb 17 07:17:49 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-stop-page-breaking): Mark page as no
+       longer broken.
+       (gnus-summary-exit): Purge the real name.
+
+Tue Feb 17 07:00:43 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.29 is released.
+
+Tue Feb 17 06:15:03 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnmail.el (nnmail-purge-split-history): List of alists, not
+       alist.
+
+Mon Feb 16 20:22:04 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.28 is released.
+
+1998-02-16  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-dont-send): Make sure the article really is
+       saved.
+
+       * nnmail.el (nnmail-purge-split-history): Alist; not a list of
+       alists.
+
+1998-02-16  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * message.el (message-kill-to-signature): Do the right thing when
+       there is no signature.
+
+1998-02-16  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * message.el (message-elide-elipsis): Add type and group.
+       (message-elide-region): Docfix.
+
+1998-02-16  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-util.el (gnus-run-hooks): Use unwind-protect instead of
+       save-excursion.
+
+1998-02-16  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * nntp.el (nntp-authinforc-file): Customized.
+
+Mon Feb 16 03:18:33 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-nocem.el (gnus-nocem-unwanted-article-p): Don't look if the
+       hashtable doesn't exist.
+
+       * gnus-start.el (gnus-ask-server-for-new-groups): Make sure the
+       killed groups hashtable exists.
+
+Sun Feb 15 23:02:11 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-authinforc-file): Changed name and default.
+       (nntp-send-authinfo): Use it.
+
+Sun Feb 15 19:50:10 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.27 is released.
+
+Sun Feb 15 19:41:14 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.el (gnus-ephemeral-servers): New variable.
+       * gnus-srvr.el (gnus-server-prepare): Use it.
+       * gnus-group.el (gnus-group-read-ephemeral-group): Ditto.
+
+Sun Feb 15 19:35:11 1998  Kurt Swanson  <kurt@dna.lth.se>
+
+       * gnus-art.el (gnus-article-read-summary-keys): Go to top on
+       some.
+
+Sun Feb 15 19:26:21 1998  SeokChan LEE  <chan@xfer.kren.nm.kr>
+
+       * message.el (message-ignored-supersedes-headers): Fix.
+
+Sun Feb 15 18:39:15 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-salt.el (gnus-tree-close): Start killing buffer again.
+
+       * gnus-sum.el (gnus-mark-article-as-read): Return t.
+
+       * gnus-art.el (gnus-article-edit-mode): Run text mode hook.
+
+Sun Feb 15 17:31:19 1998  Roland Roberts  <rroberts@muller.com>
+
+       * gnus-sum.el (gnus-nov-parse-line): Would bug out on bogus
+       References headers.
+
+Sun Feb 15 14:23:51 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (gnus-article-current-summary): New variable.
+       (gnus-article-mode): Make it local.
+
+       * gnus-score.el (gnus-summary-increase-score): Find the right
+       global score file.
+
+       * gnus-start.el (gnus-setup-news): Don't find new newsgroups
+       unless plugged.
+
+       * message.el (message-mode): Set font-lock things before running
+       mode hook.
+
+       * gnus-agent.el (gnus-agent-group-path): Respect long file names.
+
+Sat Feb 14 21:31:25 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-goto-last-article): Force jumping to
+       articles outside limit.
+
+       * gnus-agent.el (gnus-agent-toggle-plugged): un/plug before hook.
+
+Sat Feb 14 21:08:03 1998  Kim-Minh Kaplan  <KimMinh.Kaplan@utopia.eunet.fr>
+
+       * gnus-xmas.el (gnus-xmas-article-display-xface): t t would make
+       faces disappear.
+
+Sat Feb 14 20:52:34 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-netrc-file): New variable.
+
+Sat Feb 14 19:28:01 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.26 is released.
+
+Sat Feb 14 18:40:55 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-directory): Translate file chars.
+
+       * gnus-sum.el (gnus-summary-print-article): Don't display all
+       headers.
+       (gnus-summary-edit-parameters): New command and keystroke.
+
+       * gnus-group.el (gnus-group-rename-group): Mark dribble.
+
+Sat Feb 14 18:39:45 1998  Fred Oberhauser  <foberhauser@psipenta.de>
+
+       * nnmail.el (nnmail-process-babyl-mail-format): Fix point
+       movement.
+
+Sat Feb 14 18:31:39 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.el (gnus-group-get-parameter): Dix fix.
+
+Sat Feb 14 18:29:12 1998  Kim-Minh Kaplan  <KimMinh.Kaplan@utopia.eunet.fr>
+
+       * gnus-picon.el: Updated documentation.
+
+Sat Feb 14 18:26:53 1998  Joev Dubach  <dubach@dcepea.harvard.edu>
+
+       * nntp.el (nntp-send-authinfo-from-file): Doc fix.
+
+Sun Jan 11 23:44:12 1998  Ken Raeburn  <raeburn@cygnus.com>
+
+       * nnagent.el (nnagent-request-update-info): New no-op fn.
+
+Sat Feb 14 17:41:44 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-srvr.el (gnus-browse-unsubscribe-group): Wouldn't allow
+       subscription of visited groups.
+
+       * gnus-util.el (gnus-run-hooks): New function.
+       Use it everywhere.
+
+       * nntp.el (nntp-authinfo-password): New variable.
+       (nntp-send-authinfo): Cache authinfo password.
+
+       * gnus-sum.el (gnus-summary-mark-article-as-unread): Don't do
+       anything if the mark doesn't change.
+
+1998-01-17  Simon Josefsson  <jas@pdc.kth.se>
+
+       * gnus-sum.el (gnus-summary-work-articles): change buffer
+       before looking at marked articles
+       (gnus-summary-work-articles): better check of marked articles
+
+Sat Feb 14 15:10:36 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-send-authinfo): Use new .netrc functionality.
+
+       * gnus-util.el (gnus-netrc-syntax-table): New variable.
+       (gnus-parse-netrc): New function.
+       (gnus-netrc-machine): Ditto.
+       (gnus-netrc-get): Ditto.
+
+       * gnus-draft.el (gnus-draft-make-menu-bar): Added deletion.
+
+       * gnus.el (gnus-expert-user): Dix fox.
+
+       * nnmail.el (nnmail-article-group): Remove duplicates from split.
+
+       * message.el (message-check-news-header-syntax): Check more on
+       Message-ID.
+
+       * nnmh.el: Don't call nnmail-activate.
+
+       * gnus.el: User-variabelize all custom vars.
+
+Fri Feb 13 22:40:39 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.25 is released.
+
+Fri Feb 13 19:01:19 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nndoc.el (nndoc-type-alist): Allow blank lines to separate
+       headers from bodies.
+
+       * gnus-art.el (gnus-article-edit): Restore Date header.
+
+       * gnus-async.el (gnus-asynch-obarray): New variable.
+       (gnus-async-prefetched-article-entry): Use it.
+       (gnus-async-set-buffer): Use it.
+
+       * nnmh.el (nnmh-active-number): Create parent dirs.
+
+       * nntp.el (nntp-last-command): New variable.
+       (nntp-handle-authinfo): New function.
+
+       * gnus-sum.el (gnus-summary-exit): Call purging function.
+
+Fri Feb 13 18:59:16 1998  François Pinard  <pinard@iro.umontreal.ca>
+
+       * nnmail.el (nnmail-get-new-mail): Don't clear split-history.
+       (nnmail-purge-split-history): New function.
+
+Fri Feb 13 18:36:16 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nntp.el (nntp-telnet-shell-prompt): Renamed.
+
+Fri Feb 13 18:35:23 1998  Sam Falkner  <samf@channelpoint.com>
+
+       * nntp.el (nntp-open-telnet-envuser): New variable.
+
+Fri Feb 13 18:29:23 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-send-mail-function): Added smtpmail-send-it.
+
+1998-02-11  Dave Love  <d.love@dl.ac.uk>
+
+       * gnus-art.el (gnus-button-url): Don't lose in Emacs 20 with
+       browse-url-browser-function an alist, not a function.
+       (gnus-button-embedded-url): Likewise.
+
+Fri Feb 13 17:10:31 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-cite.el (gnus-cite-localize): New function.
+       (gnus-cite-close): Renamed.
+       (gnus-cite-parse-maybe): Use it.
+
+       * gnus-sum.el (gnus-summary-move-article): Move back to summary
+       buffer.
+
+       * nnfolder.el (nnfolder-request-accept-article): Save excursion.
+       (nnfolder-request-move-article): Ditto.
+
+       * nntp.el (nntp-find-connection): Don't message.
+
+Fri Feb 13 14:51:56 1998  MORIOKA Tomohiko  <steve@xemacs.org>
+
+       * message.el (message-send-mail-with-qmail): Fix.
+
+1998-02-13  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * gnus-draft.el (gnus-draft-make-menu-bar): Added missing commands.
+
+1998-01-06  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * gnus/gnus-cus.el (gnus-score-parameters): Make `files' and
+       `exclude-files' widgets inline.
+
+Fri Feb 13 12:46:23 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-article-mark): Dox dox.
+
+Wed Feb 11 15:05:03 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.24 is released.
+
+Tue Feb 10 21:59:53 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-fetch-session): Reversed reversal.
+
+       * gnus-topic.el (gnus-topic-rename): Check whether the new name
+       exists.
+
+Tue Feb 10 21:39:47 1998  dave edmondson  <dme@sco.com>
+
+       * message.el (message-font-lock-keywords): Allow : as a citation
+       ending.
+
+Tue Feb 10 20:09:02 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-send): Removed dead code.
+
+Mon Feb  9 17:02:09 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-fill-header): Fill to column 990.
+
+       * gnus-score.el (gnus-score-load-file): Exclude all excluded
+       files.
+
+Mon Feb  9 16:55:41 1998  jari aalto  <jari.aalto@poboxes.com>
+
+       * gnus-art.el (gnus-article-time-format): Extended variable.
+
+Mon Feb  9 16:27:59 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (article-make-date-line): Make 8601 Dates.
+       (article-date-iso8601): New command and keystroke.
+
+Sun Feb  8 21:19:15 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-ignored-mail-headers): Remove Xrefs.
+
+       * nndoc.el (nndoc-open-document-hook): New variable.
+
+Sun Feb  8 21:01:33 1998  Istvan Marko  <istvan@cmdmail.amd.com>
+
+       * gnus-agent.el (gnus-unplugged): Typo fix.
+
+Sun Feb  8 18:34:31 1998  Kurt Swanson  <kurt@dna.lth.se>
+
+       * gnus-score.el (gnus-score-thread-simplify): New variable.
+
+Sun Feb  8 18:31:35 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-uu.el (gnus-uu-post-encode-mime): Call mmencode with
+       correct params.
+
+Sun Feb  8 18:13:58 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.23 is released.
+
+Sun Feb  8 17:20:40 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-group.el (gnus-update-group-mark-positions): Bind `topic'.
+
+       * message.el (message-expand-group): Added doc string.
+
+       * nntp.el (nntp-wait-for): Don't change limit until after
+       accepting output.
+
+Sun Feb  8 16:44:36 1998  Richard Hoskins  <rmh@interlaced.net>
+
+       * message.el (message-kill-to-signature): Don't kill the
+       delimiter.
+
+Sun Feb  8 16:15:33 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-prepared-hook): New hook.
+       (gnus-summary-read-group-1): Use it.
+
+       * message.el (message-cite-original-without-signature): New
+       function.
+       (message-cite-function): Added to custom.
+
+1998-01-13  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * gnus/message.el (message-cite-original): Don't quote signature.
+
+Sun Feb  8 15:50:20 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-group.el (gnus-group-unsubscribe-group): Protest against
+       empty group names.
+
+Mon Feb  2 18:56:22 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-draft.el (gnus-draft-setup): Associate with drafts group.
+
+       * message.el (message-header-format-alist): Fill references.
+
+       * gnus-agent.el (gnus-category-read): Changed default.
+       (gnus-agent-handle-level): New variable.
+       (gnus-agent-fetch-session): Use it.
+
+       * gnus-art.el (article-strip-all-blank-lines): New command and
+       keystroke.
+
+Sun Feb  1 18:00:54 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-msg.el (gnus-inews-reject-message): Removed function.
+       (gnus-sent-message-ids-file): Removed.
+       (gnus-sent-message-ids-length): Ditto.
+
+       * gnus-xmas.el (gnus-xmas-summary-set-display-table): Ditto.
+
+       * gnus-sum.el (gnus-simplify-subject-fuzzy): Respect
+       `gnus-simplify-ignored-prefixes'.
+       (gnus-summary-set-display-table): Keep TAB.
+
+Thu Jan 15 22:47:38 1998   <Use-Author-Address-Header@[127.1]>
+
+       * gnus-art.el (gnus-request-article-this-buffer): Put it into the
+       backlog.
+
+Mon Jan 12 23:30:59 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-get-newsgroup-headers): Use the longest ID.
+
+       * nnheader.el (nnheader-parse-head): Ditto.
+
+Thu Jan  8 09:47:18 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-start.el (gnus-1): Use gnus-alive-p.
+
+Tue Jan  6 11:53:09 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (gnus-article-prepare): Bind coding systems.
+
+Tue Jan  6 07:45:39 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.22 is released.
+
+Tue Jan  6 07:32:02 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-kill-to-signature): Don't use mark.
+
+Tue Jan  6 07:30:46 1998  Russ Allbery  <rra@stanford.edu>
+
+       * message.el (message-kill-to-signature): New command and keystroke.
+
+Tue Jan  6 06:39:29 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-print-article): New defaults for
+       headers and stuff.
+
+       * gnus-agent.el (gnus-agent-batch): New command.
+
+       * nnoo.el (nnoo-execute): Copy vars from parent into child.
+       (nnoo-parent-function): Ditto.
+
+       * gnus-draft.el (gnus-draft-setup): Removed message.
+
+       * gnus-start.el (gnus-read-descriptions-file): Naked muleism.
+
+Mon Jan  5 05:20:16 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnml.el (nnml-generate-nov-databases-1): Fix lower bound on
+       empty groups.
+
+Sun Jan  4 14:38:36 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.21 is released.
+
+Sun Jan  4 14:28:35 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.20 is released.
+
+1997-12-10  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * gnus/gnus-msg.el (gnus-inews-insert-mime-headers): Added
+       documentation.
+       (gnus-inews-insert-mime-headers): Made it work with Emacs MULE.
+       (gnus-inews-insert-mime-headers): Added as option to
+       `message-header-hook'.
+
+1997-12-22  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * gnus/gnus-art.el (gnus-button-alist): Assume msg-id after "in
+       message".
+
+1997-12-22  Simon Josefsson  <jas@faun.nada.kth.se>
+
+       * nnmail.el (nnmail-get-new-mail): Make nnmail-tmp-directory
+
+1997-12-28  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * gnus/gnus-group.el (gnus-group-fetch-faq): Convert `.' in group
+       name to `/'.
+
+Sun Jan  4 13:35:14 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nndraft.el (nndraft-request-associate-buffer): Open the damn
+       server first.  Sheesh.
+
+       * gnus-draft.el (gnus-draft-send): Bind message-send-hook to nil.
+
+       * gnus-sum.el (gnus-summary-catchup): Don't nix out downloadable.
+       (gnus-summary-highlight): Highlight down/un as unread.
+
+Sun Jan  4 13:27:31 1998  Kim-Minh Kaplan  <KimMinh.Kaplan@utopia.eunet.fr>
+
+       * gnus-start.el (gnus-strip-killed-list): Fix syntax.
+
+Sun Jan  4 13:18:04 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnsoup.el (nnsoup-store-reply): Bind mail-header-separator to
+       "".
+
+       * gnus-xmas.el (gnus-xmas-agent-server-menu-add): New.
+
+       * nnoo.el (nnoo-change-server): Get the right values.
+
+1998-01-04  Aki Vehtari  <Aki.Vehtari@hut.fi>
+
+       * gnus-art.el (gnus-signature-limit): Add default values for
+       choices suggested by Per Abrahamsen <abraham@dina.kvl.dk>.
+       (gnus-prompt-before-saving): Add :value t for sexp tag.
+       (gnus-split-methods): Add default values for choices.
+
+       * gnus-score.el (gnus-home-score-file): Add non-nil default for
+       function.
+       (gnus-home-adapt-file): Ditto.
+
+       * gnus-sum.el (gnus-move-split-methods): Add default values for
+       choices.
+
+       * nnmail.el (nnmail-list-identifiers): Add default values for
+       choices suggested by Per Abrahamsen <abraham@dina.kvl.dk>.
+
+Sun Jan  4 11:31:42 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.19 is released.
+
+Sun Jan  4 10:42:53 1998  Felix Lee  <flee@teleport.com>
+
+       * nntp.el (nntp-open-rlogin): Use a list of parameters.
+
+Sun Jan  4 10:25:05 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-fetch-groups): New command.
+
+       * gnus-sum.el (gnus-summary-print-article): Changed order of
+       parameters.
+
+Sun Jan  4 10:24:07 1998  Michael R. Cook  <mcook@cognex.com>
+
+       * gnus-sum.el (gnus-summary-print-article): Use process/prefix.
+
+Sun Jan  4 05:29:38 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-uu.el: Changed spurious defconsts to defvars.
+
+       * nnmail.el (nnmail-get-spool-files): Quote group name.
+
+       * gnus-agent.el (gnus-agent-fetch-group-1): Fetch ticked articles.
+       (gnus-agent-fetch-group-1): Never mind.
+
+Sat Dec 20 22:33:17 1997  Pete Ware  <ware@cis.ohio-state.edu>
+
+       * message.el (message-rename-buffer): Check for nil dirs.
+
+Fri Dec 19 21:45:59 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnml.el (nnml-request-create-group): Check for files.
+
+Fri Dec 19 21:39:43 1997  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * message.el (message-mode): Fixed font-lock.
+
+Fri Dec 19 21:26:08 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-cache.el (gnus-cache-read-active): Check for empty files.
+
+Sun Dec 14 11:46:50 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-uu.el (gnus-uu-save-article): Quote all lines beginning
+       with a dash.
+
+1997-12-10  SL Baur  <steve@altair.xemacs.org>
+
+       * gnus-start.el (gnus-read-descriptions-file): Really bind and gag
+       Mule.
+
+Fri Dec  5 15:15:05 1997  Danny Siu  <dsiu@adobe.com>
+
+       * nndoc.el (nndoc-babyl-body-begin): quote the regexp for the
+       string "*** EOOH ***" properly.
+       (nndoc-babyl-head-begin): Same as above.
+
+Sun Dec 14 11:11:22 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-uu.el (gnus-uu-pre-uudecode-hook): New hook.
+
+       * gnus-sum.el (gnus-summary-read-group-1): Set mode line after
+       configuring.
+
+Sun Dec 14 11:03:26 1997  Wes Hardaker  <wjhardaker@ucdavis.edu>
+
+       * gnus-score.el (gnus-adaptive-word-minimum): New variable.
+       (gnus-score-adaptive): Use it.
+
+Sun Dec 14 09:19:18 1997  Roland B. Roberts  <roberts@panix.com>
+
+       * gnus-group.el: Fixed hardcoded levels.
+
+Sat Dec  6 17:40:33 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.18 is released.
+
+Sat Dec  6 17:27:04 1997  Kim-Minh Kaplan  <KimMinh.Kaplan@Utopia.EUnet.fr>
+
+       * gnus-picon.el (gnus-picons-remove): Race condition.
+
+Sat Dec  6 17:23:26 1997  Christian von Roques  <roques@scalar.pond.sub.org>
+
+       * gnus-start.el (gnus-read-descriptions-file): Fix
+       enable-multibyte-characters.
+
+1997-12-05  Dave Love  <d.love@dl.ac.uk>
+
+       * gnus-nocem.el (gnus-nocem-message-wanted-p): Fix paren typpo.
+       (gnus-nocem-issuers): Allow sexp alternative in :type for alists.
+
+1997-12-05  Dave Love  <d.love@dl.ac.uk>
+
+       * gnus-art.el (gnus-visible-headers): Add X-sent:.
+
+Sat Dec  6 17:16:28 1997  Lars Balker Rasmussen  <lbr@mjolner.dk>
+
+       * gnus-art.el (article-make-date-line): Don't add extra newlines.
+
+1997-11-27  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * nnmail.el (nnmail-file-coding-system): Use `raw-text' in
+       default.
+
+       * nnheader.el (nnheader-file-coding-system): Use `raw-text' in
+       default.
+
+Sat Dec  6 17:04:40 1997  Kim-Minh Kaplan  <KimMinh.Kaplan@utopia.eunet.fr>
+
+       * nnml.el (nnml-parse-head): Out-of-bounds fix.
+
+       * nndraft.el (nndraft-request-associate-buffer): Get proper file
+       name.
+
+Sat Dec  6 15:35:37 1997  Gary D. Foster  <Gary.Foster@Corp.Sun.COM>
+
+       * gnus-group.el: Added backspace.
+
+Thu Nov 27 19:56:59 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-summary-set-agent-mark): Remove marks
+       properly.
+
+1997-11-27  Christoph Wedler  <wedler@fmi.uni-passau.de>
+
+       * smiley.el (smiley-buffer): Provide `help-echo'.
+
+Thu Nov 27 17:33:45 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-util.el (gnus-output-to-rmail): Always save buffer.
+
+       * nntp.el (nntp-close-server): Don't sleep for me, Argentina.
+       (nntp-request-close): You neither.
+
+1997-11-19  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * message.el (message-header-lines): New widget.
+       (message-default-headers): Use it.
+       (message-default-mail-headers): Use it.
+       (message-default-news-headers): Use it.
+
+1997-11-24  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * gnus-start.el (gnus-read-descriptions-file): Add missing quote.
+
+Wed Nov 26 18:19:29 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnweb.el (nnweb-type-definition): Rescued dejanewsold.
+
+       * gnus-mh.el (gnus-summary-save-in-folder): Reverted to old
+       version.
+
+       * gnus-sum.el (gnus-kill-or-deaden-summary): Save excursion.
+
+       * gnus.el: Only require gnus-load in Emacsen 19.
+
+       * gnus-start.el (gnus-setup-news): Always push archive server.
+
+       * gnus-sum.el (gnus-read-header): Would bug out on sparse
+       articles.
+
+Wed Nov 26 17:50:41 1997  Kurt Swanson  <kurt@dna.lth.se>
+
+       * gnus-ems.el (gnus-mule-cite-add-face): Work.
+
+Wed Nov 26 17:40:57 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.17 is released.
+
+Wed Nov 26 16:04:25 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-move-article): Don't work on canceled
+       articles.
+
+       * gnus-start.el (gnus-subscribe-hierarchical-interactive): Use
+       `read-char-exclusive'.
+
+       * gnus-sum.el (gnus-summary-mode): Localize
+       gnus-summary-dummy-line-format.
+
+       * nnml.el (nnml-open-nov): Check that the file exists before
+       inserting it.
+
+       * gnus-art.el (article-date-ut): Insert a newline if needed.
+
+       * gnus-score.el (gnus-score-edit-current-scores): Protect against
+       nil score files.
+
+       * gnus-start.el (gnus-newsrc-parse-options): Be more correct --
+       match only hierarchies.
+       (gnus-gnus-to-quick-newsrc-format): Changed warning.
+
+Wed Nov 26 15:47:40 1997  Greg Klanderman  <greg@alphatech.com>
+
+       * messagexmas.el (message-xmas-maybe-fontify): New definition.
+
+Wed Nov 26 15:43:53 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-start.el (gnus-setup-news): Protect against nil
+       gnus-message-archive-method.
+
+1997-11-26  Christoph Wedler  <wedler@fmi.uni-passau.de>
+
+       * gnus-art.el (gnus-article-edit-done): Update headers "Lines:",
+       "Content-Length:" and "X-Content-Length:" when present.
+
+Wed Nov 26 15:08:17 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnmail.el (nnmail-process-unix-mail-format): Pop to the right
+       buffer on error.
+       (nnmail-process-mmdf-mail-format): Ditto.
+
+Wed Nov 26 13:54:04 1997  Joe Reiss  <jreiss@sprynet.com>
+
+       * gnus-art.el (gnus-summary-save-in-rmail): Return the name of the
+       file.
+
+Wed Nov 26 13:50:01 1997  Alastair Burt <alastair.burt@dfki.de>
+
+       * smiley.el: Balloon help, etc.
+
+Wed Nov 26 13:45:35 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-util.el (gnus-kill-all-overlays): Remove check for XEmacs.
+
+1997-09-30  Dave Love  <d.love@dl.ac.uk>
+
+       * message.el: Don't require rmail.
+
+Wed Nov 26 13:37:50 1997  Kurt Swanson  <kurt@dna.lth.se>
+
+       * gnus-group.el (gnus-group-setup-buffer): set-buffer.
+
+Wed Nov 26 13:31:54 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-score.el (gnus-score-load-file): Don't create empty score
+       files when doing decays.
+
+Wed Nov 26 13:28:04 1997  Renaud Rioboo  <rioboo@calfor.lip6.fr>
+
+       * nnmail.el (nnmail-move-inbox): Only bind default-directory when
+       calling external function.
+
+Wed Nov 26 13:03:45 1997  IWAMURO Motonori  <iwa@mmp.fujitsu.co.jp>
+
+       * gnus-kill.el (gnus-batch-score): Newsrc thinko.
+
+Wed Nov 26 10:31:17 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnheader.el (nnheader-parse-head): Would break on Message-ID's
+       that spanned several lines.
+
+       * gnus-util.el (gnus-date-iso8601): Didn't pick out the date
+       header.
+
+       * gnus-demon.el (gnus-demon-scan-mail): Clean inboxes.
+
+1997-11-25  Christoph Wedler  <wedler@fmi.uni-passau.de>
+
+       * gnus-picon.el (gnus-picons-x-face-sentinel): Would bug out in
+       headers with two X-Face lines.
+
+Wed Nov 26 08:54:26 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-update-info): Would use wrong group
+       name.
+
+1997-11-26  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * gnus-spec.el (gnus-compile): Avoid multiple `c*addr's.
+       (gnus-compile): Require `bytecomp'.
+
+1997-11-25  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * gnus-util.el (gnus-prin1): Bind `print-readably' to t.
+
+       * gnus-xmas.el (gnus-xmas-kill-all-overlays): New function.
+       (gnus-xmas-define): Use it.
+
+       * gnus-art.el (gnus-stop-date-timer): Use `nnheader-cancel-timer'.
+
+       * message.el (message-header-lines): Specify format.
+
+       * gnus-xmas.el (gnus-xmas-move-overlay): Use BUFFER.
+       (gnus-byte-code): Use `indirect-function'.
+
+       * gnus-cite.el (gnus-cite-add-face): Would assign free variable.
+
+Wed Nov 26 08:31:28 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (gnus-stop-date-timer): Cancel instead of delete.
+       (gnus-start-date-timer): Use the numerical prefix.
+
+Tue Nov 25 20:03:34 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-draft.el (gnus-group-send-drafts): Activate group first.
+
+Tue Nov 25 19:57:55 1997  Dan Christensen  <jdc@chow.mat.jhu.edu>
+
+       * gnus-group.el (gnus-group-process-prefix): Skip topics.
+
+Tue Nov 25 19:54:00 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-move.el (gnus-move-group-to-server): Protect agains
+       nil-ness.
+
+Tue Nov 25 19:03:38 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.16 is released.
+
+Tue Nov 25 16:05:01 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-read-header): Remove thread entry before
+       rebuilding.
+
+       * gnus-cite.el (gnus-cite-add-face): Keep track of all overlays.
+
+       * gnus-art.el (article-update-date-lapsed): New function.
+       (gnus-start-date-timer): New command.
+       (article-date-ut): Put the face in the right place.
+       (article-date-ut): Would move around.
+
+       * gnus-group.el (gnus-group-read-ephemeral-group): Accept server
+       names.
+
+       * gnus-srvr.el (gnus-browse-foreign-server): Use proper server
+       names.
+
+       * gnus.el (gnus-group-prefixed-name): Give the right result for
+       native groups.
+
+       * nnheader.el (nnheader-directory-files): New function.
+
+       * nnmh.el (nnmh-request-list-1): Reversed check.
+
+       * nnfolder.el (nnfolder-delete-mail): Would skip backwards one
+       line too much.
+
+Tue Nov 25 14:44:02 1997  SeokChan LEE  <chan@xfer.kren.nm.kr>
+
+       * message.el (message-ignored-supersedes-headers): Typo.
+
+Mon Nov 24 18:46:37 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.15 is released.
+
+Mon Nov 24 18:07:21 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-ems.el: Also check major version names.
+
+1997-10-05  SL Baur  <steve@altair.xemacs.org>
+
+       * message.el (require 'rmail): Put guard around.
+       * nnbabyl.el (require 'rmail): Ditto.
+
+Mon Nov 24 17:36:00 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-reply): Respect Mail-Copies-To even when
+       `to-address'.
+
+Mon Nov 24 17:32:47 1997  Thor Kristoffersen  <thor@unik.no>
+
+       * nntp.el (nntp-request-close): Sleep one second.
+
+Mon Nov 24 16:18:19 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-read-group-1): Update marks when not
+       entering group.
+
+       * gnus-start.el (gnus-setup-news): Get correct value of archive
+       server.
+
+Wed Oct  8 20:29:35 1997  Robert Bihlmeyer  <robbe@orcus.priv.at>
+
+       * message.el (message-make-organization): Don't let the
+       environment variable override a user-set organization.
+
+Mon Nov 24 14:09:00 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnml.el (nnml-open-nov): Don't use find-file.
+
+       * gnus-sum.el (gnus-last-newsgroup-variables-set): New variable.
+       (gnus-set-global-variables): Don't do to much; gets run off of
+       pre-command-hook.
+       Got rid of gnus-set-global-variables throughout.
+       (gnus-summary-exit): Update adaptive scoring here.
+       (gnus-summary-isearch-article): Widen.
+
+       * nnml.el (nnml-parse-head): Work in empty buffers.
+
+1997-10-14  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * gnus-xmas.el (gnus-xmas-group-startup-message): Check for image
+       formats correctly.
+       (gnus-xmas-modeline-glyph): Ditto.
+
+Mon Nov 24 13:58:12 1997  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * gnus-spec.el (gnus-compile): Work under XEmacs.
+
+Mon Nov 24 07:15:45 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnoo.el (nnoo-change-server): Push the right parent packend onto
+       the alist.
+
+Sun Nov 23 16:21:41 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.14 is released.
+
+Sun Nov 23 14:04:07 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-start.el (gnus-read-descriptions-file): Make sure Mule is
+       bound.  And gagged.
+
+       * message.el (message-send-mail-with-mh): Use
+       `mh-new-draft-name'.
+
+       * nnfolder.el (nnfolder-read-folder): Save new buffers.
+
+       * gnus-sum.el (gnus-summary-make-menu-bar): Removed "write to
+       file".
+
+       * gnus-util.el (gnus-byte-code): Use indirect-function.
+
+       * nntp.el (nntp-open-telnet): Also accept 201.
+
+       * gnus-sum.el (gnus-summary-reparent-thread): Update thread.
+
+       * gnus-score.el (gnus-all-score-files): Don't do anything unless
+       GROUP.
+
+       * nnmail.el (nnmail-split-it): Save-excursion.
+       (nnmail-group-pathname): Translate file chars.
+
+Sun Nov 23 13:41:10 1997  Gunnar Horrigmo  <horrigmo@online.no>
+
+       * gnus-sum.el (gnus-summary-exit): Don't skip if group
+       disappeared.
+
+Sun Nov 23 13:32:55 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnfolder.el (nnfolder-normalize-buffer): New function.
+       (nnfolder-save-mail): Use it.
+       (nnfolder-request-replace-article): Ditto.
+
+1997-11-19  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * message.el (message-header-lines): New widget.
+       (message-default-headers): Use it.
+       (message-default-mail-headers): Use it.
+       (message-default-news-headers): Use it.
+
+Sun Nov 23 12:44:38 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-win.el (gnus-remove-some-windows): Also delete dead summary
+       windows.
+
+       * gnus-score.el (gnus-score-adaptive): Check whether functions are
+       bound.
+
+Sun Nov 23 12:15:00 1997  Hallvard B. Furuseth  <h.b.furuseth@usit.uio.no>
+
+       * gnus-sum.el (gnus-summary-limit-include-thread): Interactive
+       fix.
+
+Sun Nov 23 07:06:58 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-reparent-thread): Insert Message-ID in
+       proper place.
+
+Sat Nov 22 18:30:33 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-cus.el (gnus-group-parameters): Add visible.
+
+Sat Nov 22 18:19:39 1997  Kim-Minh Kaplan  <kkaplan@lpthe.jussieu.fr>
+
+       * message.el (message-setup): Add a newline, if necessary.
+
+Sat Nov 22 18:04:34 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-mh.el (gnus-summary-save-in-folder): Fix for default.
+
+Sat Nov 22 18:01:26 1997  Didier Verna  <verna@inf.enst.fr>
+
+       * gnus-sum.el (gnus-summary-remove-bookmark): Interactive spec.
+
+Mon Nov 17 23:50:51 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (article-display-x-face): Fold case.
+
+Thu Nov 13 22:57:23 1997  Kenichi Handa  <handa@etl.go.jp>
+
+       * gnus/gnus-start.el (gnus-read-descriptions-file): Decode
+       description if necessary.
+
+       * gnus/nntp.el (nntp-coding-system-for-read): Set default value to
+       binary.
+       (nntp-coding-system-for-write): Likewise.
+
+Thu Nov 13 22:30:19 1997  seokchan lee  <chan@xfer.kren.nm.kr>
+
+       * message.el (message-ignored-supersedes-headers): Ignore more
+       headers.
+
+Thu Nov 13 22:28:13 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-separator-face): Lightened up.
+       (message-header-other-face): Ditto.
+
+Thu Nov 13 22:22:11 1997  jari aalto  <jari.aalto@poboxes.com>
+
+       * nnmail.el (nnmail-process-mmdf-mail-format): Pop to buffer.
+
+Thu Nov 13 22:09:39 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-start.el (gnus-start-draft-setup): Always create group.
+
+       * gnus-agent.el (gnus-agent-fetch-headers): Translate file chars.
+
+Thu Nov  6 20:43:05 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.13 is released.
+
+Thu Nov  6 20:30:14 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnlistserv.el: New backend.
+
+Thu Nov  6 01:53:51 1997  Stefan Waldherr  <swa@cs.cmu.edu>
+
+       * nnweb.el (nnweb-dejanewsold-search): New function.
+
+Thu Nov  6 01:52:43 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-topic.el (gnus-topic-change-level): Really delete multiple
+       instances.
+
+Wed Nov  5 14:04:54 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-topic.el (gnus-topic-update-topic-line): Possibly fix nil
+       numbers.
+
+       * gnus-sum.el (gnus-summary-show-article): New command and
+       keystroke.
+
+Tue Nov  4 06:29:58 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-score.el (gnus-score-adaptive): Use the home score file.
+
+Sat Oct 25 05:52:22 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (gnus-article-save): Hide headers in the right
+       buffer.
+
+       * gnus-picon.el (gnus-picons-xbm-face): New face.
+
+Sat Oct 25 00:39:42 1997  Lars Balker Rasmussen  <lbr@mjolner.dk>
+
+       * gnus-art.el (gnus-article-fill-paragraph): New command and
+       keystroke.
+
+1997-10-16  Colin Rafferty  <craffert@ml.com>
+
+       * message.el (message-make-fqdn): Made certain that user-mail is
+                 not nil.
+
+Sat Oct 25 00:18:32 1997  David S. Goldberg  <dsg@linus.mitre.org>
+
+       * gnus-art.el (article-hide-boring-headers): Use many-to.
+
+Fri Oct 24 23:48:39 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-picon.el (gnus-picons-display-pairs): Don't add two bars.
+       (gnus-picons-try-face): Set the foreground color on the bar.
+       (gnus-picons-group-exluded-groups): New variable.
+       (gnus-group-display-picons): Use it.
+
+Mon Oct 13 00:01:35 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-group-path): Translate file chars.
+       (gnus-agent-batch-fetch): New command.
+       (gnus-agent-fetch-group): Message.
+
+Sun Oct 12 23:54:55 1997  ISO-2022-JP  <ichikawa@hv.epson.co.jp>
+
+       * gnus-agent.el (gnus-agent-article-file-coding-system): New
+       variable.
+
+Sun Oct 12 16:46:11 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * dgnushack.el (lpath): Reversed.
+
+       * gnus-msg.el (gnus-summary-cancel-article): Use sym prefix.
+
+       * gnus-art.el (article-translate-characters): New function.
+       (article-treat-dumbquotes): New command and keystroke.
+
+Sun Oct  5 20:09:31 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (gnus-button-alist): No ' and " in News:.
+
+       * gnus-msg.el (gnus-inews-insert-archive-gcc): Comp warn.
+
+Sat Oct  4 00:53:55 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.12 is released.
+
+Sat Oct  4 00:16:39 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.el (gnus-plugged): Moved here.
+
+       * nnmail.el (nnmail-delete-incoming): Changed default to nil.
+
+       * gnus-int.el (gnus-request-scan): Don't do anything if
+       unplugged.
+
+Fri Oct  3 21:09:19 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (gnus-ignored-headers): Doc fix.
+
+       * gnus-demon.el (gnus-demon-add-nntp-close-connection): New
+       function.
+       (gnus-demon-nntp-close-connection): Ditto.
+
+       * nntp.el (nntp-last-command-time): New variable.
+       (nntp-retrieve-data): Use it.
+
+       * message.el (message-news-p): Messages with Posted-To aren't
+       news.
+       (message-mode): Heed message-yank-prefix when filling.
+
+       * nndraft.el (nndraft-request-restore-buffer): Remove Xrefs and
+       Lines headers.
+
+       * nntp.el (nntp-encode-text): Encode according to RFC977.
+
+Wed Oct  1 18:27:26 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-msg.el (gnus-inews-insert-archive-gcc): gcc-self didn't
+       work if `gnus-message-archive-method' was nil.
+
+       * nnmail.el (nnmail-article-group): Allow \\1 substitution.
+
+Sat Sep 27 12:57:44 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-salt.el (gnus-pick-mouse-pick-region): Use it.
+
+       * gnus-xmas.el (gnus-xmas-window-edges): New function.
+
+       * gnus-score.el (gnus-score-edit-current-scores): Don't select
+       window.
+
+Sat Sep 27 12:52:31 1997  Hallvard B. Furuseth  <h.b.furuseth@usit.uio.no>
+
+       * messcompat.el ((boundp 'mail-mode-hook)): Check.
+
+Sat Sep 27 09:22:15 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nndraft.el (nndraft-possibly-change-group): Always open server.
+
+       * gnus-sum.el (gnus-summary-pop-article): Force.
+
+       * gnus-art.el (gnus-article-prepare): Push the article onto the
+       history.
+
+       * gnus-sum.el (gnus-summary-pop-article): Pop to the right
+       article.
+
+       * gnus-demon.el (gnus-demon-scan-news): Save excursion.
+
+Sat Sep 27 09:06:55 1997  Hallvard B. Furuseth  <h.b.furuseth@usit.uio.no>
+
+       * gnus-cache.el (gnus-summary-limit-include-cached): New command
+       and keystroke.
+
+Sat Sep 27 06:45:58 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-uu.el (gnus-uu-invert-processable): Make interactive.
+
+Sat Sep 27 06:43:38 1997  Kim-Minh Kaplan  <kimminh.kaplan@utopia.eunet.fr>
+
+       * gnus-picon.el: Doc fixes.
+
+1997-09-23  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * gnus.el: Removed definition of `custom-face-lookup'.
+
+Sat Sep 27 05:36:11 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nndraft.el: Would block nnmh.
+
+       * gnus-sum.el (gnus-mark-article-as-unread): Don't allow marking
+       negative articles.
+
+       * gnus-group.el (gnus-fetch-group): Use `gnus-no-server'.
+
+       * gnus-agent.el (gnus-agent-with-fetch): Moved.
+
+       * gnus-sum.el (gnus-nov-read-integer): Really skip to next field.
+
+Sat Sep 27 04:32:45 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.11 is released.
+
+Sat Sep 27 03:50:12 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-send): Post without asking.
+       (message-mode): Modify paragraphs-start and paragraph-separate.
+       (message-newline-and-reformat): New command and keystroke.
+
+Thu Sep 25 00:13:41 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnmail.el (nnmail-activate): Init server buffer.
+
+Wed Sep 24 04:11:59 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-draft.el (gnus-draft-setup): Inexplicable binding problem
+       worked around.
+
+       * nnsoup.el (nnsoup-always-save): Renamed.
+
+Wed Sep 24 04:11:02 1997  Nelson Jose dos Santos Ferreira  <Nelson.Ferreira@inesc.pt>
+
+       * nnsoup.el (nnsoup-commit-reply-now): New variable.
+       (nnsoup-store-reply): Use it.
+
+Wed Sep 24 02:30:44 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-ems.el (gnus-deactivate-mark): New alias.
+
+Tue Sep 23 07:56:07 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.el: Win-away!
+
+       * gnus-msg.el (gnus-setup-message): Don't trust make-symbol.
+
+Tue Sep 23 07:45:11 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.10 is released.
+
+Tue Sep 23 01:41:04 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-read-all-headers): New function.
+       (gnus-select-newsgroup): Use it.
+       (gnus-summary-refer-thread): Ditto.
+       (gnus-refer-thread-limit): New variable.
+       (gnus-summary-refer-thread): Use it.
+
+       * gnus-nocem.el (gnus-nocem-message-wanted-p): New function.
+       (gnus-nocem-check-article): Use it.
+       (gnus-nocem-issuers): Dox ofx.
+
+       * dgnushack.el (dgnushack-compile): Check for cus-edit.
+
+       * message.el (message-included-forward-headers): Include Mime
+       headers.
+       (message-send): Allow posting without confirming from Agent.
+
+Mon Sep 22 05:43:14 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * dgnushack.el (byte-compile-warnings): Don't warn about obsolete
+       variables.
+
+       * gnus-sum.el (gnus-summary-refer-thread): New command and
+       keystroke.
+       (gnus-summary-limit-include-thread): New command and keystroke.
+       (gnus-summary-articles-in-thread): New function.
+       (gnus-articles-in-thread): Renamed.
+
+Sun Sep 21 23:54:50 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.9 is released.
+
+Sun Sep 21 23:38:46 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.el (gnus-splash-face): ForestGreen everywhere.
+
+       * gnus-sum.el (gnus-simplify-subject-fully): Use new variable.
+       (gnus-general-simplify-subject): Ditto.
+
+Sun Sep 21 23:34:13 1997  Kurt Swanson  <kurt@dna.lth.se>
+
+       * gnus-sum.el (gnus-simplify-subject-functions): New variable.
+       (gnus-simplify-whitespace): New function.
+
+       * gnus-util.el (gnus-map-function): New function.
+
+Sun Sep 21 23:22:04 1997  Michelangelo Grigni  <mic@mathcs.emory.edu>
+
+       * gnus-score.el (gnus-score-regexp-bad-p): New function.
+
+Sun Sep 21 00:14:40 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-score.el (gnus-summary-lower-score): Use sym pref.
+       (gnus-summary-increase-score): Use it.
+
+       * gnus.el (gnus-current-prefix-symbol): New variable.
+       (gnus-current-prefix-symbols): New variable.
+
+       * gnus-score.el (gnus-summary-increase-score): Take symbolic
+       prefix.
+
+       * gnus.el (gnus-interactive): Removed.
+       (gnus-interactive): Renamed from gnus-interactive-1.
+       (gnus-symbolic-argument): New command.
+
+       * gnus-draft.el (gnus-draft-send-message): Disable message
+       checks.
+       (gnus-draft-send): Ditto.
+       (gnus-draft-setup): Don't save buffer.
+
+       * dgnushack.el (dgnushack-compile): Warn people about Custom.
+
+       * gnus-group.el (gnus-group-iterate): Use gensymmed variables.
+
+       * pop3.el (pop3-md5): `with-temp-buffer' doesn't exist in Emacs
+       19.34.
+
+       * nneething.el (nneething-directory): Defvarred.
+
+       * message.el: Autoloaded nndraft things.
+       (message-set-auto-save-file-name): Use it.
+
+       * dgnushack.el (dgnushack-compile): Warn about things.
+
+       * gnus-art.el: Autoload w3-region.
+
+       * gnus-vm.el (gnus-summary-save-in-vm): Simplified.
+
+       * gnus.el: Changed `compiled-function-p' to `byte-code-function-p'
+       throughout.
+
+       * gnus-sum.el (gnus-summary-edit-article): Supply additional
+       param.
+
+       * gnus-group.el (gnus-group-iterate): Undo bogus change.
+
+       * gnus-agent.el (gnus-agentize): Just call gnus-open-agent
+       directly.
+
+       * gnus.el (gnus-interactive): New macro.
+       (gnus-interactive-1): New function.
+
+       * gnus-sum.el (gnus-fetch-old-headers): Allow `invisible'.
+       (gnus-cut-thread): Use it.
+       (gnus-cut-threads): Ditto.
+       (gnus-summary-initial-limit): Ditto.
+       (gnus-summary-limit-children): Ditto.
+
+       * gnus-art.el (gnus-article-edit-done): Accept a prefix arg.
+       (gnus-boring-article-headers): Allow `long-to' param.
+       (article-hide-boring-headers): Use it.
+
+       * gnus-sum.el (gnus-summary-edit-article-done): Accept a
+       no-highlight param.
+
+       * nntp.el (nntp-rlogin-program): New variable.
+       (nntp-open-rlogin): Use it.
+
+       * nnvirtual.el (nnvirtual-request-post): New function.
+
+       * gnus-msg.el (gnus-message-group-art): New variable.
+
+       * gnus-draft.el (gnus-draft-setup): Don't use message-setup.
+
+       * nndraft.el (nndraft): Allow editing articles.
+
+       * gnus-ems.el (gnus-x-splash): Ditto.
+
+       * gnus.el (gnus-splash-face): Darker face.
+
+       * gnus-draft.el (gnus-draft-setup): Clobbered variables.
+
+Sat Sep 20 23:23:49 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.8 is released.
+
+Sat Sep 20 20:41:16 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-start.el (gnus-setup-news-hook): New hook.
+
+       * gnus-agent.el (gnus-agentize): Really set up queue group.
+       (gnus-open-agent): Setup queue here.
+
+Sat Sep 20 20:23:07 1997  Matt Simmons  <simmonmt@acm.org>
+
+       * message.el (message-set-auto-save-file-name): Make things work
+       without drafts.
+
+Sat Sep 20 18:32:02 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnmh.el (nnmh-request-list-1): Check for links to ".".
+
+       * nndraft.el (nndraft-possibly-change-group): New function.
+
+       * gnus-agent.el (gnus-agent-queue-setup): New function.
+
+Thu Sep 18 04:54:59 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.7 is released.
+
+Thu Sep 18 03:33:54 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-msg.el (gnus-setup-message): Slap a progn around forms.
+
+       * nndraft.el (nndraft-articles): Make sure directory exists.
+
+       * message.el (message-mode): Don't delete article.
+
+       * nnmh.el (nnmh-request-accept-article): Don't save when
+       noinsert.
+
+Wed Sep 17 03:37:59 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nndraft.el (nndraft-directory): Changed defaults.
+
+       * gnus-agent.el (gnus-agent-fetch-session): Bind command method.
+
+Wed Sep 17 03:28:36 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.6 is released.
+
+1997-08-17  SL Baur  <steve@altair.xemacs.org>
+
+       * dgnushack.el (dgnushack-compile): Ignore .el files beginning
+       with an `=' character.
+
+Wed Sep 17 02:30:04 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-build-sparse-threads): Allow display of looped
+       References.
+
+       * gnus-agent.el (gnus-agent-fetch-group-1): Separated out into
+       function.
+
+       * message.el (message-delete-not-region): New command and
+       keystroke.
+
+Tue Sep 16 00:58:26 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nndraft.el (nndraft-directory): Changed value.
+
+       * message.el (message-kill-buffer): Disassociate draft.
+       (message-mode): Use kill hook to disassociate.
+       (message-disassociate-draft): Double-check.
+
+       * gnus-agent.el (gnus-agentize): Don't set twice.
+
+       * gnus-art.el (gnus-article-prepare): Go to the right line before
+       marking.
+
+       * gnus-start.el: Renamed the drafts group.
+
+       * gnus-agent.el (gnus-agent-lib-file): Changed name of directory.
+
+       * gnus-draft.el (gnus-draft-mode): Simplify.
+
+Tue Sep 16 00:18:11 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.5 is released.
+
+Mon Sep 15 00:53:50 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-alter-header-function): New variable.
+       (gnus-nov-parse-line): Use it.
+       (gnus-get-newsgroup-headers): Ditto.
+
+       * gnus-draft.el (gnus-group-send-drafts): Don't send when
+       unplugged.
+
+       * gnus-sum.el (gnus-summary-read-group): Don't show-all when
+       skipping groups.
+
+       * gnus-start.el (gnus-start-draft-setup): Changed name.
+
+Mon Sep 15 00:40:09 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.4 is released.
+
+Mon Sep 15 00:19:07 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-goto-article): Accept Message-ID's.
+
+Sun Sep 14 21:41:35 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-group-make-articles-read): No params.
+
+       * nndraft.el (nndraft-status-string): Fix.
+
+       * gnus-draft.el (gnus-group-send-drafts): New command.
+
+       * gnus-sum.el (gnus-compute-read-articles): Separated.
+       (gnus-update-read-articles): Allow computation.
+
+       * nndraft.el (nndraft-articles): New function.
+
+       * message.el (message-send): Disabled test.
+
+Sun Sep 14 21:17:34 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.3 is released.
+
+Sun Sep 14 01:51:45 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-agent.el (gnus-agent-short-article): New variables.
+
+       * message.el (message-set-auto-save-file-name): Use drafts.
+
+       * nndraft.el (nndraft-request-expire-articles): Use it.
+
+       * nnmh.el (nnmh-deletable-article-p): Change.
+       (nnmh-allow-delete-final): New variable.
+
+       * gnus-msg.el (gnus-summary-send-draft): Removed.
+
+       * gnus.el (gnus-article-mark-lists): Save unsendable marks.
+
+       * gnus-sum.el (gnus-newsgroup-unsendable): New variable.
+
+       * gnus-draft.el: New file.
+
+       * gnus-sum.el (gnus-unsendable-mark): New variable.
+
+       * nndraft.el (nndraft-execute-nnmh-command): Cleanup.
+
+       * message.el (message-send-news): Use `gnus-request-post'.
 
 
-       * qp.el (quoted-printable-decode-region): Don't use hexl.
+       * gnus-agent.el (gnus-agentize): New command.
 
 
-       * gnus-xmas.el (gnus-xmas-logo-color-style): Changed to dino.
+       * gnus-bcklg.el (gnus-backlog-remove-article): Remove the ident
+       from the list.
 
 
-       * gnus-sum.el (gnus-parse-headers-hook): Default to nil.
-       (gnus-structured-field-decoder): Removed.
-       (gnus-unstructured-field-decoder): Ditto.
+Sun Sep 14 00:26:47 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
-       * mm-decode.el: New file.
+       * gnus.el: Quassia Gnus v0.2 is released.
 
 
-       * qp.el: New file.
+Sun Sep 14 00:24:52 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
 
-       * gnus-art.el (article-mime-decode-quoted-printable): Removed.
+       * gnus-score.el (gnus-score-headers): Make sure the summary buffer
+       exists.
 
 
-       * gnus-ems.el (fboundp): Removed gnus-split-string.
+Sat Sep 13 23:35:28 1997  Greg Stark  <gsstark@mit.edu>
 
 
-       * gnus.el (gnus-splash-face): Doc fix.
+       * gnus-ems.el (gnus-x-splash): New function.
 
 
-       * gnus-ems.el (fboundp): Don't bind mail-file-babyl-p.
+Sat Sep 13 22:46:16 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
 
-       * gnus-art.el (article-mime-decode-quoted-printable): Don't use
-       hexl. 
+       * gnus-start.el (gnus-1): Use it.
 
 
-       * nnheader.el (nnheader-temp-write): Removed.
+       * gnus-ems.el (gnus-decode-coding-string): New alias.
 
 
-Sat Aug 29 20:34:17 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+       * message.el (message-unix-mail-delimiter): Dox fox.
 
 
-       * gnus.el: Gnus v0.3 is released.
+       * nnmh.el (nnmh-request-list-1): Don't use coding system.
 
 
-Sat Aug 29 19:32:06 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+       * gnus-sum.el (gnus-summary-catchup): Reverse logic.
 
 
-       * gnus.el: Gnus v0.2 is released.
+Sat Sep 13 21:21:38 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 
+       * gnus.el: Quassia Gnus v0.1 is released.
index 3c2df6e..aaa700b 100644 (file)
@@ -27,8 +27,7 @@
 (require 'gnus-cache)
 (require 'nnvirtual)
 (require 'gnus-sum)
 (require 'gnus-cache)
 (require 'nnvirtual)
 (require 'gnus-sum)
-(eval-when-compile (require 'cl)
-                  (require 'gnus-score))
+(eval-when-compile (require 'cl))
 
 (defcustom gnus-agent-directory (nnheader-concat gnus-directory "agent/")
   "Where the Gnus agent will store its files."
 
 (defcustom gnus-agent-directory (nnheader-concat gnus-directory "agent/")
   "Where the Gnus agent will store its files."
@@ -78,6 +77,8 @@ If nil, only read articles will be expired."
 
 ;;; Internal variables
 
 
 ;;; Internal variables
 
+(defvar gnus-agent-meta-information-header "X-Gnus-Agent-Meta-Information")
+
 (defvar gnus-agent-history-buffers nil)
 (defvar gnus-agent-buffer-alist nil)
 (defvar gnus-agent-article-alist nil)
 (defvar gnus-agent-history-buffers nil)
 (defvar gnus-agent-buffer-alist nil)
 (defvar gnus-agent-article-alist nil)
@@ -93,13 +94,6 @@ If nil, only read articles will be expired."
 (defvar gnus-agent-send-mail-function nil)
 (defvar gnus-agent-article-file-coding-system 'no-conversion)
 
 (defvar gnus-agent-send-mail-function nil)
 (defvar gnus-agent-article-file-coding-system 'no-conversion)
 
-(defconst gnus-agent-scoreable-headers
-  (list
-   "subject" "from" "date" "message-id" 
-   "references" "chars" "lines" "xref")
-  "Headers that are considered when scoring articles
-for download via the Agent.")
-
 ;; Dynamic variables
 (defvar gnus-headers)
 (defvar gnus-score)
 ;; Dynamic variables
 (defvar gnus-headers)
 (defvar gnus-score)
@@ -133,7 +127,7 @@ for download via the Agent.")
 
 (defun gnus-agent-read-file (file)
   "Load FILE and do a `read' there."
 
 (defun gnus-agent-read-file (file)
   "Load FILE and do a `read' there."
-  (with-temp-buffer
+  (nnheader-temp-write nil
     (ignore-errors
       (nnheader-insert-file-contents file)
       (goto-char (point-min))
     (ignore-errors
       (nnheader-insert-file-contents file)
       (goto-char (point-min))
@@ -433,7 +427,7 @@ be a select method."
 
 (defun gnus-agent-write-servers ()
   "Write the alist of covered servers."
 
 (defun gnus-agent-write-servers ()
   "Write the alist of covered servers."
-  (with-temp-file (nnheader-concat gnus-agent-directory "lib/servers")
+  (nnheader-temp-write (nnheader-concat gnus-agent-directory "lib/servers")
     (prin1 gnus-agent-covered-methods (current-buffer))))
 
 ;;;
     (prin1 gnus-agent-covered-methods (current-buffer))))
 
 ;;;
@@ -543,7 +537,7 @@ the actual number of articles toggled is returned."
                     (gnus-agent-lib-file "active")
                   (gnus-agent-lib-file "groups"))))
       (gnus-make-directory (file-name-directory file))
                     (gnus-agent-lib-file "active")
                   (gnus-agent-lib-file "groups"))))
       (gnus-make-directory (file-name-directory file))
-      (with-temp-file file
+      (nnheader-temp-write file
        (when (file-exists-p file)
          (nnheader-insert-file-contents file))
        (goto-char (point-min))
        (when (file-exists-p file)
          (nnheader-insert-file-contents file))
        (goto-char (point-min))
@@ -660,7 +654,7 @@ the actual number of articles toggled is returned."
       (let ((dir (concat
                  (gnus-agent-directory)
                  (gnus-agent-group-path group) "/"))
       (let ((dir (concat
                  (gnus-agent-directory)
                  (gnus-agent-group-path group) "/"))
-           (date (time-to-day (current-time)))
+           (date (gnus-time-to-day (current-time)))
            (case-fold-search t)
            pos crosses id elem)
        (gnus-make-directory dir)
            (case-fold-search t)
            pos crosses id elem)
        (gnus-make-directory dir)
@@ -668,7 +662,7 @@ the actual number of articles toggled is returned."
        ;; Fetch the articles from the backend.
        (if (gnus-check-backend-function 'retrieve-articles group)
            (setq pos (gnus-retrieve-articles articles group))
        ;; Fetch the articles from the backend.
        (if (gnus-check-backend-function 'retrieve-articles group)
            (setq pos (gnus-retrieve-articles articles group))
-         (with-temp-file nil
+         (nnheader-temp-write nil
            (let (article)
              (while (setq article (pop articles))
                (when (gnus-request-article article group)
            (let (article)
              (while (setq article (pop articles))
                (when (gnus-request-article article group)
@@ -751,41 +745,41 @@ the actual number of articles toggled is returned."
                     nil 'silent)
       (pop gnus-agent-buffer-alist))
     (while gnus-agent-group-alist
                     nil 'silent)
       (pop gnus-agent-buffer-alist))
     (while gnus-agent-group-alist
-      (with-temp-file (caar gnus-agent-group-alist)
+      (nnheader-temp-write (caar gnus-agent-group-alist)
        (princ (cdar gnus-agent-group-alist))
        (insert "\n"))
       (pop gnus-agent-group-alist))))
 
 (defun gnus-agent-fetch-headers (group &optional force)
   (let ((articles (if (gnus-agent-load-alist group)   
        (princ (cdar gnus-agent-group-alist))
        (insert "\n"))
       (pop gnus-agent-group-alist))))
 
 (defun gnus-agent-fetch-headers (group &optional force)
   (let ((articles (if (gnus-agent-load-alist group)   
-                     (gnus-sorted-intersection
-                      (gnus-list-of-unread-articles group)
-                      (gnus-uncompress-range
-                       (cons (1+ (caar (last gnus-agent-article-alist)))
-                             (cdr (gnus-active group)))))
-                   (gnus-list-of-unread-articles group))))
+                     (gnus-sorted-intersection
+                      (gnus-list-of-unread-articles group)
+                      (gnus-uncompress-range
+                       (cons (1+ (caar (last gnus-agent-article-alist)))
+                             (cdr (gnus-active group)))))
+                   (gnus-list-of-unread-articles group))))
     ;; Fetch them.
     (when articles
       (gnus-message 7 "Fetching headers for %s..." group)
       (save-excursion
     ;; Fetch them.
     (when articles
       (gnus-message 7 "Fetching headers for %s..." group)
       (save-excursion
-       (set-buffer nntp-server-buffer)
-       (unless (eq 'nov (gnus-retrieve-headers articles group))
-         (nnvirtual-convert-headers))
-       ;; Save these headers for later processing.
-       (copy-to-buffer gnus-agent-overview-buffer (point-min) (point-max))
-       (let (file)
-         (when (file-exists-p
-                (setq file (gnus-agent-article-name ".overview" group)))
-           (gnus-agent-braid-nov group articles file))
-         (gnus-make-directory (nnheader-translate-file-chars
-                               (file-name-directory file)))
-         (write-region (point-min) (point-max) file nil 'silent)
-         (gnus-agent-save-alist group articles nil)
-         (gnus-agent-enter-history
-          "last-header-fetched-for-session"
-          (list (cons group (nth (- (length  articles) 1) articles)))
-          (time-to-day (current-time)))
-         articles)))))
+       (set-buffer nntp-server-buffer)
+       (unless (eq 'nov (gnus-retrieve-headers articles group))
+         (nnvirtual-convert-headers))
+       ;; Save these headers for later processing.
+       (copy-to-buffer gnus-agent-overview-buffer (point-min) (point-max))
+       (let (file)
+         (when (file-exists-p
+                (setq file (gnus-agent-article-name ".overview" group)))
+           (gnus-agent-braid-nov group articles file))
+         (gnus-make-directory (nnheader-translate-file-chars
+                               (file-name-directory file)))
+         (write-region (point-min) (point-max) file nil 'silent)
+         (gnus-agent-save-alist group articles nil)
+         (gnus-agent-enter-history
+          "last-header-fetched-for-session"
+          (list (cons group (nth (- (length  articles) 1) articles)))
+          (gnus-time-to-day (current-time)))
+         articles)))))
 
 (defsubst gnus-agent-copy-nov-line (article)
   (let (b e)
 
 (defsubst gnus-agent-copy-nov-line (article)
   (let (b e)
@@ -846,9 +840,9 @@ the actual number of articles toggled is returned."
 
 (defun gnus-agent-save-alist (group &optional articles state dir)
   "Save the article-state alist for GROUP."
 
 (defun gnus-agent-save-alist (group &optional articles state dir)
   "Save the article-state alist for GROUP."
-  (with-temp-file (if dir
-                     (concat dir ".agentview")
-                   (gnus-agent-article-name ".agentview" group))
+  (nnheader-temp-write (if dir
+                          (concat dir ".agentview")
+                        (gnus-agent-article-name ".agentview" group))
     (princ (setq gnus-agent-article-alist
                 (nconc gnus-agent-article-alist
                        (mapcar (lambda (article) (cons article state))
     (princ (setq gnus-agent-article-alist
                 (nconc gnus-agent-article-alist
                        (mapcar (lambda (article) (cons article state))
@@ -903,63 +897,27 @@ the actual number of articles toggled is returned."
       ;; Parse them and see which articles we want to fetch.
       (setq gnus-newsgroup-dependencies
            (make-vector (length articles) 0))
       ;; Parse them and see which articles we want to fetch.
       (setq gnus-newsgroup-dependencies
            (make-vector (length articles) 0))
-      ;; No need to call `gnus-get-newsgroup-headers-xover' with 
-      ;; the entire .overview for group as we still have the just
-      ;; downloaded headers in `gnus-agent-overview-buffer'.
-      (let ((nntp-server-buffer gnus-agent-overview-buffer))
-       (setq gnus-newsgroup-headers
-             (gnus-get-newsgroup-headers-xover articles nil nil group)))
+      (setq gnus-newsgroup-headers
+           (gnus-get-newsgroup-headers-xover articles nil nil group))
       (setq category (gnus-group-category group))
       (setq predicate
            (gnus-get-predicate 
             (or (gnus-group-get-parameter group 'agent-predicate)
                 (cadr category))))
       (setq category (gnus-group-category group))
       (setq predicate
            (gnus-get-predicate 
             (or (gnus-group-get-parameter group 'agent-predicate)
                 (cadr category))))
-      ;; Do we want to download everything, or nothing?
-      (if (or (eq (caaddr predicate) 'gnus-agent-true)
-             (eq (caaddr predicate) 'gnus-agent-false))
-         ;; Yes.
-         (setq arts (symbol-value 
-                     (cadr (assoc (caaddr predicate) 
-                                  '((gnus-agent-true articles)
-                                    (gnus-agent-false nil))))))
-       ;; No, we need to decide what we want.
-       (setq score-param
-             (let ((score-method (or 
-                                  (gnus-group-get-parameter group 'agent-score t)
-                                  (caddr category))))
-               (when score-method
-                 (require 'gnus-score)
-                 (if (eq score-method 'file)
-                     (let ((entries
-                            (gnus-score-load-files
-                             (gnus-all-score-files group)))
-                           list score-file)
-                       (while (setq list (car entries))
-                         (push (car list) score-file)
-                         (setq list (cdr list))
-                         (while list
-                           (when (member (caar list)
-                                         gnus-agent-scoreable-headers)
-                             (push (car list) score-file))
-                           (setq list (cdr list)))
-                         (setq score-param 
-                               (append score-param (list (nreverse score-file)))
-                               score-file nil entries (cdr entries)))
-                       (list score-param))
-                   (if (stringp (car score-method))
-                       score-method
-                     (list (list score-method)))))))
-       (when score-param
-         (gnus-score-headers score-param))
-       (setq arts nil)
-       (while (setq gnus-headers (pop gnus-newsgroup-headers))
-         (setq gnus-score
-               (or (cdr (assq (mail-header-number gnus-headers)
-                              gnus-newsgroup-scored))
-                   gnus-summary-default-score))
-         (when (funcall predicate)
-           (push (mail-header-number gnus-headers)
-                 arts))))
+      (setq score-param
+           (or (gnus-group-get-parameter group 'agent-score)
+               (caddr category)))
+      (when score-param
+       (gnus-score-headers (list (list score-param))))
+      (setq arts nil)
+      (while (setq gnus-headers (pop gnus-newsgroup-headers))
+       (setq gnus-score
+             (or (cdr (assq (mail-header-number gnus-headers)
+                            gnus-newsgroup-scored))
+                 gnus-summary-default-score))
+       (when (funcall predicate)
+         (push (mail-header-number gnus-headers)
+               arts)))
       ;; Fetch the articles.
       (when arts
        (gnus-agent-fetch-articles group arts)))
       ;; Fetch the articles.
       (when arts
        (gnus-agent-fetch-articles group arts)))
@@ -1129,7 +1087,7 @@ The following commands are available:
   "Write the category alist."
   (setq gnus-category-predicate-cache nil
        gnus-category-group-cache nil)
   "Write the category alist."
   (setq gnus-category-predicate-cache nil
        gnus-category-group-cache nil)
-  (with-temp-file (nnheader-concat gnus-agent-directory "lib/categories")
+  (nnheader-temp-write (nnheader-concat gnus-agent-directory "lib/categories")
     (prin1 gnus-category-alist (current-buffer))))
 
 (defun gnus-category-edit-predicate (category)
     (prin1 gnus-category-alist (current-buffer))))
 
 (defun gnus-category-edit-predicate (category)
@@ -1303,7 +1261,7 @@ The following commands are available:
   "Expire all old articles."
   (interactive)
   (let ((methods gnus-agent-covered-methods)
   "Expire all old articles."
   (interactive)
   (let ((methods gnus-agent-covered-methods)
-       (day (- (time-to-day (current-time)) gnus-agent-expire-days))
+       (day (- (gnus-time-to-day (current-time)) gnus-agent-expire-days))
        gnus-command-method sym group articles
        history overview file histories elem art nov-file low info
        unreads marked article)
        gnus-command-method sym group articles
        history overview file histories elem art nov-file low info
        unreads marked article)
index 07ad076..4eab8db 100644 (file)
@@ -33,7 +33,6 @@
 (require 'gnus-spec)
 (require 'gnus-int)
 (require 'browse-url)
 (require 'gnus-spec)
 (require 'gnus-int)
 (require 'browse-url)
-(require 'mm-bodies)
 
 (defgroup gnus-article nil
   "Article display."
 
 (defgroup gnus-article nil
   "Article display."
@@ -273,6 +272,8 @@ be fed to `format-time-string'."
   :group 'gnus-article-washing)
 
 (eval-and-compile
   :group 'gnus-article-washing)
 
 (eval-and-compile
+  (autoload 'hexl-hex-string-to-integer "hexl")
+  (autoload 'timezone-make-date-arpa-standard "timezone")
   (autoload 'mail-extract-address-components "mail-extr"))
 
 (defcustom gnus-save-all-headers t
   (autoload 'mail-extract-address-components "mail-extr"))
 
 (defcustom gnus-save-all-headers t
@@ -398,7 +399,7 @@ beginning of a line."
   :type 'regexp
   :group 'gnus-article-various)
 
   :type 'regexp
   :group 'gnus-article-various)
 
-(defcustom gnus-article-mode-line-format "Gnus: %g %S"
+(defcustom gnus-article-mode-line-format "Gnus: %%b %S"
   "*The format specification for the article mode line.
 See `gnus-summary-mode-line-format' for a closer description."
   :type 'string
   "*The format specification for the article mode line.
 See `gnus-summary-mode-line-format' for a closer description."
   :type 'string
@@ -768,7 +769,7 @@ always hide."
             ((eq elem 'date)
              (let ((date (message-fetch-field "date")))
                (when (and date
             ((eq elem 'date)
              (let ((date (message-fetch-field "date")))
                (when (and date
-                          (< (days-between (current-time-string) date)
+                          (< (gnus-days-between (current-time-string) date)
                              4))
                  (gnus-article-hide-header "date"))))
             ((eq elem 'long-to)
                              4))
                  (gnus-article-hide-header "date"))))
             ((eq elem 'long-to)
@@ -945,72 +946,84 @@ characters to translate to."
                  (process-send-region "article-x-face" beg end)
                  (process-send-eof "article-x-face"))))))))))
 
                  (process-send-region "article-x-face" beg end)
                  (process-send-eof "article-x-face"))))))))))
 
-(defun gnus-article-decode-mime-words ()
-  "Decode all MIME-encoded words in the article."
-  (interactive)
-  (save-excursion
-    (set-buffer gnus-article-buffer)
-    (let ((inhibit-point-motion-hooks t)
-         buffer-read-only)
-      (rfc2047-decode-region (point-min) (point-max)))))
-
-(defun gnus-article-decode-charset (&optional prompt)
-  "Decode charset-encoded text in the article.
-If PROMPT (the prefix), prompt for a coding system to use."
-  (interactive "P")
-  (save-excursion
-    (set-buffer gnus-article-buffer)
-    (save-restriction
-      (message-narrow-to-head)
-      (let* ((inhibit-point-motion-hooks t)
-            (ct (message-fetch-field "Content-Type" t))
-            (cte (message-fetch-field "Content-Transfer-Encoding" t))
-            (charset (cond
-                      (prompt
-                       (mm-read-coding-system "Charset to decode: "))
-                      (ct
-                       (mm-content-type-charset ct))
-                      (gnus-newsgroup-name
-                       (gnus-group-find-parameter
-                        gnus-newsgroup-name 'charset))))
-            buffer-read-only)
-       (goto-char (point-max))
-       (widen)
-       (narrow-to-region (point) (point-max))
-       (when (or (not ct)
-                 (string-match "text/plain" ct))
-         (mm-decode-body
-          charset (and cte (intern (downcase
-                                    (gnus-strip-whitespace cte))))))))))
+(defun gnus-hack-decode-rfc1522 ()
+  "Emergency hack function for avoiding problems when decoding."
+  (let ((buffer-read-only nil))
+    (goto-char (point-min))
+    ;; Remove encoded TABs.
+    (while (search-forward "=09" nil t)
+      (replace-match " " t t))
+    ;; Remove encoded newlines.
+    (goto-char (point-min))
+    (while (search-forward "=10" nil t)
+      (replace-match " " t t))))
 
 (defalias 'gnus-decode-rfc1522 'article-decode-rfc1522)
 (defalias 'gnus-article-decode-rfc1522 'article-decode-rfc1522)
 (defun article-decode-rfc1522 ()
 
 (defalias 'gnus-decode-rfc1522 'article-decode-rfc1522)
 (defalias 'gnus-article-decode-rfc1522 'article-decode-rfc1522)
 (defun article-decode-rfc1522 ()
-  "Remove QP encoding from headers."
-  (let ((inhibit-point-motion-hooks t)
-       (buffer-read-only nil))
+  "Hack to remove QP encoding from headers."
+  (let ((case-fold-search t)
+       (inhibit-point-motion-hooks t)
+       (buffer-read-only nil)
+       string)
     (save-restriction
     (save-restriction
-      (message-narrow-to-head)
-      (rfc2047-decode-region (point-min) (point-max)))))
+      (narrow-to-region
+       (goto-char (point-min))
+       (or (search-forward "\n\n" nil t) (point-max)))
+      (goto-char (point-min))
+      (while (re-search-forward
+             "=\\?iso-8859-1\\?q\\?\\([^?\t\n]*\\)\\?=" nil t)
+       (setq string (match-string 1))
+       (save-restriction
+         (narrow-to-region (match-beginning 0) (match-end 0))
+         (delete-region (point-min) (point-max))
+         (insert string)
+         (article-mime-decode-quoted-printable
+          (goto-char (point-min)) (point-max))
+         (subst-char-in-region (point-min) (point-max) ?_ ? )
+         (goto-char (point-max)))
+       (goto-char (point-min))))))
 
 (defun article-de-quoted-unreadable (&optional force)
 
 (defun article-de-quoted-unreadable (&optional force)
-  "Translate a quoted-printable-encoded article.
+  "Do a naive translation of a quoted-printable-encoded article.
+This is in no way, shape or form meant as a replacement for real MIME
+processing, but is simply a stop-gap measure until MIME support is
+written.
 If FORCE, decode the article whether it is marked as quoted-printable
 or not."
   (interactive (list 'force))
   (save-excursion
 If FORCE, decode the article whether it is marked as quoted-printable
 or not."
   (interactive (list 'force))
   (save-excursion
-    (let ((buffer-read-only nil)
+    (let ((case-fold-search t)
+         (buffer-read-only nil)
          (type (gnus-fetch-field "content-transfer-encoding")))
       (gnus-article-decode-rfc1522)
       (when (or force
                (and type (string-match "quoted-printable" (downcase type))))
        (goto-char (point-min))
        (search-forward "\n\n" nil 'move)
          (type (gnus-fetch-field "content-transfer-encoding")))
       (gnus-article-decode-rfc1522)
       (when (or force
                (and type (string-match "quoted-printable" (downcase type))))
        (goto-char (point-min))
        (search-forward "\n\n" nil 'move)
-       (quoted-printable-decode-region (point) (point-max))))))
+       (article-mime-decode-quoted-printable (point) (point-max))))))
 
 (defun article-mime-decode-quoted-printable-buffer ()
   "Decode Quoted-Printable in the current buffer."
 
 (defun article-mime-decode-quoted-printable-buffer ()
   "Decode Quoted-Printable in the current buffer."
-  (quoted-printable-decode-region (point-min) (point-max)))
+  (article-mime-decode-quoted-printable (point-min) (point-max)))
+
+(defun article-mime-decode-quoted-printable (from to)
+  "Decode Quoted-Printable in the region between FROM and TO."
+  (interactive "r")
+  (goto-char from)
+  (while (search-forward "=" to t)
+    (cond ((eq (following-char) ?\n)
+          (delete-char -1)
+          (delete-char 1))
+         ((looking-at "[0-9A-F][0-9A-F]")
+          (subst-char-in-region
+           (1- (point)) (point) ?=
+           (hexl-hex-string-to-integer
+            (buffer-substring (point) (+ 2 (point)))))
+          (delete-char 2))
+         ((looking-at "=")
+          (delete-char 1))
+         ((gnus-message 3 "Malformed MIME quoted-printable message")))))
 
 (defun article-hide-pgp (&optional arg)
   "Toggle hiding of any PGP headers and signatures in the current article.
 
 (defun article-hide-pgp (&optional arg)
   "Toggle hiding of any PGP headers and signatures in the current article.
@@ -1218,7 +1231,7 @@ Put point at the beginning of the signature separator."
           (setq b (point))
         (point-max))
        (setq e (point-max)))
           (setq b (point))
         (point-max))
        (setq e (point-max)))
-      (with-temp-buffer
+      (nnheader-temp-write nil
        (insert-buffer-substring gnus-article-buffer b e)
        (require 'url)
        (save-window-excursion
        (insert-buffer-substring gnus-article-buffer b e)
        (require 'url)
        (save-window-excursion
@@ -1346,35 +1359,58 @@ how much time has lapsed since DATE."
    ;; functions since they aren't particularly resistant to
    ;; buggy dates.
    ((eq type 'local)
    ;; functions since they aren't particularly resistant to
    ;; buggy dates.
    ((eq type 'local)
-    (concat "Date: " (current-time-string (date-to-time date))))
+    (concat "Date: " (condition-case ()
+                        (timezone-make-date-arpa-standard date)
+                      (error date))))
    ;; Convert to Universal Time.
    ((eq type 'ut)
     (concat "Date: "
    ;; Convert to Universal Time.
    ((eq type 'ut)
     (concat "Date: "
-           (current-time-string
-            (let ((e (parse-time-string date)))
-              (setcar (last e) 0)
-              (encode-time e)))))
+           (condition-case ()
+               (timezone-make-date-arpa-standard date nil "UT")
+             (error date))))
    ;; Get the original date from the article.
    ((eq type 'original)
     (concat "Date: " date))
    ;; Let the user define the format.
    ((eq type 'user)
     (if (gnus-functionp gnus-article-time-format)
    ;; Get the original date from the article.
    ((eq type 'original)
     (concat "Date: " date))
    ;; Let the user define the format.
    ((eq type 'user)
     (if (gnus-functionp gnus-article-time-format)
-       (funcall gnus-article-time-format (date-to-time date))
+       (funcall
+        gnus-article-time-format
+        (ignore-errors
+          (gnus-encode-date
+           (timezone-make-date-arpa-standard
+            date nil "UT"))))
       (concat
        "Date: "
       (concat
        "Date: "
-       (format-time-string gnus-article-time-format (date-to-time date)))))
+       (format-time-string gnus-article-time-format
+                          (ignore-errors
+                            (gnus-encode-date
+                             (timezone-make-date-arpa-standard
+                              date nil "UT")))))))
    ;; ISO 8601.
    ((eq type 'iso8601)
     (concat
      "Date: "
    ;; ISO 8601.
    ((eq type 'iso8601)
     (concat
      "Date: "
-     (format-time-string "%Y%M%DT%h%m%s" (date-to-time date))))
+     (format-time-string "%Y%M%DT%h%m%s"
+                        (ignore-errors
+                          (gnus-encode-date
+                           (timezone-make-date-arpa-standard
+                            date nil "UT"))))))
    ;; Do an X-Sent lapsed format.
    ((eq type 'lapsed)
     ;; If the date is seriously mangled, the timezone functions are
     ;; liable to bug out, so we ignore all errors.
     (let* ((now (current-time))
    ;; Do an X-Sent lapsed format.
    ((eq type 'lapsed)
     ;; If the date is seriously mangled, the timezone functions are
     ;; liable to bug out, so we ignore all errors.
     (let* ((now (current-time))
-          (real-time (subtract-time now (date-to-time date)))
+          (real-time
+           (ignore-errors
+             (gnus-time-minus
+              (gnus-encode-date
+               (timezone-make-date-arpa-standard
+                (current-time-string now)
+                (current-time-zone now) "UT"))
+              (gnus-encode-date
+               (timezone-make-date-arpa-standard
+                date nil "UT")))))
           (real-sec (and real-time
                          (+ (* (float (car real-time)) 65536)
                             (cadr real-time))))
           (real-sec (and real-time
                          (+ (* (float (car real-time)) 65536)
                             (cadr real-time))))
@@ -1644,7 +1680,7 @@ Directory to save to is default to `gnus-article-save-directory'."
     (save-excursion
       (save-restriction
        (widen)
     (save-excursion
       (save-restriction
        (widen)
-       (rmail-output-to-rmail-file filename))))
+       (gnus-output-to-rmail filename))))
   filename)
 
 (defun gnus-summary-save-in-mail (&optional filename)
   filename)
 
 (defun gnus-summary-save-in-mail (&optional filename)
@@ -1661,7 +1697,7 @@ Directory to save to is default to `gnus-article-save-directory'."
        (widen)
        (if (and (file-readable-p filename)
                 (mail-file-babyl-p filename))
        (widen)
        (if (and (file-readable-p filename)
                 (mail-file-babyl-p filename))
-           (rmail-output-to-rmail-file filename t)
+           (gnus-output-to-rmail filename t)
          (gnus-output-to-mail filename)))))
   filename)
 
          (gnus-output-to-mail filename)))))
   filename)
 
@@ -1942,7 +1978,6 @@ commands:
   (buffer-disable-undo (current-buffer))
   (setq buffer-read-only t)
   (set-syntax-table gnus-article-mode-syntax-table)
   (buffer-disable-undo (current-buffer))
   (setq buffer-read-only t)
   (set-syntax-table gnus-article-mode-syntax-table)
-  (mm-enable-multibyte)
   (gnus-run-hooks 'gnus-article-mode-hook))
 
 (defun gnus-article-setup-buffer ()
   (gnus-run-hooks 'gnus-article-mode-hook))
 
 (defun gnus-article-setup-buffer ()
@@ -1965,7 +2000,7 @@ commands:
     ;; Init original article buffer.
     (save-excursion
       (set-buffer (gnus-get-buffer-create gnus-original-article-buffer))
     ;; Init original article buffer.
     (save-excursion
       (set-buffer (gnus-get-buffer-create gnus-original-article-buffer))
-      (mm-enable-multibyte)
+      (buffer-disable-undo (current-buffer))
       (setq major-mode 'gnus-original-article-mode)
       (make-local-variable 'gnus-original-article))
     (if (get-buffer name)
       (setq major-mode 'gnus-original-article-mode)
       (make-local-variable 'gnus-original-article))
     (if (get-buffer name)
@@ -2154,7 +2189,7 @@ Provided for backwards compatibility."
 (defun gnus-output-to-file (file-name)
   "Append the current article to a file named FILE-NAME."
   (let ((artbuf (current-buffer)))
 (defun gnus-output-to-file (file-name)
   "Append the current article to a file named FILE-NAME."
   (let ((artbuf (current-buffer)))
-    (with-temp-buffer
+    (nnheader-temp-write nil
       (insert-buffer-substring artbuf)
       ;; Append newline at end of the buffer as separator, and then
       ;; save it to file.
       (insert-buffer-substring artbuf)
       ;; Append newline at end of the buffer as separator, and then
       ;; save it to file.
@@ -3100,7 +3135,7 @@ specified by `gnus-button-alist'."
 
 (defun gnus-url-parse-query-string (query &optional downcase)
   (let (retval pairs cur key val)
 
 (defun gnus-url-parse-query-string (query &optional downcase)
   (let (retval pairs cur key val)
-    (setq pairs (split-string query "&"))
+    (setq pairs (gnus-split-string query "&"))
     (while pairs
       (setq cur (car pairs)
             pairs (cdr pairs))
     (while pairs
       (setq cur (car pairs)
             pairs (cdr pairs))
index bce2f54..7f03b70 100644 (file)
@@ -595,7 +595,7 @@ $ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cache"
   (when (or force
            (and gnus-cache-active-hashtb
                 gnus-cache-active-altered))
   (when (or force
            (and gnus-cache-active-hashtb
                 gnus-cache-active-altered))
-    (with-temp-file gnus-cache-active-file
+    (nnheader-temp-write gnus-cache-active-file
       (mapatoms
        (lambda (sym)
         (when (and sym (boundp sym))
       (mapatoms
        (lambda (sym)
         (when (and sym (boundp sym))
index d239dda..0015a90 100644 (file)
@@ -82,6 +82,10 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's."
 (defvar gnus-inhibit-demon nil
   "*If non-nil, no daemonic function will be run.")
 
 (defvar gnus-inhibit-demon nil
   "*If non-nil, no daemonic function will be run.")
 
+(eval-and-compile
+  (autoload 'timezone-parse-date "timezone")
+  (autoload 'timezone-make-arpa-date "timezone"))
+
 ;;; Functions.
 
 (defun gnus-demon-add-handler (function time idle)
 ;;; Functions.
 
 (defun gnus-demon-add-handler (function time idle)
@@ -151,9 +155,9 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's."
       time
     (let* ((now (current-time))
            ;; obtain NOW as discrete components -- make a vector for speed
       time
     (let* ((now (current-time))
            ;; obtain NOW as discrete components -- make a vector for speed
-           (nowParts (decode-time now))
+           (nowParts (apply 'vector (decode-time now)))
            ;; obtain THEN as discrete components
            ;; obtain THEN as discrete components
-           (thenParts (parse-time-string time))
+           (thenParts (timezone-parse-time time))
            (thenHour (string-to-int (elt thenParts 0)))
            (thenMin (string-to-int (elt thenParts 1)))
            ;; convert time as elements into number of seconds since EPOCH.
            (thenHour (string-to-int (elt thenParts 0)))
            (thenMin (string-to-int (elt thenParts 1)))
            ;; convert time as elements into number of seconds since EPOCH.
@@ -264,7 +268,8 @@ minutes, the connection is closed."
 
 (defun gnus-demon-nntp-close-connection ()
   (save-window-excursion
 
 (defun gnus-demon-nntp-close-connection ()
   (save-window-excursion
-    (when (time-less-p '(0 300) (time-since nntp-last-command-time))
+    (when (nnmail-time-less '(0 300)
+                           (nnmail-time-since nntp-last-command-time))
       (nntp-close-server))))
 
 (defun gnus-demon-add-scanmail ()
       (nntp-close-server))))
 
 (defun gnus-demon-add-scanmail ()
index b289639..6958f02 100644 (file)
@@ -98,7 +98,7 @@ seen in the same session."
   "Save the duplicate suppression list."
   (when (and gnus-save-duplicate-list
             gnus-dup-list-dirty)
   "Save the duplicate suppression list."
   (when (and gnus-save-duplicate-list
             gnus-dup-list-dirty)
-    (with-temp-file gnus-duplicate-file
+    (nnheader-temp-write gnus-duplicate-file
       (gnus-prin1 `(setq gnus-dup-list ',gnus-dup-list))))
   (setq gnus-dup-list-dirty nil))
 
       (gnus-prin1 `(setq gnus-dup-list ',gnus-dup-list))))
   (setq gnus-dup-list-dirty nil))
 
index f0e4362..0e95762 100644 (file)
@@ -45,6 +45,9 @@
   (autoload 'gnus-xmas-redefine "gnus-xmas")
   (autoload 'appt-select-lowest-window "appt"))
 
   (autoload 'gnus-xmas-redefine "gnus-xmas")
   (autoload 'appt-select-lowest-window "appt"))
 
+(or (fboundp 'mail-file-babyl-p)
+    (fset 'mail-file-babyl-p 'rmail-file-p))
+
 ;;; Mule functions.
 
 (defun gnus-mule-cite-add-face (number prefix face)
 ;;; Mule functions.
 
 (defun gnus-mule-cite-add-face (number prefix face)
           (truncate-string valstr (, max-width))
         valstr))))
 
           (truncate-string valstr (, max-width))
         valstr))))
 
+(defun gnus-encode-coding-string (string system)
+  string)
+
+(defun gnus-decode-coding-string (string system)
+  string)
+
 (eval-and-compile
   (if (string-match "XEmacs\\|Lucid" emacs-version)
       nil
 (eval-and-compile
   (if (string-match "XEmacs\\|Lucid" emacs-version)
       nil
    ((string-match "XEmacs\\|Lucid" emacs-version)
     (gnus-xmas-define))
 
    ((string-match "XEmacs\\|Lucid" emacs-version)
     (gnus-xmas-define))
 
+   ((or (not (boundp 'emacs-minor-version))
+       (and (< emacs-major-version 20)
+            (< emacs-minor-version 30)))
+    ;; Remove the `intangible' prop.
+    (let ((props (and (boundp 'gnus-hidden-properties)
+                     gnus-hidden-properties)))
+      (while (and props (not (eq (car (cdr props)) 'intangible)))
+       (setq props (cdr props)))
+      (when props
+       (setcdr props (cdr (cdr (cdr props))))))
+    (unless (fboundp 'buffer-substring-no-properties)
+      (defun buffer-substring-no-properties (beg end)
+       (format "%s" (buffer-substring beg end)))))
+
    ((boundp 'MULE)
     (provide 'gnusutil))))
 
    ((boundp 'MULE)
     (provide 'gnusutil))))
 
     ;; `emacs-version'. In this case, implementation for XEmacs/mule
     ;; may be able to share between XEmacs and XEmacs/mule.
 
     ;; `emacs-version'. In this case, implementation for XEmacs/mule
     ;; may be able to share between XEmacs and XEmacs/mule.
 
+    (defalias 'gnus-truncate-string 'truncate-string)
+
     (defvar gnus-summary-display-table nil
       "Display table used in summary mode buffers.")
     (fset 'gnus-cite-add-face 'gnus-mule-cite-add-face)
     (fset 'gnus-max-width-function 'gnus-mule-max-width-function)
     (fset 'gnus-summary-set-display-table (lambda ()))
     (defvar gnus-summary-display-table nil
       "Display table used in summary mode buffers.")
     (fset 'gnus-cite-add-face 'gnus-mule-cite-add-face)
     (fset 'gnus-max-width-function 'gnus-mule-max-width-function)
     (fset 'gnus-summary-set-display-table (lambda ()))
+    (fset 'gnus-encode-coding-string 'encode-coding-string)
+    (fset 'gnus-decode-coding-string 'decode-coding-string)
     
     (when (boundp 'gnus-check-before-posting)
       (setq gnus-check-before-posting
     
     (when (boundp 'gnus-check-before-posting)
       (setq gnus-check-before-posting
        (erase-buffer)
        (when (and dir
                   (file-exists-p (setq file (concat dir "x-splash"))))
        (erase-buffer)
        (when (and dir
                   (file-exists-p (setq file (concat dir "x-splash"))))
-         (with-temp-buffer
+         (nnheader-temp-write nil
            (insert-file-contents file)
            (goto-char (point-min))
            (ignore-errors
            (insert-file-contents file)
            (goto-char (point-min))
            (ignore-errors
            (make-face 'gnus-splash))
          (setq height (/ (car pixmap) (frame-char-height))
                width (/ (cadr pixmap) (frame-char-width)))
            (make-face 'gnus-splash))
          (setq height (/ (car pixmap) (frame-char-height))
                width (/ (cadr pixmap) (frame-char-width)))
-         (set-face-foreground 'gnus-splash "Brown")
+         (set-face-foreground 'gnus-splash "ForestGreen")
          (set-face-stipple 'gnus-splash pixmap)
          (insert-char ?\n (* (/ (window-height) 2 height) height))
          (setq i height)
          (set-face-stipple 'gnus-splash pixmap)
          (insert-char ?\n (* (/ (window-height) 2 height) height))
          (setq i height)
          (goto-char (point-min))
          (sit-for 0))))))
 
          (goto-char (point-min))
          (sit-for 0))))))
 
+(if (fboundp 'split-string)
+    (fset 'gnus-split-string 'split-string)
+  (defun gnus-split-string (string pattern)
+    "Return a list of substrings of STRING which are separated by PATTERN."
+    (let (parts (start 0))
+      (while (string-match pattern string start)
+       (setq parts (cons (substring string start (match-beginning 0)) parts)
+             start (match-end 0)))
+      (nreverse (cons (substring string start) parts)))))
+
 (provide 'gnus-ems)
 
 ;; Local Variables:
 (provide 'gnus-ems)
 
 ;; Local Variables:
index 51ca68c..612be02 100644 (file)
@@ -35,7 +35,6 @@
 (require 'gnus-range)
 (require 'gnus-win)
 (require 'gnus-undo)
 (require 'gnus-range)
 (require 'gnus-win)
 (require 'gnus-undo)
-(require 'time-date)
 
 (defcustom gnus-group-archive-directory
   "*ftp@ftp.hpc.uh.edu:/pub/emacs/ding-list/"
 
 (defcustom gnus-group-archive-directory
   "*ftp@ftp.hpc.uh.edu:/pub/emacs/ding-list/"
@@ -2156,7 +2155,7 @@ score file entries for articles to include in the group."
        (push (cons header regexps) scores))
       scores)))
   (gnus-group-make-group group "nnkiboze" address)
        (push (cons header regexps) scores))
       scores)))
   (gnus-group-make-group group "nnkiboze" address)
-  (with-temp-file (gnus-score-file-name (concat "nnkiboze:" group))
+  (nnheader-temp-write (gnus-score-file-name (concat "nnkiboze:" group))
     (let (emacs-lisp-mode-hook)
       (pp scores (current-buffer)))))
 
     (let (emacs-lisp-mode-hook)
       (pp scores (current-buffer)))))
 
@@ -2301,52 +2300,46 @@ If REVERSE, sort in reverse order."
     ;; Go through all the infos and replace the old entries
     ;; with the new infos.
     (while infos
     ;; Go through all the infos and replace the old entries
     ;; with the new infos.
     (while infos
-      (setcar (car entries) (pop infos))
+      (setcar entries (pop infos))
       (pop entries))
     ;; Update the hashtable.
     (gnus-make-hashtable-from-newsrc-alist)))
 
       (pop entries))
     ;; Update the hashtable.
     (gnus-make-hashtable-from-newsrc-alist)))
 
-(defun gnus-group-sort-selected-groups-by-alphabet (&optional n reverse)
+(defun gnus-group-sort-selected-groups-by-alphabet (&optional reverse)
   "Sort the group buffer alphabetically by group name.
   "Sort the group buffer alphabetically by group name.
-Obeys the process/prefix convention.  If REVERSE (the symbolic prefix),
-sort in reverse order."
-  (interactive (gnus-interactive "P\ny"))
-  (gnus-group-sort-selected-groups n 'gnus-group-sort-by-alphabet reverse))
+If REVERSE, sort in reverse order."
+  (interactive "P")
+  (gnus-group-sort-selected-groups 'gnus-group-sort-by-alphabet reverse))
 
 
-(defun gnus-group-sort-selected-groups-by-unread (&optional n reverse)
+(defun gnus-group-sort-selected-groups-by-unread (&optional reverse)
   "Sort the group buffer by number of unread articles.
   "Sort the group buffer by number of unread articles.
-Obeys the process/prefix convention.  If REVERSE (the symbolic prefix),
-sort in reverse order."
-  (interactive (gnus-interactive "P\ny"))
-  (gnus-group-sort-selected-groups n 'gnus-group-sort-by-unread reverse))
+If REVERSE, sort in reverse order."
+  (interactive "P")
+  (gnus-group-sort-selected-groups 'gnus-group-sort-by-unread reverse))
 
 
-(defun gnus-group-sort-selected-groups-by-level (&optional n reverse)
+(defun gnus-group-sort-selected-groups-by-level (&optional reverse)
   "Sort the group buffer by group level.
   "Sort the group buffer by group level.
-Obeys the process/prefix convention.  If REVERSE (the symbolic prefix),
-sort in reverse order."
-  (interactive (gnus-interactive "P\ny"))
-  (gnus-group-sort-selected-groups n 'gnus-group-sort-by-level reverse))
+If REVERSE, sort in reverse order."
+  (interactive "P")
+  (gnus-group-sort-selected-groups 'gnus-group-sort-by-level reverse))
 
 
-(defun gnus-group-sort-selected-groups-by-score (&optional n reverse)
+(defun gnus-group-sort-selected-groups-by-score (&optional reverse)
   "Sort the group buffer by group score.
   "Sort the group buffer by group score.
-Obeys the process/prefix convention.  If REVERSE (the symbolic prefix),
-sort in reverse order."
-  (interactive (gnus-interactive "P\ny"))
-  (gnus-group-sort-selected-groups n 'gnus-group-sort-by-score reverse))
+If REVERSE, sort in reverse order."
+  (interactive "P")
+  (gnus-group-sort-selected-groups 'gnus-group-sort-by-score reverse))
 
 
-(defun gnus-group-sort-selected-groups-by-rank (&optional n reverse)
+(defun gnus-group-sort-selected-groups-by-rank (&optional reverse)
   "Sort the group buffer by group rank.
   "Sort the group buffer by group rank.
-Obeys the process/prefix convention.  If REVERSE (the symbolic prefix),
-sort in reverse order."
-  (interactive (gnus-interactive "P\ny"))
-  (gnus-group-sort-selected-groups n 'gnus-group-sort-by-rank reverse))
+If REVERSE, sort in reverse order."
+  (interactive "P")
+  (gnus-group-sort-selected-groups 'gnus-group-sort-by-rank reverse))
 
 
-(defun gnus-group-sort-selected-groups-by-method (&optional n reverse)
+(defun gnus-group-sort-selected-groups-by-method (&optional reverse)
   "Sort the group buffer alphabetically by backend name.
   "Sort the group buffer alphabetically by backend name.
-Obeys the process/prefix convention.  If REVERSE (the symbolic prefix),
-sort in reverse order."
-  (interactive (gnus-interactive "P\ny"))
-  (gnus-group-sort-selected-groups n 'gnus-group-sort-by-method reverse))
+If REVERSE, sort in reverse order."
+  (interactive "P")
+  (gnus-group-sort-selected-groups 'gnus-group-sort-by-method reverse))
 
 ;;; Sorting predicates.
 
 
 ;;; Sorting predicates.
 
@@ -2947,9 +2940,8 @@ If N is negative, this group and the N-1 previous groups will be checked."
             (gnus-get-info group) (gnus-active group) t)
            (unless (gnus-virtual-group-p group)
              (gnus-close-group group))
             (gnus-get-info group) (gnus-active group) t)
            (unless (gnus-virtual-group-p group)
              (gnus-close-group group))
-           (when gnus-agent
-             (gnus-agent-save-group-info
-              method (gnus-group-real-name group) (gnus-active group)))
+           (gnus-agent-save-group-info
+            method (gnus-group-real-name group) (gnus-active group))
            (gnus-group-update-group group))
        (if (eq (gnus-server-status (gnus-find-method-for-group group))
                'denied)
            (gnus-group-update-group group))
        (if (eq (gnus-server-status (gnus-find-method-for-group group))
                'denied)
@@ -3381,7 +3373,7 @@ or `gnus-group-catchup-group-hook'."
   "Return the offset in seconds from the timestamp for GROUP to the current time, as a floating point number."
   (let* ((time (or (gnus-group-timestamp group)
                  (list 0 0)))
   "Return the offset in seconds from the timestamp for GROUP to the current time, as a floating point number."
   (let* ((time (or (gnus-group-timestamp group)
                  (list 0 0)))
-         (delta (subtract-time (current-time) time)))
+         (delta (gnus-time-minus (current-time) time)))
     (+ (* (nth 0 delta) 65536.0)
        (nth 1 delta))))
 
     (+ (* (nth 0 delta) 65536.0)
        (nth 1 delta))))
 
index 02ee66e..abcc401 100644 (file)
@@ -524,7 +524,7 @@ COMMAND must be a lisp expression or a string representing a key sequence."
                  ;; It's on the form (regexp . date).
                  (if (zerop (gnus-execute field (car kill-list)
                                           command nil (not all)))
                  ;; It's on the form (regexp . date).
                  (if (zerop (gnus-execute field (car kill-list)
                                           command nil (not all)))
-                     (when (> (days-between date (cdr kill-list))
+                     (when (> (gnus-days-between date (cdr kill-list))
                               gnus-kill-expiry-days)
                        (setq regexp nil))
                    (setcdr kill-list date))
                               gnus-kill-expiry-days)
                        (setq regexp nil))
                    (setcdr kill-list date))
@@ -535,7 +535,7 @@ COMMAND must be a lisp expression or a string representing a key sequence."
                        (setq kdate (cdr kill))
                        (if (zerop (gnus-execute
                                    field (car kill) command nil (not all)))
                        (setq kdate (cdr kill))
                        (if (zerop (gnus-execute
                                    field (car kill) command nil (not all)))
-                           (when (> (days-between date kdate)
+                           (when (> (gnus-days-between date kdate)
                                     gnus-kill-expiry-days)
                              ;; Time limit has been exceeded, so we
                              ;; remove the match.
                                     gnus-kill-expiry-days)
                              ;; Time limit has been exceeded, so we
                              ;; remove the match.
index 58dfb09..f2913f1 100644 (file)
      ((eq type 'at)
       (equal date match))
      ((eq type 'before)
      ((eq type 'at)
       (equal date match))
      ((eq type 'before)
-      (time-less-p match date))
+      (gnus-time-less match date))
      ((eq type 'after)
      ((eq type 'after)
-      (time-less-p date match))
+      (gnus-time-less date match))
      (t
       (error "No such date score type: %s" type)))))
 
      (t
       (error "No such date score type: %s" type)))))
 
index 1330288..b0e73aa 100644 (file)
@@ -228,20 +228,11 @@ Thank you for your help in stamping out bugs.
 
 ;;; Post news commands of Gnus group mode and summary mode
 
 
 ;;; Post news commands of Gnus group mode and summary mode
 
-(defun gnus-group-mail (&optional arg)
-  "Start composing a mail.
-If ARG, use the group under the point to find a posting style.
-If ARG is 1, prompt for a group name to find the posting style."
-  (interactive "P")
-  (let ((gnus-newsgroup-name
-        (if arg
-            (if (= 1 (prefix-numeric-value arg))
-                (completing-read "Use style of group: " gnus-active-hashtb nil
-                                 (gnus-read-active-file-p))
-              (gnus-group-group-name))
-          "")))
-    (gnus-setup-message 'message (message-mail))
-    ))
+(defun gnus-group-mail ()
+  "Start composing a mail."
+  (interactive)
+  (gnus-setup-message 'message
+    (message-mail)))
 
 (defun gnus-group-post-news (&optional arg)
   "Start composing a news message.
 
 (defun gnus-group-post-news (&optional arg)
   "Start composing a news message.
@@ -363,9 +354,6 @@ header line with the old Message-ID."
   ;; this buffer should be passed to all mail/news reply/post routines.
   (setq gnus-article-copy (gnus-get-buffer-create " *gnus article copy*"))
   (buffer-disable-undo gnus-article-copy)
   ;; this buffer should be passed to all mail/news reply/post routines.
   (setq gnus-article-copy (gnus-get-buffer-create " *gnus article copy*"))
   (buffer-disable-undo gnus-article-copy)
-  (save-excursion
-    (set-buffer gnus-article-copy)
-    (mm-enable-multibyte))
   (let ((article-buffer (or article-buffer gnus-article-buffer))
        end beg)
     (if (not (and (get-buffer article-buffer)
   (let ((article-buffer (or article-buffer gnus-article-buffer))
        end beg)
     (if (not (and (get-buffer article-buffer)
@@ -495,16 +483,14 @@ If SILENT, don't prompt the user."
                   (list gnus-post-method)))
               gnus-secondary-select-methods
               (mapcar 'cdr gnus-server-alist)
                   (list gnus-post-method)))
               gnus-secondary-select-methods
               (mapcar 'cdr gnus-server-alist)
-              (mapcar 'car gnus-opened-servers)
               (list gnus-select-method)
               (list group-method)))
             method-alist post-methods method)
        ;; Weed out all mail methods.
        (while methods
          (setq method (gnus-server-get-method "" (pop methods)))
               (list gnus-select-method)
               (list group-method)))
             method-alist post-methods method)
        ;; Weed out all mail methods.
        (while methods
          (setq method (gnus-server-get-method "" (pop methods)))
-         (when (and (or (gnus-method-option-p method 'post)
-                        (gnus-method-option-p method 'post-mail))
-                    (not (member method post-methods)))
+         (when (or (gnus-method-option-p method 'post)
+                   (gnus-method-option-p method 'post-mail))
            (push method post-methods)))
        ;; Create a name-method alist.
        (setq method-alist
            (push method post-methods)))
        ;; Create a name-method alist.
        (setq method-alist
@@ -570,6 +556,36 @@ If SILENT, don't prompt the user."
                 (concat " - \"" xemacs-codename "\""))))
     (t emacs-version))))
 
                 (concat " - \"" xemacs-codename "\""))))
     (t emacs-version))))
 
+;; Written by "Mr. Per Persson" <pp@gnu.ai.mit.edu>.
+(defun gnus-inews-insert-mime-headers ()
+  "Insert MIME headers.
+Assumes ISO-Latin-1 is used iff 8-bit characters are present."
+  (goto-char (point-min))
+  (let ((mail-header-separator
+        (progn
+          (goto-char (point-min))
+          (if (and (search-forward (concat "\n" mail-header-separator "\n")
+                                   nil t)
+                   (not (search-backward "\n\n" nil t)))
+              mail-header-separator
+            ""))))
+    (or (mail-position-on-field "Mime-Version")
+       (insert "1.0")
+       (cond ((save-restriction
+                (widen)
+                (goto-char (point-min))
+                (re-search-forward "[^\000-\177]" nil t))
+              (or (mail-position-on-field "Content-Type")
+                  (insert "text/plain; charset=ISO-8859-1"))
+              (or (mail-position-on-field "Content-Transfer-Encoding")
+                  (insert "8bit")))
+             (t (or (mail-position-on-field "Content-Type")
+                    (insert "text/plain; charset=US-ASCII"))
+                (or (mail-position-on-field "Content-Transfer-Encoding")
+                    (insert "7bit")))))))
+
+(custom-add-option 'message-header-hook 'gnus-inews-insert-mime-headers)
+
 \f
 ;;;
 ;;; Gnus Mail Functions
 \f
 ;;;
 ;;; Gnus Mail Functions
index 7535a25..d678531 100644 (file)
@@ -146,7 +146,7 @@ matches an previously scanned and verified nocem message."
          (save-excursion
            (let ((dependencies (make-vector 10 nil))
                  headers header)
          (save-excursion
            (let ((dependencies (make-vector 10 nil))
                  headers header)
-             (with-temp-buffer
+             (nnheader-temp-write nil
                (setq headers
                      (if (eq 'nov
                              (gnus-retrieve-headers
                (setq headers
                      (if (eq 'nov
                              (gnus-retrieve-headers
@@ -190,9 +190,9 @@ matches an previously scanned and verified nocem message."
   (let ((date (mail-header-date header))
        issuer b e type)
     (when (or (not date)
   (let ((date (mail-header-date header))
        issuer b e type)
     (when (or (not date)
-             (time-less-p
-              (time-since (date-to-time date))
-              (days-to-time gnus-nocem-expiry-wait)))
+             (nnmail-time-less
+              (nnmail-time-since (nnmail-date-to-time date))
+              (nnmail-days-to-time gnus-nocem-expiry-wait)))
       (gnus-request-article-this-buffer (mail-header-number header) group)
       (goto-char (point-min))
       (when (re-search-forward "-----BEGIN PGP MESSAGE-----" nil t)
       (gnus-request-article-this-buffer (mail-header-number header) group)
       (goto-char (point-min))
       (when (re-search-forward "-----BEGIN PGP MESSAGE-----" nil t)
@@ -302,13 +302,13 @@ matches an previously scanned and verified nocem message."
   "Save the NoCeM cache."
   (when (and gnus-nocem-alist
             gnus-nocem-touched-alist)
   "Save the NoCeM cache."
   (when (and gnus-nocem-alist
             gnus-nocem-touched-alist)
-    (with-temp-file (gnus-nocem-cache-file)
+    (nnheader-temp-write (gnus-nocem-cache-file)
       (gnus-prin1 `(setq gnus-nocem-alist ',gnus-nocem-alist)))
     (setq gnus-nocem-touched-alist nil)))
 
 (defun gnus-nocem-save-active ()
   "Save the NoCeM active file."
       (gnus-prin1 `(setq gnus-nocem-alist ',gnus-nocem-alist)))
     (setq gnus-nocem-touched-alist nil)))
 
 (defun gnus-nocem-save-active ()
   "Save the NoCeM active file."
-  (with-temp-file (gnus-nocem-active-file)
+  (nnheader-temp-write (gnus-nocem-active-file)
     (gnus-prin1 `(setq gnus-nocem-active ',gnus-nocem-active))))
 
 (defun gnus-nocem-alist-to-hashtb ()
     (gnus-prin1 `(setq gnus-nocem-active ',gnus-nocem-active))))
 
 (defun gnus-nocem-alist-to-hashtb ()
@@ -316,11 +316,11 @@ matches an previously scanned and verified nocem message."
   (let* ((alist gnus-nocem-alist)
         (pprev (cons nil alist))
         (prev pprev)
   (let* ((alist gnus-nocem-alist)
         (pprev (cons nil alist))
         (prev pprev)
-        (expiry (days-to-time gnus-nocem-expiry-wait))
+        (expiry (nnmail-days-to-time gnus-nocem-expiry-wait))
         entry)
     (setq gnus-nocem-hashtb (gnus-make-hashtable (* (length alist) 51)))
     (while (setq entry (car alist))
         entry)
     (setq gnus-nocem-hashtb (gnus-make-hashtable (* (length alist) 51)))
     (while (setq entry (car alist))
-      (if (not (time-less-p (time-since (car entry)) expiry))
+      (if (not (nnmail-time-less (nnmail-time-since (car entry)) expiry))
          ;; This entry has expired, so we remove it.
          (setcdr prev (cdr alist))
        (setq prev alist)
          ;; This entry has expired, so we remove it.
          (setcdr prev (cdr alist))
        (setq prev alist)
index d3813f5..c429950 100644 (file)
@@ -743,7 +743,6 @@ used as score."
 
 (defun gnus-summary-score-entry (header match type score date
                                        &optional prompt silent)
 
 (defun gnus-summary-score-entry (header match type score date
                                        &optional prompt silent)
-  (interactive)
   "Enter score file entry.
 HEADER is the header being scored.
 MATCH is the string we are looking for.
   "Enter score file entry.
 HEADER is the header being scored.
 MATCH is the string we are looking for.
@@ -795,9 +794,9 @@ If optional argument `SILENT' is nil, show effect of score entry."
               (type
                (list match score
                      (and date (if (numberp date) date
               (type
                (list match score
                      (and date (if (numberp date) date
-                                 (date-to-day date)))
+                                 (gnus-day-number date)))
                      type))
                      type))
-              (date (list match score (date-to-day date)))
+              (date (list match score (gnus-day-number date)))
               (score (list match score))
               (t (list match))))
        ;; We see whether we can collapse some score entries.
               (score (list match score))
               (t (list match))))
        ;; We see whether we can collapse some score entries.
@@ -1122,7 +1121,7 @@ SCORE is the score to add."
                 (or (not decay)
                     (gnus-decay-scores alist decay)))
        (gnus-score-set 'touched '(t) alist)
                 (or (not decay)
                     (gnus-decay-scores alist decay)))
        (gnus-score-set 'touched '(t) alist)
-       (gnus-score-set 'decay (list (time-to-day (current-time))) alist))
+       (gnus-score-set 'decay (list (gnus-time-to-day (current-time))) alist))
       ;; We do not respect eval and files atoms from global score
       ;; files.
       (when (and files (not global))
       ;; We do not respect eval and files atoms from global score
       ;; files.
       (when (and files (not global))
@@ -1203,9 +1202,9 @@ SCORE is the score to add."
        ;; Couldn't read file.
        (setq gnus-score-alist nil)
       ;; Read file.
        ;; Couldn't read file.
        (setq gnus-score-alist nil)
       ;; Read file.
-      (with-temp-buffer
-       (let ((coding-system-for-write score-mode-coding-system))
-         (insert-file-contents file))
+      (save-excursion
+       (gnus-set-work-buffer)
+       (insert-file-contents file)
        (goto-char (point-min))
        ;; Only do the loading if the score file isn't empty.
        (when (save-excursion (re-search-forward "[()0-9a-zA-Z]" nil t))
        (goto-char (point-min))
        ;; Only do the loading if the score file isn't empty.
        (when (save-excursion (re-search-forward "[()0-9a-zA-Z]" nil t))
@@ -1291,7 +1290,7 @@ SCORE is the score to add."
              (setcar scor
                      (list (caar scor) (nth 2 (car scor))
                            (and (nth 3 (car scor))
              (setcar scor
                      (list (caar scor) (nth 2 (car scor))
                            (and (nth 3 (car scor))
-                                (date-to-day (nth 3 (car scor))))
+                                (gnus-day-number (nth 3 (car scor))))
                            (if (nth 1 (car scor)) 'r 's)))
              (setq scor (cdr scor))))
        (push (if (not (listp (cdr entry)))
                            (if (nth 1 (car scor)) 'r 's)))
              (setq scor (cdr scor))))
        (push (if (not (listp (cdr entry)))
@@ -1338,8 +1337,7 @@ SCORE is the score to add."
              (delete-file file)
            ;; There are scores, so we write the file.
            (when (file-writable-p file)
              (delete-file file)
            ;; There are scores, so we write the file.
            (when (file-writable-p file)
-             (let ((coding-system-for-write score-mode-coding-system))
-               (gnus-write-buffer file))
+             (gnus-write-buffer file)
              (when gnus-score-after-write-file-function
                (funcall gnus-score-after-write-file-function file)))))
        (and gnus-score-uncacheable-files
              (when gnus-score-after-write-file-function
                (funcall gnus-score-after-write-file-function file)))))
        (and gnus-score-uncacheable-files
@@ -1387,7 +1385,7 @@ SCORE is the score to add."
       (when (and gnus-summary-default-score
                 scores)
        (let* ((entries gnus-header-index)
       (when (and gnus-summary-default-score
                 scores)
        (let* ((entries gnus-header-index)
-              (now (date-to-day (current-time-string)))
+              (now (gnus-day-number (current-time-string)))
               (expire (and gnus-score-expiry-days
                            (- now gnus-score-expiry-days)))
               (headers gnus-newsgroup-headers)
               (expire (and gnus-score-expiry-days
                            (- now gnus-score-expiry-days)))
               (headers gnus-newsgroup-headers)
@@ -2211,9 +2209,9 @@ SCORE is the score to add."
     ;; Perform adaptive word scoring.
     (when (and (listp gnus-newsgroup-adaptive)
               (memq 'word gnus-newsgroup-adaptive))
     ;; Perform adaptive word scoring.
     (when (and (listp gnus-newsgroup-adaptive)
               (memq 'word gnus-newsgroup-adaptive))
-      (with-temp-buffer
+      (nnheader-temp-write nil
        (let* ((hashtb (gnus-make-hashtable 1000))
        (let* ((hashtb (gnus-make-hashtable 1000))
-              (date (date-to-day (current-time-string)))
+              (date (gnus-day-number (current-time-string)))
               (data gnus-newsgroup-data)
               (syntab (syntax-table))
               word d score val)
               (data gnus-newsgroup-data)
               (syntab (syntax-table))
               word d score val)
@@ -2627,7 +2625,7 @@ Destroys the current buffer."
 
 (defun gnus-sort-score-files (files)
   "Sort FILES so that the most general files come first."
 
 (defun gnus-sort-score-files (files)
   "Sort FILES so that the most general files come first."
-  (with-temp-buffer
+  (nnheader-temp-write nil
     (let ((alist
           (mapcar
            (lambda (file)
     (let ((alist
           (mapcar
            (lambda (file)
@@ -2839,7 +2837,7 @@ If ADAPT, return the home adaptive file instead."
 
 (defun gnus-decay-scores (alist day)
   "Decay non-permanent scores in ALIST."
 
 (defun gnus-decay-scores (alist day)
   "Decay non-permanent scores in ALIST."
-  (let ((times (- (time-to-day (current-time)) day))
+  (let ((times (- (gnus-time-to-day (current-time)) day))
        kill entry updated score n)
     (unless (zerop times)              ;Done decays today already?
       (while (setq entry (pop alist))
        kill entry updated score n)
     (unless (zerop times)              ;Done decays today already?
       (while (setq entry (pop alist))
index 71345c9..08f8176 100644 (file)
@@ -422,7 +422,7 @@ file.  The vector contain three strings, [prefix name encoding]."
   "Write the AREAS file."
   (interactive)
   (when gnus-soup-areas
   "Write the AREAS file."
   (interactive)
   (when gnus-soup-areas
-    (with-temp-file (concat gnus-soup-directory "AREAS")
+    (nnheader-temp-write (concat gnus-soup-directory "AREAS")
       (let ((areas gnus-soup-areas)
            area)
        (while (setq area (pop areas))
       (let ((areas gnus-soup-areas)
            area)
        (while (setq area (pop areas))
@@ -443,7 +443,7 @@ file.  The vector contain three strings, [prefix name encoding]."
 
 (defun gnus-soup-write-replies (dir areas)
   "Write a REPLIES file in DIR containing AREAS."
 
 (defun gnus-soup-write-replies (dir areas)
   "Write a REPLIES file in DIR containing AREAS."
-  (with-temp-file (concat dir "REPLIES")
+  (nnheader-temp-write (concat dir "REPLIES")
     (let (area)
       (while (setq area (pop areas))
        (insert (format "%s\t%s\t%s\n"
     (let (area)
       (while (setq area (pop areas))
        (insert (format "%s\t%s\t%s\n"
index 005d2d0..97ab9b8 100644 (file)
@@ -2530,8 +2530,8 @@ If FORCE is non-nil, the .newsrc file is read."
                          enable-multibyte-characters
                          (fboundp 'gnus-mule-get-coding-system)
                          (gnus-mule-get-coding-system (symbol-name group)))))
                          enable-multibyte-characters
                          (fboundp 'gnus-mule-get-coding-system)
                          (gnus-mule-get-coding-system (symbol-name group)))))
-               (when coding
-                 (setq str (nnheader-decode-coding-string str (car coding))))
+               (if coding
+                   (setq str (gnus-decode-coding-string str (car coding))))
                (set group str)))
            (forward-line 1))))
       (gnus-message 5 "Reading descriptions file...done")
                (set group str)))
            (forward-line 1))))
       (gnus-message 5 "Reading descriptions file...done")
index 1e02f04..8509f17 100644 (file)
@@ -504,7 +504,7 @@ with some simple extensions.
   :group 'gnus-threading
   :type 'string)
 
   :group 'gnus-threading
   :type 'string)
 
-(defcustom gnus-summary-mode-line-format "Gnus: %g [%A] %Z"
+(defcustom gnus-summary-mode-line-format "Gnus: %%b [%A] %Z"
   "*The format specification for the summary mode line.
 It works along the same lines as a normal formatting string,
 with some simple extensions:
   "*The format specification for the summary mode line.
 It works along the same lines as a normal formatting string,
 with some simple extensions:
@@ -663,7 +663,18 @@ is not run if `gnus-visual' is nil."
   :group 'gnus-summary-visual
   :type 'hook)
 
   :group 'gnus-summary-visual
   :type 'hook)
 
-(defcustom gnus-parse-headers-hook nil
+(defcustom gnus-structured-field-decoder 'identity
+  "Function to decode non-ASCII characters in structured field for summary."
+  :group 'gnus-various
+  :type 'function)
+
+(defcustom gnus-unstructured-field-decoder 'identity
+  "Function to decode non-ASCII characters in unstructured field for summary."
+  :group 'gnus-various
+  :type 'function)
+
+(defcustom gnus-parse-headers-hook
+  (list 'gnus-hack-decode-rfc1522 'gnus-decode-rfc1522)
   "*A hook called before parsing the headers."
   :group 'gnus-various
   :type 'hook)
   "*A hook called before parsing the headers."
   :group 'gnus-various
   :type 'hook)
@@ -1384,10 +1395,6 @@ increase the score of each group you read."
     "c" gnus-article-highlight-citation
     "s" gnus-article-highlight-signature)
 
     "c" gnus-article-highlight-citation
     "s" gnus-article-highlight-signature)
 
-  (gnus-define-keys (gnus-summary-wash-mime-map "M" gnus-summary-wash-map)
-    "w" gnus-article-decode-mime-words
-    "c" gnus-article-decode-charset)
-
   (gnus-define-keys (gnus-summary-wash-time-map "T" gnus-summary-wash-map)
     "z" gnus-article-date-ut
     "u" gnus-article-date-ut
   (gnus-define-keys (gnus-summary-wash-time-map "T" gnus-summary-wash-map)
     "z" gnus-article-date-ut
     "u" gnus-article-date-ut
@@ -1487,10 +1494,6 @@ increase the score of each group you read."
               ["Headers" gnus-article-highlight-headers t]
               ["Signature" gnus-article-highlight-signature t]
               ["Citation" gnus-article-highlight-citation t])
               ["Headers" gnus-article-highlight-headers t]
               ["Signature" gnus-article-highlight-signature t]
               ["Citation" gnus-article-highlight-citation t])
-            ("MIME"
-             ["Words" gnus-article-decode-mime-words t]
-             ["Charset" gnus-article-decode-charset t]
-             ["QP" gnus-article-de-quoted-unreadable t])
              ("Date"
               ["Local" gnus-article-date-local t]
               ["ISO8601" gnus-article-date-iso8601 t]
              ("Date"
               ["Local" gnus-article-date-local t]
               ["ISO8601" gnus-article-date-iso8601 t]
@@ -1883,7 +1886,6 @@ The following commands are available:
   (make-local-hook 'pre-command-hook)
   (add-hook 'pre-command-hook 'gnus-set-global-variables nil t)
   (gnus-run-hooks 'gnus-summary-mode-hook)
   (make-local-hook 'pre-command-hook)
   (add-hook 'pre-command-hook 'gnus-set-global-variables nil t)
   (gnus-run-hooks 'gnus-summary-mode-hook)
-  (mm-enable-multibyte)
   (gnus-update-format-specifications nil 'summary 'summary-mode 'summary-dummy)
   (gnus-update-summary-mark-positions))
 
   (gnus-update-format-specifications nil 'summary 'summary-mode 'summary-dummy)
   (gnus-update-summary-mark-positions))
 
@@ -3061,8 +3063,10 @@ Returns HEADER if it was entered in the DEPENDENCIES.  Returns nil otherwise."
          (setq header
                (make-full-mail-header
                 number                 ; number
          (setq header
                (make-full-mail-header
                 number                 ; number
-                (rfc2047-decode-string (gnus-nov-field)) ; subject
-                (rfc2047-decode-string (gnus-nov-field)) ; from
+                (funcall
+                 gnus-unstructured-field-decoder (gnus-nov-field)) ; subject
+                (funcall
+                 gnus-structured-field-decoder (gnus-nov-field)) ; from
                 (gnus-nov-field)       ; date
                 (or (gnus-nov-field)
                     (nnheader-generate-fake-message-id)) ; id
                 (gnus-nov-field)       ; date
                 (or (gnus-nov-field)
                     (nnheader-generate-fake-message-id)) ; id
@@ -3485,7 +3489,7 @@ If LINE, insert the rebuilt thread starting on line LINE."
 
 (defsubst gnus-article-sort-by-date (h1 h2)
   "Sort articles by root article date."
 
 (defsubst gnus-article-sort-by-date (h1 h2)
   "Sort articles by root article date."
-  (time-less-p
+  (gnus-time-less
    (gnus-date-get-time (mail-header-date h1))
    (gnus-date-get-time (mail-header-date h2))))
 
    (gnus-date-get-time (mail-header-date h1))
    (gnus-date-get-time (mail-header-date h2))))
 
@@ -4205,7 +4209,7 @@ If WHERE is `summary', the summary mode line format will be used."
          ;; We might have to chop a bit of the string off...
          (when (> (length mode-string) max-len)
            (setq mode-string
          ;; We might have to chop a bit of the string off...
          (when (> (length mode-string) max-len)
            (setq mode-string
-                 (concat (truncate-string mode-string (- max-len 3))
+                 (concat (gnus-truncate-string mode-string (- max-len 3))
                          "...")))
          ;; Pad the mode string a bit.
          (setq mode-string (format (format "%%-%ds" max-len) mode-string))))
                          "...")))
          ;; Pad the mode string a bit.
          (setq mode-string (format (format "%%-%ds" max-len) mode-string))))
@@ -4405,13 +4409,15 @@ The resulting hash table is returned, or nil if no Xrefs were found."
            (progn
              (goto-char p)
              (if (search-forward "\nsubject: " nil t)
            (progn
              (goto-char p)
              (if (search-forward "\nsubject: " nil t)
-                 (rfc2047-decode-string (nnheader-header-value))
+                 (funcall
+                  gnus-unstructured-field-decoder (nnheader-header-value))
                "(none)"))
            ;; From.
            (progn
              (goto-char p)
              (if (search-forward "\nfrom: " nil t)
                "(none)"))
            ;; From.
            (progn
              (goto-char p)
              (if (search-forward "\nfrom: " nil t)
-                 (rfc2047-decode-string (nnheader-header-value))
+                 (funcall
+                  gnus-structured-field-decoder (nnheader-header-value))
                "(nobody)"))
            ;; Date.
            (progn
                "(nobody)"))
            ;; Date.
            (progn
@@ -4531,10 +4537,9 @@ list of headers that match SEQUENCE (see `nntp-retrieve-headers')."
                                     number dependencies force-new))))
                   (push header headers))
              (forward-line 1))
                                     number dependencies force-new))))
                   (push header headers))
              (forward-line 1))
-         ;(error
-         ; (gnus-error 4 "Strange nov line (%d)"
-       ;              (count-lines (point-min) (point))))
-         )
+         (error
+          (gnus-error 4 "Strange nov line (%d)"
+                      (count-lines (point-min) (point)))))
        (forward-line 1))
       ;; A common bug in inn is that if you have posted an article and
       ;; then retrieves the active file, it will answer correctly --
        (forward-line 1))
       ;; A common bug in inn is that if you have posted an article and
       ;; then retrieves the active file, it will answer correctly --
@@ -5931,13 +5936,13 @@ articles that are younger than AGE days."
   (interactive "nTime in days: \nP")
   (prog1
       (let ((data gnus-newsgroup-data)
   (interactive "nTime in days: \nP")
   (prog1
       (let ((data gnus-newsgroup-data)
-           (cutoff (days-to-time age))
+           (cutoff (nnmail-days-to-time age))
            articles d date is-younger)
        (while (setq d (pop data))
          (when (and (vectorp (gnus-data-header d))
                     (setq date (mail-header-date (gnus-data-header d))))
            articles d date is-younger)
        (while (setq d (pop data))
          (when (and (vectorp (gnus-data-header d))
                     (setq date (mail-header-date (gnus-data-header d))))
-           (setq is-younger (time-less-p
-                             (time-since (date-to-time date))
+           (setq is-younger (nnmail-time-less
+                             (nnmail-time-since (nnmail-date-to-time date))
                              cutoff))
            (when (if younger-p
                      is-younger
                              cutoff))
            (when (if younger-p
                      is-younger
@@ -6510,7 +6515,7 @@ Obeys the standard process/prefix convention."
       (gnus-summary-remove-process-mark article)
       (when (gnus-summary-display-article article)
        (save-excursion
       (gnus-summary-remove-process-mark article)
       (when (gnus-summary-display-article article)
        (save-excursion
-         (with-temp-buffer
+         (nnheader-temp-write nil
            (insert-buffer-substring gnus-original-article-buffer)
            ;; Remove some headers that may lead nndoc to make
            ;; the wrong guess.
            (insert-buffer-substring gnus-original-article-buffer)
            ;; Remove some headers that may lead nndoc to make
            ;; the wrong guess.
@@ -7161,7 +7166,10 @@ latter case, they will be copied into the relevant groups."
              lines (count-lines (point-min) (point-max)))
        (insert "From: " (read-string "From: ") "\n"
                "Subject: " (read-string "Subject: ") "\n"
              lines (count-lines (point-min) (point-max)))
        (insert "From: " (read-string "From: ") "\n"
                "Subject: " (read-string "Subject: ") "\n"
-               "Date: " (message-make-date (nth 5 atts))
+               "Date: " (timezone-make-date-arpa-standard
+                         (current-time-string (nth 5 atts))
+                         (current-time-zone now)
+                         (current-time-zone now))
                "\n"
                "Message-ID: " (message-make-message-id) "\n"
                "Lines: " (int-to-string lines) "\n"
                "\n"
                "Message-ID: " (message-make-message-id) "\n"
                "Lines: " (int-to-string lines) "\n"
@@ -7312,7 +7320,7 @@ groups."
   (interactive)
   ;; Replace the article.
   (let ((buf (current-buffer)))
   (interactive)
   ;; Replace the article.
   (let ((buf (current-buffer)))
-    (with-temp-buffer
+    (nnheader-temp-write nil
       (insert-buffer buf)
       (if (and (not read-only)
               (not (gnus-request-replace-article
       (insert-buffer buf)
       (if (and (not read-only)
               (not (gnus-request-replace-article
@@ -7330,7 +7338,7 @@ groups."
                (message-narrow-to-head)
                (let ((head (buffer-string))
                      header)
                (message-narrow-to-head)
                (let ((head (buffer-string))
                      header)
-                 (with-temp-buffer
+                 (nnheader-temp-write nil
                    (insert (format "211 %d Article retrieved.\n"
                                    (cdr gnus-article-current)))
                    (insert head)
                    (insert (format "211 %d Article retrieved.\n"
                                    (cdr gnus-article-current)))
                    (insert head)
@@ -8150,7 +8158,7 @@ is non-nil or the Subject: of both articles are the same."
          (gnus-summary-select-article t t nil current-article))
        (set-buffer gnus-original-article-buffer)
        (let ((buf (format "%s" (buffer-string))))
          (gnus-summary-select-article t t nil current-article))
        (set-buffer gnus-original-article-buffer)
        (let ((buf (format "%s" (buffer-string))))
-         (with-temp-buffer
+         (nnheader-temp-write nil
            (insert buf)
            (goto-char (point-min))
            (if (re-search-forward "^References: " nil t)
            (insert buf)
            (goto-char (point-min))
            (if (re-search-forward "^References: " nil t)
@@ -8493,7 +8501,7 @@ If N is a negative number, save the N previous articles.
 If N is nil and any articles have been marked with the process mark,
 save those articles instead."
   (interactive "P")
 If N is nil and any articles have been marked with the process mark,
 save those articles instead."
   (interactive "P")
-  (let ((gnus-default-article-saver 'rmail-output-to-rmail-file))
+  (let ((gnus-default-article-saver 'gnus-summary-save-in-rmail))
     (gnus-summary-save-article arg)))
 
 (defun gnus-summary-save-article-file (&optional arg)
     (gnus-summary-save-article arg)))
 
 (defun gnus-summary-save-article-file (&optional arg)
index 03b017a..ac066e5 100644 (file)
 (require 'custom)
 (eval-when-compile (require 'cl))
 (require 'nnheader)
 (require 'custom)
 (eval-when-compile (require 'cl))
 (require 'nnheader)
+(require 'timezone)
 (require 'message)
 (require 'message)
-(require 'time-date)
 
 (eval-and-compile
 
 (eval-and-compile
+  (autoload 'nnmail-date-to-time "nnmail")
   (autoload 'rmail-insert-rmail-file-header "rmail")
   (autoload 'rmail-count-new-messages "rmail")
   (autoload 'rmail-show-message "rmail"))
   (autoload 'rmail-insert-rmail-file-header "rmail")
   (autoload 'rmail-count-new-messages "rmail")
   (autoload 'rmail-show-message "rmail"))
@@ -74,6 +75,9 @@
         (set symbol nil))
      symbol))
 
         (set symbol nil))
      symbol))
 
+(defun gnus-truncate-string (str width)
+  (substring str 0 width))
+
 ;; Added by Geoffrey T. Dairiki <dairiki@u.washington.edu>.  A safe way
 ;; to limit the length of a string.  This function is necessary since
 ;; `(substr "abc" 0 30)' pukes with "Args out of range".
 ;; Added by Geoffrey T. Dairiki <dairiki@u.washington.edu>.  A safe way
 ;; to limit the length of a string.  This function is necessary since
 ;; `(substr "abc" 0 30)' pukes with "Args out of range".
      (when (gnus-buffer-exists-p buf)
        (kill-buffer buf))))
 
      (when (gnus-buffer-exists-p buf)
        (kill-buffer buf))))
 
-(fset 'gnus-point-at-bol
-      (if (fboundp 'point-at-bol)
-         'point-at-bol
-       'line-beginning-position))
-
-(fset 'gnus-point-at-eol
-      (if (fboundp 'point-at-eol)
-         'point-at-eol
-       'line-end-position))
+(if (fboundp 'point-at-bol)
+    (fset 'gnus-point-at-bol 'point-at-bol)
+  (defun gnus-point-at-bol ()
+    "Return point at the beginning of the line."
+    (let ((p (point)))
+      (beginning-of-line)
+      (prog1
+         (point)
+       (goto-char p)))))
+
+(if (fboundp 'point-at-eol)
+    (fset 'gnus-point-at-eol 'point-at-eol)
+  (defun gnus-point-at-eol ()
+    "Return point at the end of the line."
+    (let ((p (point)))
+      (end-of-line)
+      (prog1
+         (point)
+       (goto-char p)))))
 
 (defun gnus-delete-first (elt list)
   "Delete by side effect the first occurrence of ELT as a member of LIST."
 
 (defun gnus-delete-first (elt list)
   "Delete by side effect the first occurrence of ELT as a member of LIST."
 
 ;;; Time functions.
 
 
 ;;; Time functions.
 
+(defun gnus-days-between (date1 date2)
+  ;; Return the number of days between date1 and date2.
+  (- (gnus-day-number date1) (gnus-day-number date2)))
+
+(defun gnus-day-number (date)
+  (let ((dat (mapcar (lambda (s) (and s (string-to-int s)) )
+                    (timezone-parse-date date))))
+    (timezone-absolute-from-gregorian
+     (nth 1 dat) (nth 2 dat) (car dat))))
+
+(defun gnus-time-to-day (time)
+  "Convert TIME to day number."
+  (let ((tim (decode-time time)))
+    (timezone-absolute-from-gregorian
+     (nth 4 tim) (nth 3 tim) (nth 5 tim))))
+
+(defun gnus-encode-date (date)
+  "Convert DATE to internal time."
+  (let* ((parse (timezone-parse-date date))
+        (date (mapcar (lambda (d) (and d (string-to-int d))) parse))
+        (time (mapcar 'string-to-int (timezone-parse-time (aref parse 3)))))
+    (encode-time (caddr time) (cadr time) (car time)
+                (caddr date) (cadr date) (car date)
+                (* 60 (timezone-zone-to-minute (nth 4 date))))))
+
+(defun gnus-time-minus (t1 t2)
+  "Subtract two internal times."
+  (let ((borrow (< (cadr t1) (cadr t2))))
+    (list (- (car t1) (car t2) (if borrow 1 0))
+         (- (+ (if borrow 65536 0) (cadr t1)) (cadr t2)))))
+
+(defun gnus-time-less (t1 t2)
+  "Say whether time T1 is less than time T2."
+  (or (< (car t1) (car t2))
+      (and (= (car t1) (car t2))
+          (< (nth 1 t1) (nth 1 t2)))))
+
 (defun gnus-file-newer-than (file date)
   (let ((fdate (nth 5 (file-attributes file))))
     (or (> (car fdate) (car date))
 (defun gnus-file-newer-than (file date)
   (let ((fdate (nth 5 (file-attributes file))))
     (or (> (car fdate) (car date))
 
 (defun gnus-dd-mmm (messy-date)
   "Return a string like DD-MMM from a big messy string."
 
 (defun gnus-dd-mmm (messy-date)
   "Return a string like DD-MMM from a big messy string."
-  (format-time-string "%2d-%b" (date-to-time messy-date)))
+  (let ((datevec (ignore-errors (timezone-parse-date messy-date))))
+    (if (or (not datevec)
+           (string-equal "0" (aref datevec 1)))
+       "??-???"
+      (format "%2s-%s"
+             (condition-case ()
+                 ;; Make sure leading zeroes are stripped.
+                 (number-to-string (string-to-number (aref datevec 2)))
+               (error "??"))
+             (capitalize
+              (or (car
+                   (nth (1- (string-to-number (aref datevec 1)))
+                        timezone-months-assoc))
+                  "???"))))))
 
 (defmacro gnus-date-get-time (date)
   "Convert DATE string to Emacs time.
 
 (defmacro gnus-date-get-time (date)
   "Convert DATE string to Emacs time.
@@ -302,7 +366,7 @@ Cache the result as a text property stored in DATE."
         '(0 0)
        (or (get-text-property 0 'gnus-time d)
           ;; or compute the value...
         '(0 0)
        (or (get-text-property 0 'gnus-time d)
           ;; or compute the value...
-          (let ((time (date-to-time d)))
+          (let ((time (nnmail-date-to-time d)))
             ;; and store it back in the string.
             (put-text-property 0 1 'gnus-time time d)
             time)))))
             ;; and store it back in the string.
             (put-text-property 0 1 'gnus-time time d)
             time)))))
@@ -433,8 +497,20 @@ If N, return the Nth ancestor instead."
     (cons (and (numberp event) event) event)))
 
 (defun gnus-sortable-date (date)
     (cons (and (numberp event) event) event)))
 
 (defun gnus-sortable-date (date)
-  "Make string suitable for sorting from DATE."
-  (gnus-time-iso8601 (date-to-time date)))
+  "Make sortable string by string-lessp from DATE.
+Timezone package is used."
+  (condition-case ()
+      (progn
+       (setq date (inline (timezone-fix-time
+                           date nil
+                           (aref (inline (timezone-parse-date date)) 4))))
+       (inline
+         (timezone-make-sortable-date
+          (aref date 0) (aref date 1) (aref date 2)
+          (inline
+            (timezone-make-time-string
+             (aref date 3) (aref date 4) (aref date 5))))))
+    (error "")))
 
 (defun gnus-copy-file (file &optional to)
   "Copy FILE to TO."
 
 (defun gnus-copy-file (file &optional to)
   "Copy FILE to TO."
@@ -466,7 +542,7 @@ If N, return the Nth ancestor instead."
        (erase-buffer))
     (set-buffer (gnus-get-buffer-create gnus-work-buffer))
     (kill-all-local-variables)
        (erase-buffer))
     (set-buffer (gnus-get-buffer-create gnus-work-buffer))
     (kill-all-local-variables)
-    (mm-enable-multibyte)))
+    (buffer-disable-undo (current-buffer))))
 
 (defmacro gnus-group-real-name (group)
   "Find the real name of a foreign newsgroup."
 
 (defmacro gnus-group-real-name (group)
   "Find the real name of a foreign newsgroup."
@@ -639,6 +715,58 @@ with potentially long computations."
 
 ;;; Functions for saving to babyl/mail files.
 
 
 ;;; Functions for saving to babyl/mail files.
 
+(defvar rmail-default-rmail-file)
+(defun gnus-output-to-rmail (filename &optional ask)
+  "Append the current article to an Rmail file named FILENAME."
+  (require 'rmail)
+  ;; Most of these codes are borrowed from rmailout.el.
+  (setq filename (expand-file-name filename))
+  (setq rmail-default-rmail-file filename)
+  (let ((artbuf (current-buffer))
+       (tmpbuf (gnus-get-buffer-create " *Gnus-output*")))
+    (save-excursion
+      (or (get-file-buffer filename)
+         (file-exists-p filename)
+         (if (or (not ask)
+                 (gnus-yes-or-no-p
+                  (concat "\"" filename "\" does not exist, create it? ")))
+             (let ((file-buffer (create-file-buffer filename)))
+               (save-excursion
+                 (set-buffer file-buffer)
+                 (rmail-insert-rmail-file-header)
+                 (let ((require-final-newline nil))
+                   (gnus-write-buffer filename)))
+               (kill-buffer file-buffer))
+           (error "Output file does not exist")))
+      (set-buffer tmpbuf)
+      (erase-buffer)
+      (insert-buffer-substring artbuf)
+      (gnus-convert-article-to-rmail)
+      ;; Decide whether to append to a file or to an Emacs buffer.
+      (let ((outbuf (get-file-buffer filename)))
+       (if (not outbuf)
+           (append-to-file (point-min) (point-max) filename)
+         ;; File has been visited, in buffer OUTBUF.
+         (set-buffer outbuf)
+         (let ((buffer-read-only nil)
+               (msg (and (boundp 'rmail-current-message)
+                         (symbol-value 'rmail-current-message))))
+           ;; If MSG is non-nil, buffer is in RMAIL mode.
+           (when msg
+             (widen)
+             (narrow-to-region (point-max) (point-max)))
+           (insert-buffer-substring tmpbuf)
+           (when msg
+             (goto-char (point-min))
+             (widen)
+             (search-backward "\^_")
+             (narrow-to-region (point) (point-max))
+             (goto-char (1+ (point-min)))
+             (rmail-count-new-messages t)
+             (rmail-show-message msg))
+           (save-buffer)))))
+    (kill-buffer tmpbuf)))
+
 (defun gnus-output-to-mail (filename &optional ask)
   "Append the current article to a mail file named FILENAME."
   (setq filename (expand-file-name filename))
 (defun gnus-output-to-mail (filename &optional ask)
   "Append the current article to a mail file named FILENAME."
   (setq filename (expand-file-name filename))
index dc0f34c..00fc583 100644 (file)
@@ -41,8 +41,6 @@ automatically."
                 directory)
   :group 'gnus-xmas)
 
                 directory)
   :group 'gnus-xmas)
 
-;;(format "%02x%02x%02x" 114 66 20) "724214"
-
 (defvar gnus-xmas-logo-color-alist
   '((flame "#cc3300" "#ff2200")
     (pine "#c0cc93" "#f8ffb8")
 (defvar gnus-xmas-logo-color-alist
   '((flame "#cc3300" "#ff2200")
     (pine "#c0cc93" "#f8ffb8")
@@ -54,18 +52,16 @@ automatically."
     (grape "#b264cc" "#cf7df")
     (labia "#cc64c2" "#fd7dff")
     (berry "#cc6485" "#ff7db5")
     (grape "#b264cc" "#cf7df")
     (labia "#cc64c2" "#fd7dff")
     (berry "#cc6485" "#ff7db5")
-    (dino "#724214" "#1e3f03")
     (neutral "#b4b4b4" "#878787")
     (september "#bf9900" "#ffcc00"))
   "Color alist used for the Gnus logo.")
 
     (neutral "#b4b4b4" "#878787")
     (september "#bf9900" "#ffcc00"))
   "Color alist used for the Gnus logo.")
 
-(defcustom gnus-xmas-logo-color-style 'dino
+(defcustom gnus-xmas-logo-color-style 'moss
   "*Color styles used for the Gnus logo."
   :type '(choice (const flame) (const pine) (const moss)
                 (const irish) (const sky) (const tin)
                 (const velvet) (const grape) (const labia)
   "*Color styles used for the Gnus logo."
   :type '(choice (const flame) (const pine) (const moss)
                 (const irish) (const sky) (const tin)
                 (const velvet) (const grape) (const labia)
-                (const berry) (const neutral) (const september)
-                (const dino))
+                (const berry) (const neutral) (const september))
   :group 'gnus-xmas)
 
 (defvar gnus-xmas-logo-colors
   :group 'gnus-xmas)
 
 (defvar gnus-xmas-logo-colors
@@ -398,6 +394,24 @@ call it with the value of the `gnus-data' text property."
               (event-to-character event))
          event)))
 
               (event-to-character event))
          event)))
 
+(defun gnus-xmas-seconds-since-epoch (date)
+  "Return a floating point number that says how many seconds have lapsed between Jan 1 12:00:00 1970 and DATE."
+  (let* ((tdate (mapcar (lambda (ti) (and ti (string-to-int ti)))
+                       (timezone-parse-date date)))
+        (ttime (mapcar (lambda (ti) (and ti (string-to-int ti)))
+                       (timezone-parse-time
+                        (aref (timezone-parse-date date) 3))))
+        (edate (mapcar (lambda (ti) (and ti (string-to-int ti)))
+                       (timezone-parse-date "Jan 1 12:00:00 1970")))
+        (tday (- (timezone-absolute-from-gregorian
+                  (nth 1 tdate) (nth 2 tdate) (nth 0 tdate))
+                 (timezone-absolute-from-gregorian
+                  (nth 1 edate) (nth 2 edate) (nth 0 edate)))))
+    (+ (nth 2 ttime)
+       (* (nth 1 ttime) 60)
+       (* (float (nth 0 ttime)) 60 60)
+       (* (float tday) 60 60 24))))
+
 (defun gnus-xmas-define ()
   (setq gnus-mouse-2 [button2])
 
 (defun gnus-xmas-define ()
   (setq gnus-mouse-2 [button2])
 
@@ -442,6 +456,16 @@ call it with the value of the `gnus-data' text property."
 
   (defvar gnus-mouse-face-prop 'highlight)
 
 
   (defvar gnus-mouse-face-prop 'highlight)
 
+  (unless (fboundp 'encode-time)
+    (defun encode-time (sec minute hour day month year &optional zone)
+      (let ((seconds
+            (gnus-xmas-seconds-since-epoch
+             (timezone-make-arpa-date
+              year month day (timezone-make-time-string hour minute sec)
+              zone))))
+       (list (floor (/ seconds (expt 2 16)))
+             (round (mod seconds (expt 2 16)))))))
+
   (defun gnus-byte-code (func)
     "Return a form that can be `eval'ed based on FUNC."
     (let ((fval (indirect-function func)))
   (defun gnus-byte-code (func)
     "Return a form that can be `eval'ed based on FUNC."
     (let ((fval (indirect-function func)))
index e290233..0af6b9c 100644 (file)
@@ -250,10 +250,10 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "0.17"
+(defconst gnus-version-number "5.6.43"
   "Version number for this version of Gnus.")
 
   "Version number for this version of Gnus.")
 
-(defconst gnus-version (format "Pterodactyl Gnus v%s" gnus-version-number)
+(defconst gnus-version (format "Gnus v%s" gnus-version-number)
   "Version string for this version of Gnus.")
 
 (defcustom gnus-inhibit-startup-message nil
   "Version string for this version of Gnus.")
 
 (defcustom gnus-inhibit-startup-message nil
@@ -637,13 +637,13 @@ be set in `.emacs' instead."
 (defface gnus-splash-face
   '((((class color)
       (background dark))
 (defface gnus-splash-face
   '((((class color)
       (background dark))
-     (:foreground "Brown"))
+     (:foreground "ForestGreen"))
     (((class color)
       (background light))
     (((class color)
       (background light))
-     (:foreground "Brown"))
+     (:foreground "ForestGreen"))
     (t
      ()))
     (t
      ()))
-  "Face of the splash screen.")
+  "Level 1 newsgroup face.")
 
 (defun gnus-splash ()
   (save-excursion
 
 (defun gnus-splash ()
   (save-excursion
@@ -1346,16 +1346,12 @@ face."
 (defcustom gnus-article-display-hook
   (if (and (string-match "XEmacs" emacs-version)
           (featurep 'xface))
 (defcustom gnus-article-display-hook
   (if (and (string-match "XEmacs" emacs-version)
           (featurep 'xface))
-      '(gnus-article-decode-charset
-       gnus-article-decode-rfc1522
-       gnus-article-hide-headers-if-wanted
+      '(gnus-article-hide-headers-if-wanted
        gnus-article-hide-boring-headers
        gnus-article-treat-overstrike
        gnus-article-maybe-highlight
        gnus-article-display-x-face)
        gnus-article-hide-boring-headers
        gnus-article-treat-overstrike
        gnus-article-maybe-highlight
        gnus-article-display-x-face)
-    '(gnus-article-decode-charset
-      gnus-article-decode-rfc1522
-      gnus-article-hide-headers-if-wanted
+    '(gnus-article-hide-headers-if-wanted
       gnus-article-hide-boring-headers
       gnus-article-treat-overstrike
       gnus-article-maybe-highlight))
       gnus-article-hide-boring-headers
       gnus-article-treat-overstrike
       gnus-article-maybe-highlight))
@@ -1412,7 +1408,6 @@ want."
 \f
 ;;; Internal variables
 
 \f
 ;;; Internal variables
 
-(defvar gnus-agent-meta-information-header "X-Gnus-Agent-Meta-Information")
 (defvar gnus-group-get-parameter-function 'gnus-group-get-parameter)
 (defvar gnus-original-article-buffer " *Original Article*")
 (defvar gnus-newsgroup-name nil)
 (defvar gnus-group-get-parameter-function 'gnus-group-get-parameter)
 (defvar gnus-original-article-buffer " *Original Article*")
 (defvar gnus-newsgroup-name nil)
@@ -1574,19 +1569,20 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.")
          (cdr package)))))
    '(("metamail" metamail-buffer)
      ("info" Info-goto-node)
          (cdr package)))))
    '(("metamail" metamail-buffer)
      ("info" Info-goto-node)
+     ("hexl" hexl-hex-string-to-integer)
      ("pp" pp pp-to-string pp-eval-expression)
      ("pp" pp pp-to-string pp-eval-expression)
-     ("qp" quoted-printable-decode-region quoted-printable-decode-string)
-     ("rfc2047" rfc2047-decode-region rfc2047-decode-string)
      ("ps-print" ps-print-preprint)
      ("mail-extr" mail-extract-address-components)
      ("browse-url" browse-url)
      ("message" :interactive t
       message-send-and-exit message-yank-original)
      ("ps-print" ps-print-preprint)
      ("mail-extr" mail-extract-address-components)
      ("browse-url" browse-url)
      ("message" :interactive t
       message-send-and-exit message-yank-original)
-     ("nnmail" nnmail-split-fancy nnmail-article-group)
+     ("nnmail" nnmail-split-fancy nnmail-article-group nnmail-date-to-time)
      ("nnvirtual" nnvirtual-catchup-group nnvirtual-convert-headers)
      ("nnvirtual" nnvirtual-catchup-group nnvirtual-convert-headers)
+     ("timezone" timezone-make-date-arpa-standard timezone-fix-time
+      timezone-make-sortable-date timezone-make-time-string)
      ("rmailout" rmail-output)
      ("rmail" rmail-insert-rmail-file-header rmail-count-new-messages
      ("rmailout" rmail-output)
      ("rmail" rmail-insert-rmail-file-header rmail-count-new-messages
-      rmail-show-message rmail-output-to-rmail-file)
+      rmail-show-message)
      ("gnus-audio" :interactive t gnus-audio-play)
      ("gnus-xmas" gnus-xmas-splash)
      ("gnus-soup" :interactive t
      ("gnus-audio" :interactive t gnus-audio-play)
      ("gnus-xmas" gnus-xmas-splash)
      ("gnus-soup" :interactive t
@@ -1701,7 +1697,7 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.")
       gnus-article-treat-overstrike gnus-article-word-wrap
       gnus-article-remove-cr gnus-article-remove-trailing-blank-lines
       gnus-article-display-x-face gnus-article-de-quoted-unreadable
       gnus-article-treat-overstrike gnus-article-word-wrap
       gnus-article-remove-cr gnus-article-remove-trailing-blank-lines
       gnus-article-display-x-face gnus-article-de-quoted-unreadable
-      gnus-article-hide-pgp
+      gnus-article-mime-decode-quoted-printable gnus-article-hide-pgp
       gnus-article-hide-pem gnus-article-hide-signature
       gnus-article-strip-leading-blank-lines gnus-article-date-local
       gnus-article-date-original gnus-article-date-lapsed
       gnus-article-hide-pem gnus-article-hide-signature
       gnus-article-strip-leading-blank-lines gnus-article-date-local
       gnus-article-date-original gnus-article-date-lapsed
@@ -2004,13 +2000,14 @@ If ARG, insert string at point."
       (string-to-number
        (if (zerop major)
           (format "%s00%02d%02d"
       (string-to-number
        (if (zerop major)
           (format "%s00%02d%02d"
-                  (if (member alpha '("(ding)" "d"))
-                      "4.99"
-                    (+ 5 (* 0.02
-                            (abs
-                             (- (mm-char-int (aref (downcase alpha) 0))
-                                (mm-char-int ?t))))
-                       -0.01))
+                  (cond
+                   ((member alpha '("(ding)" "d")) "4.99")
+                   ((member alpha '("September" "s")) "5.01")
+                   ((member alpha '("Red" "r")) "5.03")
+                   ((member alpha '("Quassia" "q")) "5.05")
+                   ((member alpha '("p")) "5.07")
+                   ((member alpha '("o")) "5.09")
+                   ((member alpha '("n")) "5.11"))
                   minor least)
         (format "%d.%02d%02d" major minor least))))))
 
                   minor least)
         (format "%d.%02d%02d" major minor least))))))
 
index cfee844..d41172b 100644 (file)
                     run-with-idle-timer mouse-minibuffer-check window-edges
                     event-click-count track-mouse read-event mouse-movement-p
                     event-end mouse-scroll-subr overlay-lists delete-overlay
                     run-with-idle-timer mouse-minibuffer-check window-edges
                     event-click-count track-mouse read-event mouse-movement-p
                     event-end mouse-scroll-subr overlay-lists delete-overlay
-                    set-face-stipple mail-abbrevs-setup 
+                    set-face-stipple mail-abbrevs-setup char-int
                     make-char-table set-char-table-range font-create-object
                     x-color-values widget-make-intangible error-message-string
                     w3-form-encode-xwfu gnus-mule-get-coding-system
                     make-char-table set-char-table-range font-create-object
                     x-color-values widget-make-intangible error-message-string
                     w3-form-encode-xwfu gnus-mule-get-coding-system
-                    decode-coding-string mail-aliases-setup
-                    mm-copy-tree url-view-url w3-prepare-buffer
-                    set-buffer-multibyte
-                    find-non-ascii-charset-region char-charset
-                    mule-write-region-no-coding-system
-                    find-charset-region base64-decode-string))
+                    decode-coding-string mail-aliases-setup))
       (maybe-bind '(global-face-data
                    mark-active transient-mark-mode mouse-selection-click-count
                    mouse-selection-click-count-buffer buffer-display-table
                    font-lock-defaults user-full-name user-login-name
                    gnus-newsgroup-name gnus-article-x-face-too-ugly
                    mail-mode-hook enable-multibyte-characters
       (maybe-bind '(global-face-data
                    mark-active transient-mark-mode mouse-selection-click-count
                    mouse-selection-click-count-buffer buffer-display-table
                    font-lock-defaults user-full-name user-login-name
                    gnus-newsgroup-name gnus-article-x-face-too-ugly
                    mail-mode-hook enable-multibyte-characters
-                   adaptive-fill-first-line-regexp adaptive-fill-regexp
-                   url-current-mime-headers buffer-file-coding-system)))
+                   adaptive-fill-first-line-regexp adaptive-fill-regexp)))
   (maybe-bind '(mail-mode-hook
                enable-multibyte-characters browse-url-browser-function
   (maybe-bind '(mail-mode-hook
                enable-multibyte-characters browse-url-browser-function
-               adaptive-fill-first-line-regexp adaptive-fill-regexp
-               url-current-mime-headers))
+               adaptive-fill-first-line-regexp adaptive-fill-regexp))
   (maybe-fbind '(color-instance-rgb-components
                 make-color-instance color-instance-name specifier-instance
                 device-type device-class get-popup-menu-response event-object
   (maybe-fbind '(color-instance-rgb-components
                 make-color-instance color-instance-name specifier-instance
                 device-type device-class get-popup-menu-response event-object
@@ -60,9 +53,7 @@
                 device-on-window-system-p make-gui-button Info-goto-node
                 pp-to-string color-name 
                 gnus-mule-get-coding-system decode-coding-string
                 device-on-window-system-p make-gui-button Info-goto-node
                 pp-to-string color-name 
                 gnus-mule-get-coding-system decode-coding-string
-                mail-aliases-setup
-                mm-copy-tree url-view-url w3-prepare-buffer
-                mule-write-region-no-coding-system char-int)))
+                mail-aliases-setup)))
 
 (setq load-path (cons "." load-path))
 (require 'custom)
 
 (setq load-path (cons "." load-path))
 (require 'custom)
index 0425d29..a7e5cd4 100644 (file)
 
 (require 'mailheader)
 (require 'nnheader)
 
 (require 'mailheader)
 (require 'nnheader)
+(require 'timezone)
 (require 'easymenu)
 (require 'custom)
 (if (string-match "XEmacs\\|Lucid" emacs-version)
     (require 'mail-abbrevs)
   (require 'mailabbrev))
 (require 'easymenu)
 (require 'custom)
 (if (string-match "XEmacs\\|Lucid" emacs-version)
     (require 'mail-abbrevs)
   (require 'mailabbrev))
-(require 'rfc2047)
-(require 'mm-bodies)
 
 (defgroup message '((user-mail-address custom-variable)
                    (user-full-name custom-variable))
 
 (defgroup message '((user-mail-address custom-variable)
                    (user-full-name custom-variable))
@@ -849,7 +848,6 @@ The cdr of ech entry is a function for applying the face to a region.")
 
 ;;; Internal variables.
 
 
 ;;; Internal variables.
 
-(defvar message-default-charset nil)
 (defvar message-buffer-list nil)
 (defvar message-this-is-news nil)
 (defvar message-this-is-mail nil)
 (defvar message-buffer-list nil)
 (defvar message-this-is-news nil)
 (defvar message-this-is-mail nil)
@@ -950,6 +948,7 @@ The cdr of ech entry is a function for applying the face to a region.")
   (autoload 'gnus-point-at-eol "gnus-util")
   (autoload 'gnus-point-at-bol "gnus-util")
   (autoload 'gnus-output-to-mail "gnus-util")
   (autoload 'gnus-point-at-eol "gnus-util")
   (autoload 'gnus-point-at-bol "gnus-util")
   (autoload 'gnus-output-to-mail "gnus-util")
+  (autoload 'gnus-output-to-rmail "gnus-util")
   (autoload 'mail-abbrev-in-expansion-header-p "mailabbrev")
   (autoload 'nndraft-request-associate-buffer "nndraft")
   (autoload 'nndraft-request-expire-articles "nndraft")
   (autoload 'mail-abbrev-in-expansion-header-p "mailabbrev")
   (autoload 'nndraft-request-associate-buffer "nndraft")
   (autoload 'nndraft-request-expire-articles "nndraft")
@@ -1012,7 +1011,7 @@ The cdr of ech entry is a function for applying the face to a region.")
   (when (and (file-exists-p file)
             (file-readable-p file)
             (file-regular-p file))
   (when (and (file-exists-p file)
             (file-readable-p file)
             (file-regular-p file))
-    (with-temp-buffer
+    (nnheader-temp-write nil
       (nnheader-insert-file-contents file)
       (goto-char (point-min))
       (looking-at message-unix-mail-delimiter))))
       (nnheader-insert-file-contents file)
       (goto-char (point-min))
       (looking-at message-unix-mail-delimiter))))
@@ -1024,20 +1023,6 @@ The cdr of ech entry is a function for applying the face to a region.")
     (when value
       (nnheader-replace-chars-in-string value ?\n ? ))))
 
     (when value
       (nnheader-replace-chars-in-string value ?\n ? ))))
 
-(defun message-narrow-to-field ()
-  "Narrow the buffer to the header on the current line."
-  (beginning-of-line)
-  (narrow-to-region
-   (point)
-   (progn
-     (forward-line 1)
-     (if (re-search-forward "^[^ \n\t]" nil t)
-        (progn
-          (beginning-of-line)
-          (point))
-       (point-max))))
-  (goto-char (point-min)))
-
 (defun message-add-header (&rest headers)
   "Add the HEADERS to the message header, skipping those already present."
   (while headers
 (defun message-add-header (&rest headers)
   "Add the HEADERS to the message header, skipping those already present."
   (while headers
@@ -1066,7 +1051,7 @@ The cdr of ech entry is a function for applying the face to a region.")
        (erase-buffer))
     (set-buffer (get-buffer-create " *message work*"))
     (kill-all-local-variables)
        (erase-buffer))
     (set-buffer (get-buffer-create " *message work*"))
     (kill-all-local-variables)
-    (mm-enable-multibyte)))
+    (buffer-disable-undo (current-buffer))))
 
 (defun message-functionp (form)
   "Return non-nil if FORM is funcallable."
 
 (defun message-functionp (form)
   "Return non-nil if FORM is funcallable."
@@ -1126,8 +1111,7 @@ Return the number of headers removed."
   (goto-char (point-min)))
 
 (defun message-narrow-to-head ()
   (goto-char (point-min)))
 
 (defun message-narrow-to-head ()
-  "Narrow the buffer to the head of the message.
-Point is left at the beginning of the narrowed-to region."
+  "Narrow the buffer to the head of the message."
   (widen)
   (narrow-to-region
    (goto-char (point-min))
   (widen)
   (narrow-to-region
    (goto-char (point-min))
@@ -1385,7 +1369,6 @@ C-c C-r  message-caesar-buffer-body (rot13 the message body)."
   (setq adaptive-fill-first-line-regexp
        (concat "[ \t]*[-a-z0-9A-Z]*>+[ \t]*\\|"
                adaptive-fill-first-line-regexp))
   (setq adaptive-fill-first-line-regexp
        (concat "[ \t]*[-a-z0-9A-Z]*>+[ \t]*\\|"
                adaptive-fill-first-line-regexp))
-  (mm-enable-multibyte)
   (run-hooks 'text-mode-hook 'message-mode-hook))
 
 \f
   (run-hooks 'text-mode-hook 'message-mode-hook))
 
 \f
@@ -1621,10 +1604,9 @@ text was killed."
     ;; Then we translate the region.  Do it this way to retain
     ;; text properties.
     (while (< b e)
     ;; Then we translate the region.  Do it this way to retain
     ;; text properties.
     (while (< b e)
-      (when (< (char-after b) 255)
-       (subst-char-in-region
-        b (1+ b) (char-after b)
-        (aref message-caesar-translation-table (char-after b))))
+      (subst-char-in-region
+       b (1+ b) (char-after b)
+       (aref message-caesar-translation-table (char-after b)))
       (incf b))))
 
 (defun message-make-caesar-translation-table (n)
       (incf b))))
 
 (defun message-make-caesar-translation-table (n)
@@ -2021,10 +2003,8 @@ the user from the mailer."
       (let ((message-deletable-headers
             (if news nil message-deletable-headers)))
        (message-generate-headers message-required-mail-headers))
       (let ((message-deletable-headers
             (if news nil message-deletable-headers)))
        (message-generate-headers message-required-mail-headers))
-      (rfc2047-encode-message-header)
       ;; Let the user do all of the above.
       (run-hooks 'message-header-hook))
       ;; Let the user do all of the above.
       (run-hooks 'message-header-hook))
-    (message-encode-message-body)
     (unwind-protect
        (save-excursion
          (set-buffer tembuf)
     (unwind-protect
        (save-excursion
          (set-buffer tembuf)
@@ -2193,10 +2173,8 @@ to find out how to use this."
       (message-narrow-to-headers)
       ;; Insert some headers.
       (message-generate-headers message-required-news-headers)
       (message-narrow-to-headers)
       ;; Insert some headers.
       (message-generate-headers message-required-news-headers)
-      (rfc2047-encode-message-header)
       ;; Let the user do all of the above.
       (run-hooks 'message-header-hook))
       ;; Let the user do all of the above.
       (run-hooks 'message-header-hook))
-    (message-encode-message-body)
     (message-cleanup-headers)
     (if (not (message-check-news-syntax))
        (progn
     (message-cleanup-headers)
     (if (not (message-check-news-syntax))
        (progn
@@ -2490,7 +2468,7 @@ to find out how to use this."
           (y-or-n-p "Empty article.  Really post? "))))
    ;; Check for control characters.
    (message-check 'control-chars
           (y-or-n-p "Empty article.  Really post? "))))
    ;; Check for control characters.
    (message-check 'control-chars
-     (if (re-search-forward "[\000-\007\013\015-\032\034-\037\200-\237]" nil t)
+     (if (re-search-forward "[\000-\007\013\015-\037\200-\237]" nil t)
         (y-or-n-p
          "The article contains control characters.  Really post? ")
        t))
         (y-or-n-p
          "The article contains control characters.  Really post? ")
        t))
@@ -2579,7 +2557,7 @@ to find out how to use this."
   "Append this article to Unix/babyl mail file.."
   (if (and (file-readable-p filename)
           (mail-file-babyl-p filename))
   "Append this article to Unix/babyl mail file.."
   (if (and (file-readable-p filename)
           (mail-file-babyl-p filename))
-      (rmail-output-to-rmail-file filename t)
+      (gnus-output-to-rmail filename t)
     (gnus-output-to-mail filename t)))
 
 (defun message-cleanup-headers ()
     (gnus-output-to-mail filename t)))
 
 (defun message-cleanup-headers ()
@@ -2614,10 +2592,11 @@ to find out how to use this."
        (when (re-search-forward ",+$" nil t)
          (replace-match "" t t))))))
 
        (when (re-search-forward ",+$" nil t)
          (replace-match "" t t))))))
 
-(defun message-make-date (&optional now)
-  "Make a valid data header.
-If NOW, use that time instead."
-  (format-time-string "%d %b %Y %H:%M:%S %z" (or now (current-time))))
+(defun message-make-date ()
+  "Make a valid data header."
+  (let ((now (current-time)))
+    (timezone-make-date-arpa-standard
+     (current-time-string now) (current-time-zone now))))
 
 (defun message-make-message-id ()
   "Make a unique Message-ID."
 
 (defun message-make-message-id ()
   "Make a unique Message-ID."
@@ -2742,7 +2721,9 @@ If NOW, use that time instead."
     ;; Add the future to current.
     (setcar current (+ (car current) (round (/ future (expt 2 16)))))
     (setcar (cdr current) (+ (nth 1 current) (% (round future) (expt 2 16))))
     ;; Add the future to current.
     (setcar current (+ (car current) (round (/ future (expt 2 16)))))
     (setcar (cdr current) (+ (nth 1 current) (% (round future) (expt 2 16))))
-    (message-make-date current)))
+    ;; Return the date in the future in UT.
+    (timezone-make-date-arpa-standard
+     (current-time-string current) (current-time-zone current) '(0 "UT"))))
 
 (defun message-make-path ()
   "Return uucp path."
 
 (defun message-make-path ()
   "Return uucp path."
@@ -3074,7 +3055,7 @@ Headers already prepared in the buffer are not modified."
   (let ((max 988)
        (cut 4)
        refs)
   (let ((max 988)
        (cut 4)
        refs)
-    (with-temp-buffer
+    (nnheader-temp-write nil
       (insert references)
       (goto-char (point-min))
       (while (re-search-forward "<[^>]+>" nil t)
       (insert references)
       (goto-char (point-min))
       (while (re-search-forward "<[^>]+>" nil t)
@@ -3602,7 +3583,7 @@ header line with the old Message-ID."
 
 (defun message-wash-subject (subject)
   "Remove junk like \"Re:\", \"(fwd)\", etc. that was added to the subject by previous forwarders, replyers, etc."
 
 (defun message-wash-subject (subject)
   "Remove junk like \"Re:\", \"(fwd)\", etc. that was added to the subject by previous forwarders, replyers, etc."
-  (with-temp-buffer
+  (nnheader-temp-write nil
     (insert-string subject)
     (goto-char (point-min))
     ;; strip Re/Fwd stuff off the beginning
     (insert-string subject)
     (goto-char (point-min))
     ;; strip Re/Fwd stuff off the beginning
@@ -4021,35 +4002,6 @@ regexp varstr."
       (setq idx (1+ idx)))
     string))
 
       (setq idx (1+ idx)))
     string))
 
-;;;
-;;; MIME functions
-;;;
-
-(defun message-encode-message-body ()
-  "Examine the message body, encode it, and add the requisite headers."
-  (when (featurep 'mule)
-    (save-excursion
-      (save-restriction
-       (message-narrow-to-headers)
-       (message-remove-header
-        "^Content-Transfer-Encoding:\\|^Content-Type:\\|^Mime-Version:" t)
-       (goto-char (point-max))
-       (widen)
-       (narrow-to-region (point) (point-max))
-       (let* ((charset (mm-encode-body))
-              (encoding (mm-body-encoding)))
-         (when (consp charset)
-           (error "Can't encode messages with multiple charsets (yet)"))
-         (widen)
-         (message-narrow-to-headers)
-         (goto-char (point-max))
-         (setq charset (or charset (mm-mule-charset-to-mime-charset 'ascii)))
-         ;; We don't insert MIME headers if they only say the default.
-         (unless (and (eq charset 'ascii)
-                      (eq encoding '7bit))
-           (mm-insert-rfc822-headers charset encoding))
-         (mm-encode-body))))))
-
 (run-hooks 'message-load-hook)
 
 (provide 'message)
 (run-hooks 'message-load-hook)
 
 (provide 'message)
index 52619dd..7e3edd3 100644 (file)
@@ -100,8 +100,8 @@ If it is non-nil, it must be a toolbar.  The five legal values are
   "Create a rot table with offset N."
   (let ((i -1)
        (table (make-string 256 0))
   "Create a rot table with offset N."
   (let ((i -1)
        (table (make-string 256 0))
-       (a (mm-char-int ?a))
-       (A (mm-char-int ?A)))
+       (a (char-int ?a))
+       (A (char-int ?A)))
     (while (< (incf i) 256)
       (aset table i i))
     (concat
     (while (< (incf i) 256)
       (aset table i i))
     (concat
index 17f5359..0a0f3ef 100644 (file)
@@ -70,6 +70,7 @@
   (autoload 'cancel-timer "timer")
   (autoload 'telnet "telnet" nil t)
   (autoload 'telnet-send-input "telnet" nil t)
   (autoload 'cancel-timer "timer")
   (autoload 'telnet "telnet" nil t)
   (autoload 'telnet-send-input "telnet" nil t)
+  (autoload 'timezone-parse-date "timezone")
   (autoload 'gnus-declare-backend "gnus-start"))
 
 ;; Declare nndb as derived from nntp
   (autoload 'gnus-declare-backend "gnus-start"))
 
 ;; Declare nndb as derived from nntp
@@ -180,7 +181,8 @@ article was posted to nndb")
                   msg))
        (if (nnmail-expired-article-p
             group
                   msg))
        (if (nnmail-expired-article-p
             group
-            (date-to-time (substring msg (match-beginning 1) (match-end 1)))
+            (gnus-encode-date
+             (substring msg (match-beginning 1) (match-end 1)))
             force)
            (progn
              (setq delete-list (concat delete-list " " (int-to-string art)))
             force)
            (progn
              (setq delete-list (concat delete-list " " (int-to-string art)))
index 39c6e28..f7182a5 100644 (file)
   (let ((gnus-verbose-backends nil)
        (buf (current-buffer))
         article file)
   (let ((gnus-verbose-backends nil)
        (buf (current-buffer))
         article file)
-    (with-temp-buffer
+    (nnheader-temp-write nil
       (insert-buffer buf)
       (setq article (nndraft-request-accept-article
                     group (nnoo-current-server 'nndraft) t 'noinsert))
       (insert-buffer buf)
       (setq article (nndraft-request-accept-article
                     group (nnoo-current-server 'nndraft) t 'noinsert))
index 6aaa529..7da5466 100644 (file)
@@ -68,6 +68,8 @@ If this variable is nil, no files will be excluded.")
 
 \f
 
 
 \f
 
+(autoload 'gnus-encode-coding-string "gnus-ems")
+
 ;;; Interface functions.
 
 (nnoo-define-basics nneething)
 ;;; Interface functions.
 
 (nnoo-define-basics nneething)
@@ -241,7 +243,7 @@ If this variable is nil, no files will be excluded.")
        (setq files (cdr files)))
       (when (and touched
                 (not nneething-read-only))
        (setq files (cdr files)))
       (when (and touched
                 (not nneething-read-only))
-       (with-temp-file map-file
+       (nnheader-temp-write map-file
          (insert "(setq nneething-map '")
          (gnus-prin1 nneething-map)
          (insert ")\n(setq nneething-active '")
          (insert "(setq nneething-map '")
          (gnus-prin1 nneething-map)
          (insert ")\n(setq nneething-active '")
index b6ba830..db9666b 100644 (file)
@@ -511,20 +511,17 @@ Returns t if successful, nil otherwise."
   "Delete the message that point is in.
 If optional argument LEAVE-DELIM is t, then mailbox delimiter is not
 deleted.  Point is left where the deleted region was."
   "Delete the message that point is in.
 If optional argument LEAVE-DELIM is t, then mailbox delimiter is not
 deleted.  Point is left where the deleted region was."
-  (save-restriction
-    (narrow-to-region
-     (save-excursion
-       (forward-line 1)                        ; in case point is at beginning of message already
-       (nnmail-search-unix-mail-delim-backward)
-       (if leave-delim (progn (forward-line 1) (point))
-        (point)))
-     (progn
-       (forward-line 1)
-       (if (nnmail-search-unix-mail-delim)
-          (point)
-        (point-max))))
-    (run-hooks 'nnfolder-delete-mail-hook)
-    (delete-region (point-min) (point-max))))
+  (delete-region
+   (save-excursion
+     (forward-line 1) ; in case point is at beginning of message already
+     (nnmail-search-unix-mail-delim-backward)
+     (if leave-delim (progn (forward-line 1) (point))
+       (point)))
+   (progn
+     (forward-line 1)
+     (if (nnmail-search-unix-mail-delim)
+        (point)
+       (point-max)))))
 
 (defun nnfolder-possibly-change-group (group &optional server dont-check)
   ;; Change servers.
 
 (defun nnfolder-possibly-change-group (group &optional server dont-check)
   ;; Change servers.
@@ -800,8 +797,7 @@ deleted.  Point is left where the deleted region was."
 
 (defun nnfolder-group-pathname (group)
   "Make pathname for GROUP."
 
 (defun nnfolder-group-pathname (group)
   "Make pathname for GROUP."
-  (setq group
-       (nnheader-encode-coding-string group nnmail-pathname-coding-system))
+  (setq group (gnus-encode-coding-string group nnmail-pathname-coding-system))
   (let ((dir (file-name-as-directory (expand-file-name nnfolder-directory))))
     ;; If this file exists, we use it directly.
     (if (or nnmail-use-long-file-names
   (let ((dir (file-name-as-directory (expand-file-name nnfolder-directory))))
     ;; If this file exists, we use it directly.
     (if (or nnmail-use-long-file-names
index 41dc00a..2139885 100644 (file)
@@ -54,7 +54,7 @@ parameter -- the gateway address.")
            (nngateway-open-server server))
     ;; Rewrite the header.
     (let ((buf (current-buffer)))
            (nngateway-open-server server))
     ;; Rewrite the header.
     (let ((buf (current-buffer)))
-      (with-temp-buffer
+      (nnheader-temp-write nil
        (insert-buffer-substring buf)
        (message-narrow-to-head)
        (funcall nngateway-header-transformation nngateway-address)
        (insert-buffer-substring buf)
        (message-narrow-to-head)
        (funcall nngateway-header-transformation nngateway-address)
index 98da659..bc725b6 100644 (file)
@@ -61,7 +61,8 @@ on your system, you could say something like:
  (autoload 'cancel-function-timers "timers")
  (autoload 'gnus-point-at-eol "gnus-util")
  (autoload 'gnus-delete-line "gnus-util")
  (autoload 'cancel-function-timers "timers")
  (autoload 'gnus-point-at-eol "gnus-util")
  (autoload 'gnus-delete-line "gnus-util")
- (autoload 'gnus-buffer-live-p "gnus-util"))
+ (autoload 'gnus-buffer-live-p "gnus-util")
+ (autoload 'gnus-encode-coding-string "gnus-ems"))
 
 ;;; Header access macros.
 
 
 ;;; Header access macros.
 
@@ -497,6 +498,52 @@ the line could be found."
     (erase-buffer))
   (current-buffer))
 
     (erase-buffer))
   (current-buffer))
 
+(defmacro nnheader-temp-write (file &rest forms)
+  "Create a new buffer, evaluate FORMS there, and write the buffer to FILE.
+Return the value of FORMS.
+If FILE is nil, just evaluate FORMS and don't save anything.
+If FILE is t, return the buffer contents as a string."
+  (let ((temp-file (make-symbol "temp-file"))
+       (temp-buffer (make-symbol "temp-buffer"))
+       (temp-results (make-symbol "temp-results")))
+    `(save-excursion
+       (let* ((,temp-file ,file)
+             (default-major-mode 'fundamental-mode)
+             (,temp-buffer
+              (set-buffer
+               (get-buffer-create
+                (generate-new-buffer-name " *nnheader temp*"))))
+             ,temp-results)
+        (unwind-protect
+            (progn
+              (setq ,temp-results (progn ,@forms))
+              (cond
+               ;; Don't save anything.
+               ((null ,temp-file)
+                ,temp-results)
+               ;; Return the buffer contents.
+               ((eq ,temp-file t)
+                (set-buffer ,temp-buffer)
+                (buffer-string))
+               ;; Save a file.
+               (t
+                (set-buffer ,temp-buffer)
+                ;; Make sure the directory where this file is
+                ;; to be saved exists.
+                (when (not (file-directory-p
+                            (file-name-directory ,temp-file)))
+                  (make-directory (file-name-directory ,temp-file) t))
+                ;; Save the file.
+                (write-region (point-min) (point-max)
+                              ,temp-file nil 'nomesg)
+                ,temp-results)))
+          ;; Kill the buffer.
+          (when (buffer-name ,temp-buffer)
+            (kill-buffer ,temp-buffer)))))))
+
+(put 'nnheader-temp-write 'lisp-indent-function 1)
+(put 'nnheader-temp-write 'edebug-form-spec '(form body))
+
 (defvar jka-compr-compression-info-list)
 (defvar nnheader-numerical-files
   (if (boundp 'jka-compr-compression-info-list)
 (defvar jka-compr-compression-info-list)
 (defvar nnheader-numerical-files
   (if (boundp 'jka-compr-compression-info-list)
@@ -653,7 +700,7 @@ without formatting."
         (concat dir group "/")
        ;; If not, we translate dots into slashes.
        (concat dir
         (concat dir group "/")
        ;; If not, we translate dots into slashes.
        (concat dir
-              (nnheader-encode-coding-string
+              (gnus-encode-coding-string
                (nnheader-replace-chars-in-string group ?. ?/)
                nnheader-pathname-coding-system)
               "/")))
                (nnheader-replace-chars-in-string group ?. ?/)
                nnheader-pathname-coding-system)
               "/")))
@@ -809,14 +856,6 @@ find-file-hooks, etc.
 (fset 'nnheader-cancel-timer 'cancel-timer)
 (fset 'nnheader-cancel-function-timers 'cancel-function-timers)
 
 (fset 'nnheader-cancel-timer 'cancel-timer)
 (fset 'nnheader-cancel-function-timers 'cancel-function-timers)
 
-(if (fboundp 'encode-coding-string)
-    (fset 'nnheader-encode-coding-string 'encode-coding-string)
-  (fset 'nnheader-encode-coding-string (lambda (s a) s)))
-
-(if (fboundp 'decode-coding-string)
-    (fset 'nnheader-decode-coding-string 'decode-coding-string)
-  (fset 'nnheader-decode-coding-string (lambda (s a) s)))
-
 (when (string-match "XEmacs\\|Lucid" emacs-version)
   (require 'nnheaderxm))
 
 (when (string-match "XEmacs\\|Lucid" emacs-version)
   (require 'nnheaderxm))
 
index b3e8f7d..c47a10d 100644 (file)
   ;; Remove NOV lines of articles that are marked as read.
   (when (and (file-exists-p (nnkiboze-nov-file-name))
             nnkiboze-remove-read-articles)
   ;; Remove NOV lines of articles that are marked as read.
   (when (and (file-exists-p (nnkiboze-nov-file-name))
             nnkiboze-remove-read-articles)
-    (with-temp-file (nnkiboze-nov-file-name)
+    (nnheader-temp-write (nnkiboze-nov-file-name)
       (let ((cur (current-buffer)))
        (nnheader-insert-file-contents (nnkiboze-nov-file-name))
        (goto-char (point-min))
       (let ((cur (current-buffer)))
        (nnheader-insert-file-contents (nnkiboze-nov-file-name))
        (goto-char (point-min))
@@ -230,7 +230,7 @@ Finds out what articles are to be part of the nnkiboze groups."
     ;; Load the kiboze newsrc file for this group.
     (when (file-exists-p newsrc-file)
       (load newsrc-file))
     ;; Load the kiboze newsrc file for this group.
     (when (file-exists-p newsrc-file)
       (load newsrc-file))
-    (with-temp-file nov-file
+    (nnheader-temp-write nov-file
       (when (file-exists-p nov-file)
        (insert-file-contents nov-file))
       (setq nov-buffer (current-buffer))
       (when (file-exists-p nov-file)
        (insert-file-contents nov-file))
       (setq nov-buffer (current-buffer))
@@ -318,7 +318,7 @@ Finds out what articles are to be part of the nnkiboze groups."
        (gnus-message 3 "nnkiboze: Checking %s...done" (caar newsrc))
        (setq newsrc (cdr newsrc))))
     ;; We save the kiboze newsrc for this group.
        (gnus-message 3 "nnkiboze: Checking %s...done" (caar newsrc))
        (setq newsrc (cdr newsrc))))
     ;; We save the kiboze newsrc for this group.
-    (with-temp-file newsrc-file
+    (nnheader-temp-write newsrc-file
       (insert "(setq nnkiboze-newsrc '")
       (gnus-prin1 nnkiboze-newsrc)
       (insert ")\n")))
       (insert "(setq nnkiboze-newsrc '")
       (gnus-prin1 nnkiboze-newsrc)
       (insert ")\n")))
index 2581172..16541b1 100644 (file)
 (eval-when-compile (require 'cl))
 
 (require 'nnheader)
 (eval-when-compile (require 'cl))
 
 (require 'nnheader)
+(require 'timezone)
 (require 'message)
 (require 'custom)
 (require 'gnus-util)
 
 (eval-and-compile
   (autoload 'gnus-error "gnus-util")
 (require 'message)
 (require 'custom)
 (require 'gnus-util)
 
 (eval-and-compile
   (autoload 'gnus-error "gnus-util")
-  (autoload 'gnus-buffer-live-p "gnus-util"))
+  (autoload 'gnus-buffer-live-p "gnus-util")
+  (autoload 'gnus-encode-coding-string "gnus-ems"))
 
 (defgroup nnmail nil
   "Reading mail with Gnus."
 
 (defgroup nnmail nil
   "Reading mail with Gnus."
@@ -407,7 +409,7 @@ Example:
   :group 'nnmail-split
   :type '(repeat (cons :format "%v" symbol regexp)))
 
   :group 'nnmail-split
   :type '(repeat (cons :format "%v" symbol regexp)))
 
-(defcustom nnmail-delete-incoming nil
+(defcustom nnmail-delete-incoming t
   "*If non-nil, the mail backends will delete incoming files after
 splitting."
   :group 'nnmail-retrieve
   "*If non-nil, the mail backends will delete incoming files after
 splitting."
   :group 'nnmail-retrieve
@@ -481,7 +483,7 @@ parameter.  It should return nil, `warn' or `delete'."
 (defun nnmail-request-post (&optional server)
   (mail-send-and-exit nil))
 
 (defun nnmail-request-post (&optional server)
   (mail-send-and-exit nil))
 
-(defvar nnmail-file-coding-system 'binary
+(defvar nnmail-file-coding-system 'raw-text
   "Coding system used in nnmail.")
 
 (defun nnmail-find-file (file)
   "Coding system used in nnmail.")
 
 (defun nnmail-find-file (file)
@@ -492,7 +494,7 @@ parameter.  It should return nil, `warn' or `delete'."
         (after-insert-file-functions nil))
     (condition-case ()
        (let ((coding-system-for-read nnmail-file-coding-system)
         (after-insert-file-functions nil))
     (condition-case ()
        (let ((coding-system-for-read nnmail-file-coding-system)
-             (pathname-coding-system nnmail-file-coding-system))
+             (pathname-coding-system 'binary))
          (insert-file-contents file)
          t)
       (file-error nil))))
          (insert-file-contents file)
          t)
       (file-error nil))))
@@ -512,12 +514,55 @@ parameter.  It should return nil, `warn' or `delete'."
         (concat dir group "/")
        ;; If not, we translate dots into slashes.
        (concat dir
         (concat dir group "/")
        ;; If not, we translate dots into slashes.
        (concat dir
-              (nnheader-encode-coding-string
+              (gnus-encode-coding-string
                (nnheader-replace-chars-in-string group ?. ?/)
                nnmail-pathname-coding-system)
               "/")))
    (or file "")))
 
                (nnheader-replace-chars-in-string group ?. ?/)
                nnmail-pathname-coding-system)
               "/")))
    (or file "")))
 
+(defun nnmail-date-to-time (date)
+  "Convert DATE into time."
+  (condition-case ()
+      (let* ((d1 (timezone-parse-date date))
+            (t1 (timezone-parse-time (aref d1 3))))
+       (apply 'encode-time
+              (mapcar (lambda (el)
+                        (and el (string-to-number el)))
+                      (list
+                       (aref t1 2) (aref t1 1) (aref t1 0)
+                       (aref d1 2) (aref d1 1) (aref d1 0)
+                       (number-to-string
+                        (* 60 (timezone-zone-to-minute
+                                (or (aref d1 4) (current-time-zone)))))))))
+    ;; If we get an error, then we just return a 0 time.
+    (error (list 0 0))))
+
+(defun nnmail-time-less (t1 t2)
+  "Say whether time T1 is less than time T2."
+  (or (< (car t1) (car t2))
+      (and (= (car t1) (car t2))
+          (< (nth 1 t1) (nth 1 t2)))))
+
+(defun nnmail-days-to-time (days)
+  "Convert DAYS into time."
+  (let* ((seconds (* 1.0 days 60 60 24))
+        (rest (expt 2 16))
+        (ms (condition-case nil (floor (/ seconds rest))
+              (range-error (expt 2 16)))))
+    (list ms (condition-case nil (round (- seconds (* ms rest)))
+              (range-error (expt 2 16))))))
+
+(defun nnmail-time-since (time)
+  "Return the time since TIME, which is either an internal time or a date."
+  (when (stringp time)
+    ;; Convert date strings to internal time.
+    (setq time (nnmail-date-to-time time)))
+  (let* ((current (current-time))
+        (rest (when (< (nth 1 current) (nth 1 time))
+                (expt 2 16))))
+    (list (- (+ (car current) (if rest -1 0)) (car time))
+         (- (+ (or rest 0) (nth 1 current)) (nth 1 time)))))
+
 ;; Function rewritten from rmail.el.
 (defun nnmail-move-inbox (inbox)
   "Move INBOX to `nnmail-crash-box'."
 ;; Function rewritten from rmail.el.
 (defun nnmail-move-inbox (inbox)
   "Move INBOX to `nnmail-crash-box'."
@@ -661,7 +706,7 @@ nn*-request-list should have been called before calling this function."
   "Save GROUP-ASSOC in ACTIVE-FILE."
   (let ((coding-system-for-write nnmail-active-file-coding-system))
     (when file-name
   "Save GROUP-ASSOC in ACTIVE-FILE."
   (let ((coding-system-for-write nnmail-active-file-coding-system))
     (when file-name
-      (with-temp-file file-name
+      (nnheader-temp-write file-name
        (nnmail-generate-active group-assoc)))))
 
 (defun nnmail-generate-active (alist)
        (nnmail-generate-active group-assoc)))))
 
 (defun nnmail-generate-active (alist)
@@ -1158,9 +1203,8 @@ Return the number of characters in the body."
       (insert (format "Xref: %s" (system-name)))
       (while group-alist
        (insert (format " %s:%d"
       (insert (format "Xref: %s" (system-name)))
       (while group-alist
        (insert (format " %s:%d"
-                       (nnheader-encode-coding-string
-                        (caar group-alist)
-                        nnmail-pathname-coding-system)
+                       (gnus-encode-coding-string (caar group-alist)
+                                             nnmail-pathname-coding-system)
                        (cdar group-alist)))
        (setq group-alist (cdr group-alist)))
       (insert "\n"))))
                        (cdar group-alist)))
        (setq group-alist (cdr group-alist)))
       (insert "\n"))))
@@ -1628,9 +1672,9 @@ See the documentation for the variable `nnmail-split-fancy' for documentation."
             ;; This is an ange-ftp group, and we don't have any dates.
             nil)
            ((numberp days)
             ;; This is an ange-ftp group, and we don't have any dates.
             nil)
            ((numberp days)
-            (setq days (days-to-time days))
+            (setq days (nnmail-days-to-time days))
             ;; Compare the time with the current time.
             ;; Compare the time with the current time.
-            (time-less-p days (time-since time)))))))
+            (nnmail-time-less days (nnmail-time-since time)))))))
 
 (defvar nnmail-read-passwd nil)
 (defun nnmail-read-passwd (prompt &rest args)
 
 (defvar nnmail-read-passwd nil)
 (defun nnmail-read-passwd (prompt &rest args)
index a393ebb..8aafd7d 100644 (file)
                                (expand-file-name nnmh-toplev))))
               dir)
              (nnheader-replace-chars-in-string
                                (expand-file-name nnmh-toplev))))
               dir)
              (nnheader-replace-chars-in-string
-              (nnheader-decode-coding-string (substring dir (match-end 0))
-                                             nnmail-pathname-coding-system)
+              (gnus-decode-coding-string (substring dir (match-end 0))
+                                         nnmail-pathname-coding-system)
               ?/ ?.))
            (apply 'max files)
            (apply 'min files)))))))
               ?/ ?.))
            (apply 'max files)
            (apply 'min files)))))))
     (setq articles (sort articles (lambda (art1 art2)
                                    (> (car art1) (car art2)))))
     ;; Finally write this list back to the .nnmh-articles file.
     (setq articles (sort articles (lambda (art1 art2)
                                    (> (car art1) (car art2)))))
     ;; Finally write this list back to the .nnmh-articles file.
-    (with-temp-file nnmh-file
+    (nnheader-temp-write nnmh-file
       (insert ";; Gnus article active file for " group "\n\n")
       (insert "(setq nnmh-newsgroup-articles '")
       (gnus-prin1 articles)
       (insert ";; Gnus article active file for " group "\n\n")
       (insert "(setq nnmh-newsgroup-articles '")
       (gnus-prin1 articles)
index 42581c0..e7a1df9 100644 (file)
@@ -249,8 +249,9 @@ all.  This may very well take some time.")
 (deffoo nnml-request-list (&optional server)
   (save-excursion
     (let ((nnmail-file-coding-system nnmail-active-file-coding-system)
 (deffoo nnml-request-list (&optional server)
   (save-excursion
     (let ((nnmail-file-coding-system nnmail-active-file-coding-system)
-         (pathname-coding-system 'binary)) 
-      (nnmail-find-file nnml-active-file))
+         (pathname-coding-system 'binary)) ; for XEmacs/mule
+      (nnmail-find-file nnml-active-file)
+      )
     (setq nnml-group-alist (nnmail-get-active))
     t))
 
     (setq nnml-group-alist (nnmail-get-active))
     t))
 
@@ -468,7 +469,7 @@ all.  This may very well take some time.")
      ((not (file-exists-p file))
       (nnheader-report 'nnml "File %s does not exist" file))
      (t
      ((not (file-exists-p file))
       (nnheader-report 'nnml "File %s does not exist" file))
      (t
-      (with-temp-file file
+      (nnheader-temp-write file
        (nnheader-insert-file-contents file)
        (nnmail-replace-status name value))
       t))))
        (nnheader-insert-file-contents file)
        (nnmail-replace-status name value))
       t))))
index 4ccb28c..e764150 100644 (file)
@@ -376,7 +376,7 @@ backend for the messages.")
             (or force
                 nnsoup-group-alist-touched))
     (setq nnsoup-group-alist-touched nil)
             (or force
                 nnsoup-group-alist-touched))
     (setq nnsoup-group-alist-touched nil)
-    (with-temp-file nnsoup-active-file
+    (nnheader-temp-write nnsoup-active-file
       (gnus-prin1 `(setq nnsoup-group-alist ',nnsoup-group-alist))
       (insert "\n")
       (gnus-prin1 `(setq nnsoup-current-prefix ,nnsoup-current-prefix))
       (gnus-prin1 `(setq nnsoup-group-alist ',nnsoup-group-alist))
       (insert "\n")
       (gnus-prin1 `(setq nnsoup-current-prefix ,nnsoup-current-prefix))
index dd0b28a..6914f78 100644 (file)
@@ -28,6 +28,7 @@
 
 (require 'nnheader)
 (require 'nntp)
 
 (require 'nnheader)
 (require 'nntp)
+(require 'timezone)
 (require 'nnoo)
 (eval-when-compile (require 'cl))
 
 (require 'nnoo)
 (eval-when-compile (require 'cl))
 
@@ -279,7 +280,7 @@ there.")
        (while (and (not (looking-at
                          "\\([^ ]+\\) +\\([0-9]+\\)[0-9][0-9][0-9] "))
                    (zerop (forward-line -1))))
        (while (and (not (looking-at
                          "\\([^ ]+\\) +\\([0-9]+\\)[0-9][0-9][0-9] "))
                    (zerop (forward-line -1))))
-       (let ((seconds (time-to-float (date-to-time date)))
+       (let ((seconds (nnspool-seconds-since-epoch date))
              groups)
          ;; Go through lines and add the latest groups to a list.
          (while (and (looking-at "\\([^ ]+\\) +[0-9]+ ")
              groups)
          ;; Go through lines and add the latest groups to a list.
          (while (and (looking-at "\\([^ ]+\\) +[0-9]+ ")
@@ -452,6 +453,18 @@ there.")
   "Find the path for GROUP."
   (nnheader-group-pathname group nnspool-spool-directory article))
 
   "Find the path for GROUP."
   (nnheader-group-pathname group nnspool-spool-directory article))
 
+(defun nnspool-seconds-since-epoch (date)
+  (let* ((tdate (mapcar (lambda (ti) (and ti (string-to-int ti)))
+                       (timezone-parse-date date)))
+        (ttime (mapcar (lambda (ti) (and ti (string-to-int ti)))
+                       (timezone-parse-time
+                        (aref (timezone-parse-date date) 3))))
+        (unix (encode-time (nth 2 ttime) (nth 1 ttime) (nth 0 ttime)
+                           (nth 2 tdate) (nth 1 tdate) (nth 0 tdate)
+                           (nth 4 tdate))))
+    (+ (* (car unix) 65536.0)
+       (cadr unix))))
+
 (provide 'nnspool)
 
 ;;; nnspool.el ends here
 (provide 'nnspool)
 
 ;;; nnspool.el ends here
index 1fb9960..487c72d 100644 (file)
 
 (nnoo-declare nntp)
 
 
 (nnoo-declare nntp)
 
+(eval-and-compile
+  (unless (fboundp 'open-network-stream)
+    (require 'tcp)))
+
 (eval-when-compile (require 'cl))
 
 (defvoo nntp-address nil
 (eval-when-compile (require 'cl))
 
 (defvoo nntp-address nil
@@ -724,7 +728,7 @@ If this variable is nil, which is the default, no timers are set.")
     (prog1
        (nntp-send-command
         "^\\.\r?\n" "NEWGROUPS"
     (prog1
        (nntp-send-command
         "^\\.\r?\n" "NEWGROUPS"
-        (format-time-string "%y%m%d %H%M%S" (date-to-time date)))
+        (format-time-string "%y%m%d %H%M%S" (nnmail-date-to-time date)))
       (nntp-decode-text))))
 
 (deffoo nntp-request-post (&optional server)
       (nntp-decode-text))))
 
 (deffoo nntp-request-post (&optional server)
@@ -792,7 +796,7 @@ If SEND-IF-FORCE, only send authinfo to the server if the
 The authinfo login name is taken from the user's login name and the
 password contained in '~/.nntp-authinfo'."
   (when (file-exists-p "~/.nntp-authinfo")
 The authinfo login name is taken from the user's login name and the
 password contained in '~/.nntp-authinfo'."
   (when (file-exists-p "~/.nntp-authinfo")
-    (with-temp-buffer
+    (nnheader-temp-write nil
       (insert-file-contents "~/.nntp-authinfo")
       (goto-char (point-min))
       (nntp-send-command "^3.*\r?\n" "AUTHINFO USER" (user-login-name))
       (insert-file-contents "~/.nntp-authinfo")
       (goto-char (point-min))
       (nntp-send-command "^3.*\r?\n" "AUTHINFO USER" (user-login-name))
index 96784c2..5a673cd 100644 (file)
@@ -219,7 +219,7 @@ and `altavista'.")
 (defun nnweb-read-overview (group)
   "Read the overview of GROUP and build the map."
   (when (file-exists-p (nnweb-overview-file group))
 (defun nnweb-read-overview (group)
   "Read the overview of GROUP and build the map."
   (when (file-exists-p (nnweb-overview-file group))
-    (with-temp-buffer
+    (nnheader-temp-write nil
       (nnheader-insert-file-contents (nnweb-overview-file group))
       (goto-char (point-min))
       (let (header)
       (nnheader-insert-file-contents (nnweb-overview-file group))
       (goto-char (point-min))
       (let (header)
@@ -233,7 +233,7 @@ and `altavista'.")
 
 (defun nnweb-write-overview (group)
   "Write the overview file for GROUP."
 
 (defun nnweb-write-overview (group)
   "Write the overview file for GROUP."
-  (with-temp-file (nnweb-overview-file group)
+  (nnheader-temp-write (nnweb-overview-file group)
     (let ((articles nnweb-articles))
       (while articles
        (nnheader-insert-nov (cadr (pop articles)))))))
     (let ((articles nnweb-articles))
       (while articles
        (nnheader-insert-nov (cadr (pop articles)))))))
@@ -254,7 +254,7 @@ and `altavista'.")
 
 (defun nnweb-write-active ()
   "Save the active file."
 
 (defun nnweb-write-active ()
   "Save the active file."
-  (with-temp-file (nnheader-concat nnweb-directory "active")
+  (nnheader-temp-write (nnheader-concat nnweb-directory "active")
     (prin1 `(setq nnweb-group-alist ',nnweb-group-alist) (current-buffer))))
 
 (defun nnweb-read-active ()
     (prin1 `(setq nnweb-group-alist ',nnweb-group-alist) (current-buffer))))
 
 (defun nnweb-read-active ()
index c1c7158..24c31f6 100644 (file)
@@ -26,6 +26,7 @@
 ;;; Code:
 
 (require 'easymenu)
 ;;; Code:
 
 (require 'easymenu)
+(require 'timezone)
 (eval-when-compile (require 'cl))
 
 (defvar gnus-score-mode-hook nil
 (eval-when-compile (require 'cl))
 
 (defvar gnus-score-mode-hook nil
@@ -50,8 +51,6 @@
     table)
   "Syntax table used in score-mode buffers.")
 
     table)
   "Syntax table used in score-mode buffers.")
 
-(defvar score-mode-coding-system 'binary)
-
 ;;;###autoload
 (defun gnus-score-mode ()
   "Mode for editing Gnus score files.
 ;;;###autoload
 (defun gnus-score-mode ()
   "Mode for editing Gnus score files.
@@ -82,7 +81,7 @@ This mode is an extended emacs-lisp mode.
 (defun gnus-score-edit-insert-date ()
   "Insert date in numerical format."
   (interactive)
 (defun gnus-score-edit-insert-date ()
   "Insert date in numerical format."
   (interactive)
-  (princ (time-to-day (current-time)) (current-buffer)))
+  (princ (gnus-score-day-number (current-time)) (current-buffer)))
 
 (defun gnus-score-pretty-print ()
   "Format the current score file."
 
 (defun gnus-score-pretty-print ()
   "Format the current score file."
@@ -99,8 +98,7 @@ This mode is an extended emacs-lisp mode.
   (interactive)
   (unless (file-exists-p (file-name-directory (buffer-file-name)))
     (make-directory (file-name-directory (buffer-file-name)) t))
   (interactive)
   (unless (file-exists-p (file-name-directory (buffer-file-name)))
     (make-directory (file-name-directory (buffer-file-name)) t))
-  (let ((coding-system-for-write score-mode-coding-system))
-    (save-buffer))
+  (save-buffer)
   (bury-buffer (current-buffer))
   (let ((buf (current-buffer)))
     (when gnus-score-edit-exit-function
   (bury-buffer (current-buffer))
   (let ((buf (current-buffer)))
     (when gnus-score-edit-exit-function
@@ -108,6 +106,11 @@ This mode is an extended emacs-lisp mode.
     (when (eq buf (current-buffer))
       (switch-to-buffer (other-buffer (current-buffer))))))
 
     (when (eq buf (current-buffer))
       (switch-to-buffer (other-buffer (current-buffer))))))
 
+(defun gnus-score-day-number (time)
+  (let ((dat (decode-time time)))
+    (timezone-absolute-from-gregorian
+     (nth 4 dat) (nth 3 dat) (nth 5 dat))))
+
 (provide 'score-mode)
 
 ;;; score-mode.el ends here
 (provide 'score-mode)
 
 ;;; score-mode.el ends here
index 3df96c3..fd2879c 100644 (file)
-1998-09-05 17:36:14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+1998-08-27 07:29:17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Mail Folders): Addition.
 
 
-       * gnus.texi (Sorting Groups): Change.
-       (Various Summary Stuff): Addition.
+1998-08-25 08:06:28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-1998-09-04 00:40:07  David S. Goldberg  <dsg@mitre.org>
+       * gnus.texi (Posting Styles): Document this-is.
+       (Virtual Groups): Addition.
 
 
-       * gnus.texi (Article Hiding): Verify.
+1998-08-18 00:30:05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
-1998-08-31 11:46:57  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+       * gnus.texi (Article Hiding): Addition.
 
 
-       * gnus.texi (Mail Folders): Addition.
+1998-08-16 14:53:45  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (NNTP): Reinstated.
+       (Asynchronous Fetching): No header prefetch.
+
+1998-08-15 13:01:41  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Summary Score Commands): Change.
+
+1998-08-14 01:31:36  Simon Josefsson  <jas@pdc.kth.se>
+
+       * gnus.texi (Posting Styles): New 'body style.
+
+1998-08-13 21:17:00  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Paging the Article): Addition.
+
+1998-08-13 00:13:47  Simon Josefsson  <jas@pdc.kth.se>
+
+       * gnus.texi (Mail Group Commands): Typo.
+
+1998-08-12 21:28:09  Simon Josefsson  <jas@pdc.kth.se>
+
+       * gnus.texi (Article Caching): gnus-cacheable-groups.
+       (Newest Features): remove gnus-cacheable-groups.
+
+1998-08-12 22:01:12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * message.texi (Forwarding): Addition.
+
+1998-08-11 20:33:53  Justin Zaglio  <justin@caxton.com>
+
+       * gnus.texi (Group Maintenance): Fix.
+
+1998-08-11 11:44:20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Group Maintenance): Fix.
+
+1998-08-10 08:59:25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Article Highlighting): Addition.
+       (Article Fontisizing): Fix.
+       (Article Hiding): Change.
+       (Article Hiding): Fix.
+
+1998-08-09 15:32:24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Hiding Headers): Fix.
+       (Article Hiding): Addition.
+       (Document Groups): Addition.
+
+1998-08-08 06:06:37  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Fancy Mail Splitting): Change.
+
+1998-08-06 02:12:04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi: De-legalize.
+
+       * message.texi: De-legalize.
+
+       * gnus.texi (Summary Maneuvering): Fix.
+
+1998-07-21 17:51  Simon Josefsson  <jas@pdc.kth.se>
+
+       * gnus.texi (Splitting Mail): junk is fancy splitting only
+
+       * gnus.texi (Fancy Mail Splitting): warn about junk
+
+1998-07-27 02:28:33  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Topic Commands): Fix.
+
+1998-07-27 02:23:17  Robert Bihlmeyer  <robbe@orcus.priv.at>
+
+       * gnus.texi (Score Decays): Fix.
+
+Sun Jul 12 04:03:27 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Home Score File): Addition.
+
+Fri Jul 10 04:26:23 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (NNTP): Addition.
+
+Sat Jul  4 14:24:29 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Gnus Utility Functions): Addition.
+
+Thu Jul  2 11:37:51 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Posting Styles): Ununcommented.
+
+Wed Jul  1 17:57:54 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Topic Commands): Addition.
+
+Tue Jun 30 16:11:27 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Topic Commands): Addition.
+
+Mon Jun 29 21:46:13 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Article Keymap): Typo.
+
+Sun Jun 28 17:41:10 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Formatting Fonts): Typo fix.
+
+Sat Jun 27 04:37:14 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Mail-To-News Gateways): Addition.
+       (Mail-To-News Gateways): Typo.
+
+Fri Jun 26 13:33:00 1998  Yoshiki Hayashi  <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+       * gnus.texi (Summary Buffer Lines): Typo fix.
+
+Fri Jun 26 05:53:22 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Score File Format): Addition.
+       (Mode Line Formatting): New.
+       (Summary Buffer Mode Line): Addition.
+
+Thu Jun 25 11:24:14 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Summary Score Commands): Deletia.
+
+Wed Jun 24 00:37:32 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Auto Save): Addition.
+       (Mail-To-News Gateways): Addition.
+       (NNTP): Addition.
+
+Wed Jun  3 03:30:47 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.texi (Message Headers): Addition.
+
+       * gnus.texi (Compatibility): Addition.
+
+Tue May 19 02:44:31 1998  Mike Pullen  <mpullen@midwest.net>
+
+       * gnus.texi.orig: Typo fixes.
+
+Wed Apr 29 21:52:28 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Key Index): Untabified.
+       (Group Parameters): Fix.
+
+Sun Apr 26 15:32:45 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Summary Post Commands): Ref to Message.
+
+       * message.texi (Various Message Variables): Deletia.
+
+Fri Apr 24 16:00:40 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Unread Articles): Typo.
+       (Summary Buffer Lines): Fix.
+       (Foreign Groups): Addition.
+       (Posting Server): Addition.
+
+Sat Mar 28 08:57:46 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Example Methods): Addition.
+
+Thu Mar 26 15:47:54 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Limiting): Mention `/ *'.
+
+Thu Mar 19 13:02:20 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (NNTP): Addition.
+       Removed spurious white space.
+
+Fri Mar 13 21:05:47 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Quassia Gnus): Fix.
+       (Agent Expiry): Addition.
+
+Sun Mar  8 13:56:37 1998  James Troup  <J.J.Troup@scm.brad.ac.uk>
+
+       * gnus.texi (Group Highlighting): Removed old example.
+
+Sun Mar  8 00:19:24 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Group Info): Fix ".".
+
+Sat Mar  7 17:09:49 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi: Took direntries out again, since makeinfo doesn't
+       understand them.
+       (Agent Expiry): New.
+       (Quassia Gnus): New.
+
+Sat Mar  7 16:14:10 1998  Dan Christensen  <jdc@chow.mat.jhu.edu>
+
+       * gnus.texi (Group Parameters): Mention add-to-list.
+
+Sat Feb 28 14:21:12 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (NNTP): Addition.
+
+1998-03-01  Kim-Minh Kaplan  <KimMinh.Kaplan@utopia.eunet.fr>
+
+       * gnus.texi (Easy Picons): Removed references to
+       `gnus-group-display-picons'.
+       (Hard Picons): Ditto.
+
+1998-03-01  Kim-Minh Kaplan  <KimMinh.Kaplan@utopia.eunet.fr>
+
+       * gnus.texi (Easy Picons): Removed references to
+       `gnus-group-display-picons'.
+       (Hard Picons): Ditto.
+
+Mon Feb 23 18:05:09 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi: Direntry not handled by Emacs 19.34.
+
+1998-02-21  SL Baur  <steve@altair.xemacs.org>
+
+       * gnus.texi: Add a direntry field.
+       * message.texi: Ditto.  (Data taken from Emacs 20.2 info/dir).
+
+Sun Feb 22 03:24:43 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Score File Format): Addition.
+
+1998-02-18  Jason R Mastaler  <jason@4b.org>
+
+       * gnus.texi: Corrected typo.
+
+Thu Feb 19 02:20:29 1998  Francois Felix Ingrand  <felix@laas.fr>
+
+       * gnus.texi (Sorting): Fix order of args.
+
+Sun Feb 15 23:04:02 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (NNTP): Change.
+
+Sat Feb 14 17:46:33 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Virtual Groups): Fix.
+       (NNTP): Addition.
+       (Really Various Summary Commands): Addition.
+
+Fri Feb 13 18:23:19 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Mail Group Commands): Typo.
+       (NNTP): Addition.
+       (Mail and Procmail): Addition.
+
+Mon Feb  9 16:30:30 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Article Date): Addition.
+
+Sun Feb  8 16:28:35 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Newest Features): Addition.
+
+Mon Feb  2 19:21:43 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Agent Variables): Addition.
+
+Sun Feb  1 18:08:45 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Using MIME): Addition.
+
+Tue Jan  6 07:22:41 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Batching Agents): New.
+
+1998-01-04  Christoph Wedler  <wedler@fmi.uni-passau.de>
+
+       * gnus.texi (Newest Features): Delete spaces after @end example.
+       In XEmacs, `texinfo-format-buffer' would bug out.
+
+Sun Jan  4 12:04:45 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Conformity): Removed GNKSA.
+
+Sun Dec 14 11:06:23 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Adaptive Scoring): Addition.
+
+1997-11-26  SL Baur  <steve@altair.xemacs.org>
+
+       * message.texi (Insertion): Fix typo.
+       (Responses): Ditto.
+       (Reply): Ditto.
+
+Wed Nov 26 12:57:00 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.texi (Insertion): Addition.
+
+Wed Nov 26 12:55:15 1997  Hallvard B. Furuseth  <h.b.furuseth@usit.uio.no>
+
+       * message.texi (Insertion): Addition.
+
+Wed Nov 26 12:36:08 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.texi (Responses): New.
+       (Appendices): New.
+
+       * gnus.texi (Group Info): Fix.
+
+Tue Nov 25 17:53:55 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Article Date): Addition.
+
+Mon Nov 24 16:01:20 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Faces & Fonts): New.
+
+Mon Oct 13 00:08:06 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Agent Commands): Addition.
+
+Sun Oct 12 16:50:23 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Article Washing): Addition.
+       (Group Highlighting): New.
+       (Canceling and Superseding): Addition.
+
+Wed Oct  1 18:37:55 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Startup Files): Addition.
+
+Sat Sep 27 09:37:17 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.texi (Sending Variables): Fix.
+
+       * gnus.texi (Choosing Commands): Addition.
+
+Sat Sep 27 05:56:44 1997  Hallvard B. Furuseth  <h.b.furuseth@usit.uio.no>
+
+       * gnus.texi: Various fixes.
+
+Sat Sep 27 04:24:41 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.texi (Various Commands): Addition.
+
+Wed Sep 24 02:38:21 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Example Setup): Wrong info.
+       (SOUP Groups): Addition.
+       (Contributors): Addition.
+
+1997-09-22  SL Baur  <steve@altair.xemacs.org>
+
+       * gnus.texi (Finding the Parent): Fix typo.
+       (NoCeM): Fix typos.
+
+Tue Sep 23 07:05:48 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (NoCeM): Addition.
+       (Finding the Parent): Addition.
+
+Mon Sep 22 06:13:00 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Filling In Threads): Addition.
+       (Finding the Parent): Addition.
+
+Sun Sep 21 04:35:56 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (NNTP): Addition.
+       (Hiding Headers): Addition.
+       (Symbolic Prefixes): New.
+       (Extended Interactive): New.
+       (Summary Score Commands): Addition.
+
+Sat Sep 20 20:53:43 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Startup Variables): Addition.
+
+1997-09-16  SL Baur  <steve@altair.xemacs.org>
+
+       * gnus.texi: Correct typo.
+
+Wed Sep 17 02:32:56 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Customizing Threading): Broken up into five nodes.
+       (Article Washing): Addition.
+
+       * message.texi (Various Commands): Add.
+
+Tue Sep 16 04:04:03 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Example Setup): New.
+
+Mon Sep 15 23:10:05 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Customizing Threading): Addition.
+
+Sun Sep 14 21:59:07 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Outgoing Messages): New.
+       (Score File Format): Note.
+       (Subscription Methods): Fix.
+       (Starting Up): Fix.
+       (Threading): Add.
+
+Sat Jul 19 23:02:03 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Followups To Yourself): \\(_-_\\)?
+
+Sat Jul 12 16:29:35 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Picon Configuration): Moved Picons to under XEmacs.
+       (Smileys): New section.
+
+Fri Jul 11 11:58:20 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (NNTP): Addition.
+
+Tue Jun 17 23:52:17 1997  Justin Sheehy  <dworkin@ccs.neu.edu>
+
+       * gnus.texi (Group Parameters): Addition.
+
+Sun May 25 14:40:17 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Expiring Mail): Addition.
+
+Sat May 24 05:26:17 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Score File Format): Update.
+
+Tue May 20 21:56:03 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Document Server Internals): Typo.
+
+Sun May 18 05:59:24 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Topic Commands): Addition.
+
+Sun May 11 20:09:24 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Article Hiding): Change.
+
+Thu May  8 23:48:36 1997  James Troup  <J.J.Troup@comp.brad.ac.uk>
+
+       * gnus.texi (Saving Articles): Typo.
+
+Wed May  7 19:00:48 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Saving Articles): Addition.
+
+Wed May  7 19:00:43 1997  Mark Boyns  <boyns@sdsu.edu>
+
+       * gnus.texi (Saving Articles): Addition.
+
+Thu May  1 14:06:57 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Score File Format): Fix.
+
+Sun Apr 27 11:11:43 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (NNTP): Addition.
+
+Sat Apr 12 16:51:32 1997  Robert Bihlmeyer  <robbe@orcus.priv.at>
+
+       * gnus.texi (Thwarting Email Spam): Addition.
+
+Tue Apr 15 16:11:38 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.texi (Various Message Variables): Addition.
+
+       * gnus.texi (Thwarting Email Spam): Addition.
+
+Sat Apr 12 00:26:47 1997  Francois Felix Ingrand  <felix@laas.fr>
+
+       * gnus.texi (NoCeM): Addition.
+
+Thu Apr 10 21:25:14 1997  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * gnus.texi (Emacs/XEmacs Code): Addition.
+
+Thu Apr 10 20:45:47 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Group Information): Fix.
+
+Wed Apr  2 11:48:44 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Sorting): Use total score.
+
+Tue Apr  1 11:44:57 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Subscription Methods): Addition.
+       (Group Info): Addition.
+       (Gnus Utility Functions): New.
+       (Thwarting Email Spam): Addition.
+
+Mon Mar 31 16:15:54 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.texi (Various Message Variables): Addition.
+
+Sun Mar 23 02:16:19 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Thwarting Email Spam): New.
+       (Unavailable Servers): Fix.
+
+Wed Mar 19 15:45:17 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Various Summary Stuff): Addition.
+       (Mail Backend Variables): Addition.
+
+Tue Mar 18 14:43:32 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Article Washing): Not addition.
+
+Mon Mar 17 16:15:54 1997  Philippe Schnoebelen  <Philippe.Schnoebelen@lsv.ens-cachan.fr>
+
+       * Makefile (install): Install properly.
+
+Fri Mar 14 21:00:33 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Group Parameters): Addition.
+       (Expiring Mail): Addition.
+
+Wed Mar 12 06:57:14 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Various Various): Addition.
+
+Sat Mar  8 03:41:47 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Group Parameters): Added example.
+       (Duplicates): Fix.
+
+Fri Mar  7 10:49:43 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * Makefile: New "install" target.
+
+Thu Mar  6 08:01:37 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Mail and Procmail): Fix.
+
+Sun Mar  2 02:08:40 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Startup Files): Addition.
+       (Score File Format): Fix.
+
+Fri Feb 28 23:23:31 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Archived Messages): Clarify.
+       (Fuzzy Matching): New.
+
+Mon Feb 24 23:41:57 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.texi (Compatibility): New.
+
+Thu Feb 20 03:29:17 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Foreign Groups): Addition.
+
+Wed Feb 19 02:57:51 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Server Variables): New.
+
+Sun Feb 16 15:43:34 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Mail Backend Variables): Fix.
+
+       * message.texi (Various Message Variables): Addition.
+
+Mon Feb 10 07:18:16 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Article Commands): Addition.
+
+Mon Feb  3 19:59:10 1997  Paul Franklin  <paul@cs.washington.edu>
+
+       * gnus-group.el (gnus-group-edit-group): Allow editing of bad
+       groups.
+
+Wed Feb  5 02:00:46 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.texi (Mail Variables): Change.
+
+Tue Feb  4 02:33:31 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.texi (Mail Aliases): New.
+
+       * gnus.texi (Splitting Mail): Addition.
+
+Mon Feb  3 07:31:47 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Mode Lines): Addition.
+
+Mon Jan 27 17:51:29 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Highlighting and Menus): Removed
+       `gnus-display-type'.
+
+Sat Jan 25 08:09:30 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (The Active File): Addition.
+
+Fri Jan 24 05:07:28 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Summary Mail Commands): Addition.
+       (Required Backend Functions): Deletia.
+       (Article Washing): Addition.
+       (Summary Mail Commands): Addition.
+
+Mon Jan 20 22:19:40 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Followups To Yourself): Fix.
+
+Fri Jan 17 00:55:51 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (NoCeM): Update.
+
+Wed Jan 15 02:23:03 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Mail Group Commands): Fix.
+
+Tue Jan  7 09:36:36 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Summary Buffer Lines): Correction.
+
+Mon Jan  6 22:49:12 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (NoCeM): Addition.
+
+Fri Jan  3 18:13:02 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.texi (Various Commands): Addition.
+
+Thu Jan  2 16:12:27 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Optional Backend Functions): Fix.
+
+Mon Dec 16 13:53:28 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Exiting the Summary Buffer): Update.
+
+Fri Dec 13 01:04:41 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Limiting): Addition.
+
+Sat Dec  7 21:10:23 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Example Methods): Addition.
+
+Fri Dec  6 12:38:14 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Group Parameters): Update.
+
+1996-11-30  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Terminology): Addition.
+
+Wed Nov 27 03:13:05 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Selecting a Group): Addition.
+
+Tue Nov 26 12:42:47 1996  Martin Buchholz  <mrb@eng.sun.com>
+
+       * message.texi: Typo fixes and stuff.
+
+Thu Nov 21 17:45:57 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Canceling and Superseding): Fix.
+
+Wed Nov 20 15:42:36 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (New Groups): Addition.
+       (Summary Sorting): Addition.
+
+Tue Nov 19 20:54:16 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Scanning New Messages): Addition.
+
+Sat Nov  9 06:04:22 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Group Parameters): Addition.
+
+Fri Nov  8 04:01:06 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Article Fontisizing): New.
+       (Fancy Mail Splitting): Addition.
+       (Summary Post Commands): Addition.
+       (Mail Spool): Addition.
+       (Server Commands): Addition.
+       (Fancy Mail Splitting): Addition.
+
+Wed Nov  6 06:39:44 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Misc Article): Addition.
+       (Emacsen): Updated.
+
+Wed Nov  6 03:52:05 1996  C. R. Oldham  <cro@nca.asu.edu>
+
+       * Makefile (.texi.dvi): Fix rule.
+
+Tue Nov  5 10:45:39 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Other Decode Variables): Addition.
+       (Mail-like Backends): New.
+
+Tue Nov  5 06:41:46 1996  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * gnus.texi (Score File Format): Added warning.
+
+Mon Oct 28 15:50:08 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Startup Variables): Addition.
+
+Fri Oct 25 09:04:59 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Summary Mail Commands): Addition.
+
+Wed Oct 23 08:28:29 1996  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * gnus.texi (Fancy Mail Splitting): Removed trailing garbage.
+
+Tue Oct 22 07:36:02 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Converting Kill Files): New.
+
+Sat Oct 19 07:17:28 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Saving Articles): Addition.
+
+       * message.texi (Various Message Variables): Addition.
+
+Thu Oct 17 06:53:04 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Contributors): Added names.
+
+Fri Oct 11 12:38:59 1996  Lars Magne Ingebrigtsen  <larsi@ylfing.ifi.uio.no>
+
+       * gnus.texi (Adaptive Scoring): Addition.
+
+Tue Oct  8 13:16:41 1996  Lars Magne Ingebrigtsen  <larsi@ylfing.ifi.uio.no>
+
+       * Makefile (all): Make custom.
+
+Wed Oct  2 01:32:49 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Group Timestamps): New.
+
+Tue Oct  1 01:34:45 1996  Lars Magne Ingebrigtsen  <larsi@hrym.ifi.uio.no>
+
+       * gnus.texi (Expiring Mail): Addition.
+       (Group Line Specification): Addition.
+
+Sat Sep 28 21:36:40 1996  Lars Magne Ingebrigtsen  <larsi@ylfing.ifi.uio.no>
+
+       * gnus.texi (Foreign Groups): Addition.
+
+Mon Sep 23 22:17:44 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (The Summary Buffer): Addition.
+
+Mon Sep 23 18:25:38 1996  Lars Magne Ingebrigtsen  <larsi@ylfing.ifi.uio.no>
+
+       * gnus.texi (Thread Commands): Correction.
+       (Group Information): Correction.
+
+Sat Sep 21 08:11:43 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (New Groups): Split into three nodes.
+       (Group Parameters): Shortened.
+       (Browse Foreign Server): Corrected.
+
+Thu Sep 19 18:45:15 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Mail and Procmail): Addition.
+
+Wed Sep 18 07:33:11 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Other Marks): Edited.
+       (The Manual): New.
+       (Contributors): Updated.
+       (Asynchronous Fetching): Addition.
+       (New Features): Split.
+       ((ding) Gnus): Renamed.
+       (September Gnus): New.
+       (Red Gnus): New,
+       (Undo): New.
+
+Thu Sep 12 23:55:53 1996  Lars Magne Ingebrigtsen  <larsi@hrym.ifi.uio.no>
+
+       * gnus.texi (Archived Messages): Fix.
+
+Sat Sep  7 12:14:23 1996  Lars Magne Ingebrigtsen  <larsi@hymir.ifi.uio.no>
+
+       * gnus.texi (Various Various): Addition.
+
+Fri Sep  6 07:57:26 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Startup Files): Addition.
+       (Splitting Mail): Addition.
+       (Sorting Groups): Addition.
+       (Topic Sorting): New.
+       (Really Various Summary Commands): Deletia.
+       (Summary Generation Commands): New.
+       (Setting Process Marks): Addition.
+
+Thu Sep  5 07:34:27 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Terminology): Addition.
+       (Web Searches): Fix.
+       (Windows Configuration): Addition.
+
+Sun Sep  1 11:07:09 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (XEmacs Enhancements): New.
+
+Sat Aug 31 02:55:50 1996  Lars Magne Ingebrigtsen  <larsi@ylfing.ifi.uio.no>
+
+       * gnus.texi (Washing Mail): Addition.
+
+Fri Aug 30 09:10:17 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Washing Mail): New.
+       (Fancy Mail Splitting): Change.
+
+Fri Aug 30 00:21:59 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Foreign Groups): Change.
+
+Thu Aug 29 23:51:45 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Daemons): Addition.
+
+Thu Aug 29 02:09:24 1996  François Pinard  <pinard@progiciels-bpi.ca>
+
+       * gnus.texi (Web Searches): Typo.
+
+Wed Aug 28 08:21:36 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Server Commands): Addition.
+       (Really Various Summary Commands): Addition.
+
+Mon Aug 26 18:29:23 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Optional Backend Functions): Deletia.
+       (Asynchronous Fetching): Deletia and addition.
+
+Sun Aug 25 23:39:03 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi: Include the version number.
+
+Sun Aug 25 21:31:33 1996  Lars Magne Ingebrigtsen  <larsi@ylfing.ifi.uio.no>
+
+       * gnus.texi (Really Various Summary Commands): Addition.
+
+Sat Aug 17 22:24:34 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Startup Files): Addition.
+       (Anything Groups): Addition.
+
+Thu Aug 22 17:27:31 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Adaptive Scoring): Addition.
+       (Adaptive Scoring): Addition.
+
+Mon Aug 19 00:30:07 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Fancy Mail Splitting): Addition.
+       (Splitting Mail): Addition.
        (Group Parameters): Addition.
        (Group Parameters): Addition.
-       (MIME Commands): New.
+       (Topic Variables): Addition.
+       (Mail Group Commands): Addition.
+       (Group Information): Addition.
+       (Article Washing): Addition.
 
 
-1998-08-27 07:29:17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+Sun Aug 18 18:06:49 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
 
 
-       * gnus.texi (Mail Folders): Addition.
+       * gnus.texi (Web Searches): Change and addition.
+
+Sat Aug 17 22:24:34 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Startup Files): Addition.
+       (Anything Groups): Addition.
+
+Thu Aug 15 17:59:12 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Followups To Yourself): Addition.
+       (Setting Process Marks): Addition.
+       (Process/Prefix): Addition.
+       (Startup Files): Addition.
+       (Mail-To-News Gateways): New.
+
+Wed Aug 14 15:02:14 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Home Score File): Fix.
+       (Various Various): New.
+
+Tue Aug 13 10:38:47 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Error Messaging): New.
+       (Mail Backend Variables): Fix.
+       (Foreign Groups): Added references.
+       (Sorting Groups): Addition.
+
+Sun Aug 11 02:52:37 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (User-Defined Specs): Correction.
+       (Unavailable Servers): Addition.
+       (Moderation): New.
+       (Summary Mail Commands): Addition.
+       (Crosspost Handling): Addition.
+
+Sat Aug 10 00:13:39 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Summary Buffer Lines): Correction.
+       (Top): Name fix.
+       (Compilation ): Addition.
+       (Group Parameters): Addition.
+       (Troubleshooting): Addition.
+
+Fri Aug  9 07:17:59 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Selecting a Group): Addition.
+       (Score Decays): New.
+       (Score File Format): Addition.
+       (Changing Servers): Addition.
+       (Selecting a Group): Addition.
+       (Really Various Summary Commands): Addition.
+
+Thu Aug  8 05:39:31 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Read Articles): Addition.
+       (Foreign Groups): Addition.
+       (User-Defined Specs): Separated.
+       (Formatting Fonts): Ditto.
+       (Advanced Formatting): New.
+       (Formatting Basics): Addition.
+       (Formatting Variables): Split.
+
+Wed Aug  7 22:00:56 1996  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Hooking New Backends Into Gnus): New node.
+
+Wed Aug  7 01:02:08 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Setting Marks): Addition.
+       (Formatting Variables): Addition.
+
+Mon Aug  5 20:20:42 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Formatting Variables): Addition.
+
+Sun Aug  4 07:15:28 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Score File Format): Addition.
+       (Adaptive Scoring): Addition.
+
+Sat Aug  3 17:35:36 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Group Parameters): Addition.
+       (Home Score File): New.
+       (Topic Parameters): New.
+
+Wed Jul 31 15:34:12 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (are): Fix.
+
+Wed Jul 31 15:32:57 1996  David S. Goldberg  <dsg@linus.mitre.org>
+
+       * gnus.texi (buffer-name): Addition.
+
+Fri Aug  2 00:32:39 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi (Pick and Read): Addition.
+       (Article Hiding): Addition.
+       (Article Signature): Made into own node.
+
+Thu Aug  1 00:25:41 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * message.texi (Wide Reply): Addition.
+       (Bouncing): Addition.
+
+       * gnus.texi (Crosspost Handling): Made into own node.
+       (Duplicate Suppression): New.
+       (Document Server Internals): New.
+       (Changing Servers): New.
+
+Wed Jul 31 15:37:44 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.texi: Fix
+
+Mon Jul 29 10:12:24 1996  Lars Magne Ingebrigtsen  <lars@eyesore.no>
 
 
+       * gnus.texi (Misc Article): Addition.
+       (Advanced Scoring Tips): New.
+       (Advanced Scoring Example): New.
+       (Advanced Scoring Syntax): New.
+       (Advanced Scoring): New.
index 29fd4f4..0a6de64 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Pterodactyl Gnus 0.17 Manual
+@settitle Gnus 5.6.43 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -318,7 +318,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
 @tex
 
 @titlepage
-@title Pterodactyl Gnus 0.17 Manual
+@title Gnus 5.6.43 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -354,7 +354,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
-This manual corresponds to Pterodactyl Gnus 0.17.
+This manual corresponds to Gnus 5.6.43.
 
 @end ifinfo
 
 
 @end ifinfo
 
@@ -2120,11 +2120,6 @@ are arbitrary comments on the group.  They are currently ignored by
 Gnus, but provide a place for you to store information on particular
 groups.
 
 Gnus, but provide a place for you to store information on particular
 groups.
 
-@item charset
-Elements that look like @code{(charset . iso-8859-1)} will make
-@code{iso-8859-1} the default charset; that is, the charset that will be 
-used for all articles that do not specify a charset.
-
 @item @var{(variable form)}
 You can use the group parameters to set variables local to the group you
 are entering.  If you want to turn threading off in @samp{news.answers},
 @item @var{(variable form)}
 You can use the group parameters to set variables local to the group you
 are entering.  If you want to turn threading off in @samp{news.answers},
@@ -2340,11 +2335,7 @@ Sort the group buffer alphabetically by backend name
 
 @end table
 
 
 @end table
 
-All the commands below obeys the process/prefix convention
-(@pxref{Process/Prefix}).
-
-When given a symbolic prefix (@pxref{Symbolic Prefixes}), all these
-commands will sort in reverse order.  
+When given a prefix, all these commands will sort in reverse order.
 
 You can also sort a subset of the groups:
 
 
 You can also sort a subset of the groups:
 
@@ -2352,38 +2343,38 @@ You can also sort a subset of the groups:
 @item G P a
 @kindex G P a (Group)
 @findex gnus-group-sort-selected-groups-by-alphabet
 @item G P a
 @kindex G P a (Group)
 @findex gnus-group-sort-selected-groups-by-alphabet
-Sort the groups alphabetically by group name
-(@code{gnus-group-sort-selected-groups-by-alphabet}).
+Sort the process/prefixed groups in the group buffer alphabetically by
+group name (@code{gnus-group-sort-selected-groups-by-alphabet}).
 
 @item G P u
 @kindex G P u (Group)
 @findex gnus-group-sort-selected-groups-by-unread
 
 @item G P u
 @kindex G P u (Group)
 @findex gnus-group-sort-selected-groups-by-unread
-Sort the groups by the number of unread articles
-(@code{gnus-group-sort-selected-groups-by-unread}).
+Sort the process/prefixed groups in the group buffer by the number of
+unread articles (@code{gnus-group-sort-selected-groups-by-unread}).
 
 @item G P l
 @kindex G P l (Group)
 @findex gnus-group-sort-selected-groups-by-level
 
 @item G P l
 @kindex G P l (Group)
 @findex gnus-group-sort-selected-groups-by-level
-Sort the groups by group level
+Sort the process/prefixed groups in the group buffer by group level
 (@code{gnus-group-sort-selected-groups-by-level}).
 
 @item G P v
 @kindex G P v (Group)
 @findex gnus-group-sort-selected-groups-by-score
 (@code{gnus-group-sort-selected-groups-by-level}).
 
 @item G P v
 @kindex G P v (Group)
 @findex gnus-group-sort-selected-groups-by-score
-Sort the groups by group score
+Sort the process/prefixed groups in the group buffer by group score
 (@code{gnus-group-sort-selected-groups-by-score}).  @xref{Group Score}.
 
 @item G P r
 @kindex G P r (Group)
 @findex gnus-group-sort-selected-groups-by-rank
 (@code{gnus-group-sort-selected-groups-by-score}).  @xref{Group Score}.
 
 @item G P r
 @kindex G P r (Group)
 @findex gnus-group-sort-selected-groups-by-rank
-Sort the groups by group rank
+Sort the process/prefixed groups in the group buffer by group rank
 (@code{gnus-group-sort-selected-groups-by-rank}).  @xref{Group Score}.
 
 @item G P m
 @kindex G P m (Group)
 @findex gnus-group-sort-selected-groups-by-method
 (@code{gnus-group-sort-selected-groups-by-rank}).  @xref{Group Score}.
 
 @item G P m
 @kindex G P m (Group)
 @findex gnus-group-sort-selected-groups-by-method
-Sort the groups alphabetically by backend name
-(@code{gnus-group-sort-selected-groups-by-method}).
+Sort the process/prefixed groups in the group buffer alphabetically by
+backend name (@code{gnus-group-sort-selected-groups-by-method}).
 
 @end table
 
 
 @end table
 
@@ -3202,7 +3193,6 @@ You can have as many summary buffers open as you wish.
 * Saving Articles::             Ways of customizing article saving.
 * Decoding Articles::           Gnus can treat series of (uu)encoded articles.
 * Article Treatment::           The article buffer can be mangled at will.
 * Saving Articles::             Ways of customizing article saving.
 * Decoding Articles::           Gnus can treat series of (uu)encoded articles.
 * Article Treatment::           The article buffer can be mangled at will.
-* MIME Commands::               Doing MIMEy things with the articles.
 * Article Commands::            Doing various things with the article buffer.
 * Summary Sorting::             Sorting the summary buffer in various ways.
 * Finding the Parent::          No child support? Get the parent.
 * Article Commands::            Doing various things with the article buffer.
 * Summary Sorting::             Sorting the summary buffer in various ways.
 * Finding the Parent::          No child support? Get the parent.
@@ -4924,7 +4914,10 @@ The default is 4.
 
 @item gnus-parse-headers-hook
 @vindex gnus-parse-headers-hook
 
 @item gnus-parse-headers-hook
 @vindex gnus-parse-headers-hook
-Hook run before parsing any headers.
+Hook run before parsing any headers.  The default value is
+@code{(gnus-decode-rfc1522)}, which means that QPized headers will be
+slightly decoded in a hackish way.  This is likely to change in the
+future when Gnus becomes @sc{MIME}ified.
 
 @item gnus-alter-header-function
 @vindex gnus-alter-header-function
 
 @item gnus-alter-header-function
 @vindex gnus-alter-header-function
@@ -6296,22 +6289,7 @@ Signature}.
 @vindex gnus-article-hide-pgp-hook
 Hide @sc{pgp} signatures (@code{gnus-article-hide-pgp}).  The
 @code{gnus-article-hide-pgp-hook} hook will be run after a @sc{pgp}
 @vindex gnus-article-hide-pgp-hook
 Hide @sc{pgp} signatures (@code{gnus-article-hide-pgp}).  The
 @code{gnus-article-hide-pgp-hook} hook will be run after a @sc{pgp}
-signature has been hidden.  For example, to automatically verify
-articles that have signatures in them do:
-@lisp
-;;; Hide pgp cruft if any.
-
-(add-hook 'gnus-article-display-hook 'gnus-article-hide-pgp)
-
-;;; After hiding pgp, verify the message;
-;;; only happens if pgp signature is found.
-
-(add-hook 'gnus-article-hide-pgp-hook
-          (lambda ()
-            (save-excursion
-              (set-buffer gnus-original-article-buffer)
-              (mc-verify))))
-@end lisp
+signature has been hidden.
 
 @item W W P
 @kindex W W P (Summary)
 
 @item W W P
 @kindex W W P (Summary)
@@ -6781,31 +6759,6 @@ the regular expression @samp{^---*Forwarded article}, then it isn't a
 signature after all.
 
 
 signature after all.
 
 
-@node MIME Commands
-@section MIME Commands
-@cindex MIME decoding
-
-@table @kbd
-@item W M w
-@kindex W M w (Summary)
-Decode RFC2047-encoded words in the article headers
-(@code{gnus-article-decode-mime-words}).
-
-@item W M c
-@kindex W M c (Summary)
-Decode encoded article bodies as well as charsets
-(@code{gnus-article-decode-charset}).
-
-This command looks in the @code{Content-Type} header to determine the
-charset.  If there is no such header in the article, you can give it a
-prefix, which will prompt for the charset to decode as.  In regional
-groups where people post using some common encoding (but do not include
-MIME headers), you can set the @code{charset} group/topic parameter to
-the required charset (@pxref{Group Parameters}).
-
-@end table
-
-
 @node Article Commands
 @section Article Commands
 
 @node Article Commands
 @section Article Commands
 
@@ -7369,11 +7322,6 @@ It is called after the summary buffer has been generated.  You might use
 it to, for instance, highlight lines or modify the look of the buffer in
 some other ungodly manner.  I don't care.
 
 it to, for instance, highlight lines or modify the look of the buffer in
 some other ungodly manner.  I don't care.
 
-@vindex gnus-summary-prepared-hook
-@item gnus-summary-prepared-hook
-A hook called as the very last thing after the summary buffer has been
-generated.
-
 @vindex gnus-summary-ignore-duplicates
 @item gnus-summary-ignore-duplicates
 When Gnus discovers two articles that have the same @code{Message-ID},
 @vindex gnus-summary-ignore-duplicates
 @item gnus-summary-ignore-duplicates
 When Gnus discovers two articles that have the same @code{Message-ID},
@@ -10471,12 +10419,6 @@ your @file{.emacs} file:
 (add-hook 'nnfolder-save-buffer-hook 'turn-off-backup)
 @end lisp
 
 (add-hook 'nnfolder-save-buffer-hook 'turn-off-backup)
 @end lisp
 
-@item nnfolder-delete-mail-hook
-@vindex nnfolder-delete-mail-hook
-Hook run in a buffer narrowed to the message that is to be deleted.
-This function can be used to copy the message to somewhere else, or to
-extract some information from it before removing it.  
-
 @end table
 
 
 @end table
 
 
@@ -14410,8 +14352,7 @@ Do highlights in the group buffer.
 @item summary-highlight
 Do highlights in the summary buffer.
 @item article-highlight
 @item summary-highlight
 Do highlights in the summary buffer.
 @item article-highlight
-Do highlights according to @code{gnus-article-display-hook} in the
-article buffer.
+Do highlights in the article buffer.
 @item highlight
 Turn on highlighting in all buffers.
 @item group-menu
 @item highlight
 Turn on highlighting in all buffers.
 @item group-menu
@@ -15713,8 +15654,8 @@ We do have some breaches to this one.
 @table @emph
 
 @item MIME
 @table @emph
 
 @item MIME
-Gnus does not yet fully handle MIME, and this standard-to-be seems to
-think that MIME is the bees' knees, so we have major breakage here.
+Gnus does no MIME handling, and this standard-to-be seems to think that
+MIME is the bees' knees, so we have major breakage here.
 
 @item X-Newsreader
 This is considered to be a ``vanity header'', while I consider it to be
 
 @item X-Newsreader
 This is considered to be a ``vanity header'', while I consider it to be
@@ -15724,13 +15665,6 @@ those for posting articles.  I would not have known that if it wasn't
 for the @code{X-Newsreader} header.
 @end table
 
 for the @code{X-Newsreader} header.
 @end table
 
-@item USEFOR
-@cindex USEFOR
-USEFOR is an IETF working group writing a successor to RFC 1036, based
-on Son-of-RFC 1036.  They have produced a number of drafts proposing
-various changes to the format of news articles.  The Gnus towers will
-look into implementing the changes when the draft is accepted as an RFC.
-
 @end table
 
 If you ever notice Gnus acting non-compliant with regards to the texts
 @end table
 
 If you ever notice Gnus acting non-compliant with regards to the texts
@@ -15750,10 +15684,13 @@ Gnus should work on :
 @itemize @bullet
 
 @item
 @itemize @bullet
 
 @item
-Emacs 20.2 and up.
+Emacs 19.32 and up.
+
+@item
+XEmacs 19.14 and up.
 
 @item
 
 @item
-XEmacs 20.4 and up.
+Mule versions based on Emacs 19.32 and up.
 
 @end itemize
 
 
 @end itemize
 
index ce73a27..ece5eca 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Pterodactyl Message 0.17 Manual
+@settitle Message 5.6.43 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -42,7 +42,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
 @tex
 
 @titlepage
-@title Pterodactyl Message 0.17 Manual
+@title Message 5.6.43 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -83,9 +83,9 @@ Message mode buffers.
 * Key Index::         List of Message mode keys.
 @end menu
 
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Pterodactyl Message 0.17.  Message is
-distributed with the Gnus distribution bearing the same version number
-as this manual has.
+This manual corresponds to Message 5.6.43.  Message is distributed with
+the Gnus distribution bearing the same version number as this manual
+has. 
 
 
 @node Interface
 
 
 @node Interface