From: Lars Magne Ingebrigtsen Date: Sat, 13 Sep 1997 19:48:10 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://cgit.sxemacs.org/?p=gnus;a=commitdiff_plain;h=262b0ce87e9909bda20a56b6c382974168695e70 *** empty log message *** --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0c37249ca..0de270278 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,6964 +1,8 @@ -Sat Sep 13 19:48:49 1997 Lars Magne Ingebrigtsen +Sat Sep 13 21:21:38 1997 Lars Magne Ingebrigtsen - * gnus.el: Gnus v5.4.67 is released. + * gnus.el: Quassia Gnus v0.1 is released. -Wed Sep 10 02:59:30 1997 Lars Magne Ingebrigtsen +Sat Sep 13 21:16:07 1997 Lars Magne Ingebrigtsen - * message.el (message-cleanup-headers): Don't "fix" Newsgroups - headers in bodies.remove - -Tue Sep 9 04:02:33 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.66 is released. - -Tue Sep 9 03:09:29 1997 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-check-topology): Protect against nil - entries. - - * nnfolder.el (nnfolder-request-regenerate): Typo. - - * gnus-art.el (gnus-button-alist): mailto urls didn't work. - -Tue Sep 9 02:48:49 1997 Jay Sachs - - * gnus-score.el (gnus-score-edit-current-scores): Switch on score - mode in the right buffer. - -Sat Aug 16 20:36:31 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.65 is released. - -Sat Aug 16 20:10:09 1997 Sigbjorn Finne - - * gnus-srvr.el (gnus-browse-foreign-server): Message fix. - -Sat Aug 16 17:44:31 1997 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-1): Don't read the dribble file - unconditionally in slaves. - - * gnus-sum.el (gnus-summary-edit-article): Restore original date - header. - - * gnus-start.el (gnus-1): Set gnus-slave earlier. - - * gnus-sum.el (gnus-parent-headers): Would infloop. - - * message.el (message-make-message-id): Make better Message-ID - when superseding. - -Sat Aug 16 17:36:25 1997 Jason Rumney - - * nnkiboze.el (nnkiboze-request-delete-group): Transliate file - chars. - -Sat Aug 16 17:26:59 1997 Lars Magne Ingebrigtsen - - * nnml.el (nnml-directory): Dox fox. - - * gnus-topic.el (gnus-topic-make-menu-bar): Added - gnus-topic-edit-parameters. - -Sat Aug 16 17:21:21 1997 Jay Sachs - - * gnus-win.el (gnus-buffer-configuration): New entry: - score-trace. - -Sat Aug 16 16:51:24 1997 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-delete): Mark as changed. - (gnus-topic-change-level): Make last param optional. - - * gnus-group.el (gnus-group-iterate): Make sure window is - selected. - -Sat Aug 16 16:56:23 1997 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-check-topology): Add new groups to the - end of the first topic. - - * gnus-cache.el (gnus-jog-cache): Use gnus-group-iterate. - -Wed Aug 13 22:00:07 1997 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-gnus-to-quick-newsrc-format): Escape - newlines. - -Thu Aug 7 20:51:12 1997 Lars Magne Ingebrigtsen - - * smiley.el (smiley-deformed-regexp-alist): Fix. - -Wed Jul 30 13:46:30 1997 Danny Siu - - * smiley.el (smiley-buffer): make smiley case sensitive - (smiley-deformed-regexp-alist): added more regexp for happy smiley - (smiley-nosey-regexp-alist): same as above - -Sat Aug 2 01:48:26 1997 Lars Magne Ingebrigtsen - - * gnus-nocem.el (gnus-nocem-close): Nix out - gnus-real-group-hashtb. - -Sat Aug 2 01:46:49 1997 roth@klondike.cse.ucsc.edu (Carl D. Roth) - - * gnus-nocem.el (gnus-fill-real-hashtb): New function. - -Sat Aug 2 01:26:17 1997 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-read-init-file): Message. - -Fri Jul 25 20:48:31 1997 Lars Magne Ingebrigtsen - - * nntp.el (nntp-nov-gap): Changed default. - - * gnus-nocem.el (gnus-nocem-issuers): Fixed names. - -Wed Jul 23 20:11:24 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-catchup): Also removed cached - articles. - - * nnvirtual.el (nnvirtual-update-xref-header): Don't double - Xrefs. - -Sat Jul 19 23:32:28 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.64 is released. - -Sat Jul 19 23:22:03 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-set-globals): New function. - -1997-07-17 Steven L Baur - - * gnus-ems.el (gnus-mode-line-modified): Refine detection on - whether narrow indicators should be used. - -Sat Jul 19 23:04:30 1997 Lars Magne Ingebrigtsen - - * gnus-cache.el (gnus-jog-cache): Bind gnus-auto-select-next. - -Sat Jul 19 23:00:33 1997 Guy Geens - - * gnus-score.el (gnus-score-load-file): Fix decay. - -Sat Jul 19 20:21:42 1997 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-iterate): Save excursion. - - * gnus-score.el (message): Required. - - * gnus-sum.el (gnus-summary-limit-children): Unreads, not reads. - - * gnus-topic.el (gnus-topic-change-level): Move groups. - - * gnus-cache.el (gnus-jog-cache): Protect against nil groups. - - * message.el (message-generate-headers): Don't delete Message-ID - if buffer not modified. - - * gnus.el (gnus-simplify-mode-line): Use varying formats. - - * gnus-xmas.el (gnus-xmas-group-remove-excess-properties): Removed. - (gnus-xmas-topic-remove-excess-properties): Removed. - -Sat Jul 12 21:04:08 1997 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-activate-group): Always return the right - active range. - -Sat Jul 12 19:46:22 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.63 is released. - -Sat Jul 12 17:02:30 1997 Lars Magne Ingebrigtsen - - * gnus-undo.el (gnus-undo-mode): Use it. - - * gnus-salt.el (gnus-pick-mode): Use it. - - * gnus-gl.el (gnus-grouplens-mode): Use it. - - * gnus-ems.el (gnus-add-minor-mode): New function. - -Sat Jul 12 16:21:41 1997 Michael R. Cook - - * gnus-topic.el (gnus-topic-toggle-display-empty-topics): List - groups. - -Fri Jul 11 21:12:07 1997 Per Abrahamsen - - * gnus-art.el (gnus-article-treat-html): Use `w3-region'. - -Fri Jul 11 13:20:58 1997 Lars Magne Ingebrigtsen - - * message.el (message-check-news-header-syntax): Check repeated - groups. - - * gnus-move.el (gnus-move-group-to-server): Protect against nil - articles. - -Thu Jul 10 20:01:44 1997 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-check-first-time-used): Force reading the - active file the first time Gnus is used. - - * gnus-group.el (gnus-group-set-mode-line): Conditionalize - modified. - - * gnus-ems.el (gnus-mode-line-modified): New variable. - - * gnus-xmas.el (gnus-summary-toolbar): Typo fix. - -Mon Jul 7 11:06:32 1997 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-check-new-newsgroups): New default. - -Sun Jul 6 17:22:47 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.62 is released. - -Sun Jul 6 12:38:56 1997 Lars Magne Ingebrigtsen - - * nngateway.el (nngateway-request-post): Call sendmail function. - - * message.el (message-send-news): Supply the method to the post - function. - - * gnus.el (gnus-group-auto-expirable-p): Dox fox. - - * message.el (message-clone-locals): Only clone Gnus variables. - - * gnus-nocem.el (gnus-nocem-enter-article): Use real group name. - -Fri Jul 4 13:00:39 1997 enami tsugutomo - - * gnus-group.el (gnus-group-set-mode-line): Use new, shorter - format. - -Fri Jul 4 12:31:18 1997 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-score-headers): Let the score buffer inherit - variables from the summary buffer. - - * message.el (message-clone-locals): Made into own function. - - * gnus.el (gnus-select-method): Changed default. - - * gnus-start.el (gnus-read-active-file): Changed default to - `some'. - -Tue Jul 1 01:51:24 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.61 is released. - -Tue Jul 1 01:33:39 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-adjust-marked-articles): Typo. - -Tue Jul 1 00:56:21 1997 Gary D. Foster - - * gnus-topic.el (gnus-topic-mode-map): [delete]. - -Tue Jul 1 00:53:04 1997 Lars Magne Ingebrigtsen - - * gnus-demon.el (gnus-demon): Make sure Emacs really is idle. - -Sun Jun 29 21:32:13 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.60 is released. - -Sun Jun 29 21:14:27 1997 Hrvoje Niksic - - * gnus-salt.el: Customized. - -1997-06-27 Hrvoje Niksic - - * gnus-salt.el (gnus-tree-show-summary): New function. - (gnus-tree-mode-map): Use it. - -Sun Jun 29 20:19:27 1997 Lars Magne Ingebrigtsen - - * gnus-salt.el (gnus-generate-horizontal-tree): Protect against - nil threads. - - * gnus-sum.el (gnus-adjust-marked-articles): Change. - -Sun Jun 29 20:19:03 1997 Scott Byer - - * gnus-sum.el (gnus-adjust-marked-articles): Improper lists. - -1997-06-24 Hrvoje Niksic - - * gnus-sum.el (gnus-summary-search-article): Inhibit updating tree - buffer. - -Sun Jun 29 19:36:48 1997 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-activate-group): Ignore zero returns. - - * gnus-salt.el (gnus-generate-vertical-tree): Use a safer - line-drawing algorithm. - - * nnml.el (nnml-generate-nov-file): Articles with null bodies are - legal. - -Sun Jun 22 15:44:02 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (article-hide-pgp): Only run hook when hiding pgp. - - * nnfolder.el (nnfolder-save-buffer): Make sure the directory - exists. - - * gnus-uu.el (gnus-uu-post-news-inews): Didn't work when posting - threaded. - (gnus-uu-post-encoded): Include sequence numbers in threaded - posts. - -Sat Jun 21 00:17:16 1997 Lars Magne Ingebrigtsen - - * message.el (message-set-auto-save-file-name): Translate / in - buffer names. - -Wed Jun 18 17:26:35 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.59 is released. - -Wed Jun 18 09:29:15 1997 Andreas Jaeger - - * gnus-xmas.el (gnus-xmas-article-display-xface): Correct setting of - braces. - -1997-06-07 MORIOKA Tomohiko - - * smiley.el (smiley-deformed-regexp-alist): Add Japanese smiley - faces. - -Wed Jun 18 14:15:21 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (article-hide-pgp): Only run hook when there is a - PGP signature. - - * gnus-sum.el (gnus-summary-fetch-faq): Have `C-u' work. - - * gnus-xmas.el (gnus-xmas-summary-set-display-table): Don't nix - out chars that aren't supposed to be nixed out. - - * gnus-art.el (gnus-article-delete-invisible-text): Would bug out - on point-max. - (gnus-article-delete-text-of-type): Ditto. - - * gnus-xmas.el (gnus-xmas-redefine): Switch off horiz scrollbar in - tree buffers. - -Wed Jun 18 01:11:58 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.58 is released. - -Wed Jun 18 01:02:34 1997 Lars Magne Ingebrigtsen - - * gnus.el: Backed out all char-afters which caused bugs all over - the place. - -Wed Jun 18 00:33:41 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.57 is released. - -Wed Jun 18 00:09:35 1997 Lars Magne Ingebrigtsen - - * gnus-demon.el (gnus-demon-add-nocem): Use a numerical idle. - -1997-06-10 Steven L Baur - - * nntp.el (nntp-wait-for): Replace following-char with char-after. - -1997-06-09 Steven L Baur - - * gnus-msg.el (gnus-extended-version): Put XEmacs codename in - default X-Mailer/X-Newsreader if the symbol exists. - -Tue Jun 10 20:24:35 1997 Christoph Wedler - - * message.el (message-checksum): Do not only inspect the last - 32/64 characters; technical: `ash' is no bit-rotate. - -Tue Jun 17 23:45:00 1997 Guy Geens - - * gnus-score.el (gnus-decay-scores): Use the right index. - -Tue Jun 17 23:22:24 1997 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-score-load-file): Set the decay when not - set. - - * gnus-art.el (gnus-article-treat-html): Do w3 setup. - - * gnus.el (gnus-indent-rigidly): Be useful on odd tab widths. - - * gnus-xmas.el (gnus-article-x-face-command): Allow just using - xpm. - -Thu Jun 5 18:33:31 1997 Robert Bihlmeyer - - * gnus-score.el (gnus-score-find-trace): Would bug out for - file-less rules. - -Tue Jun 17 22:57:14 1997 Hrvoje Niksic - - * gnus-xmas.el (gnus-xmas-group-startup-message): Cleanup. - -Tue Jun 17 22:55:14 1997 Lars Magne Ingebrigtsen - - * nntp.el (nntp-request-head): Guess at article number. - -Tue Jun 17 22:40:49 1997 David Moore - - * gnus-xmas.el (gnus-xmas-set-text-properties): New version. - -Tue Jun 17 21:30:37 1997 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-search-forward): Ignore topic lines. - -Tue Jun 17 18:06:09 1997 "Karl M. Hegbloom" - - * gnus.el: ebola fixes. - -Wed Jun 11 19:23:09 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (t): Moved pop article keystroke. - -Tue Jun 10 06:32:52 1997 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-search-unix-mail-delim-backward): Allow - several "From "'s. - (nnmail-search-unix-mail-delim): Ditto. - -Fri Jun 6 19:31:10 1997 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-make-web-group): Use default prompt - instead of string. - - * gnus.el (gnus-string-or): New macro. - (gnus-string-or-1): New function. - -Sat May 31 15:41:09 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.56 is released. - -Sat May 31 14:51:37 1997 Shuhei KOBAYASHI - - * message.el (message-make-in-reply-to): Make valid In-Reply-To. - -Sat May 31 14:45:54 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-header-button-alist): Check for URLs in the - Subject. - -Sat May 31 14:42:53 1997 Hrvoje Niksic - - * gnus-xmas.el: Cleanup. - -Sat May 31 14:34:39 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-output-to-file): Return t. - -Sat May 31 14:14:40 1997 Guy Geens - - * gnus-score.el (gnus-decay-score): Make decay work on negative - scores. - -Sat May 31 14:07:53 1997 Kurt Swanson - - * nnmail.el (nnmail-article-group): Handle junk properly. - -Sat May 31 14:03:32 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-limit-children): Typo. Wouldn't - marked NoCeM'ed out messages as read. - -Sat May 31 13:46:49 1997 Darren Stalder - - * gnus-util.el (gnus-encode-date): Fix time zone. - -Sat May 31 13:38:02 1997 Lars Magne Ingebrigtsen - - * gnus-move.el (gnus-move-group-to-server): Don't sort nil lists. - -Tue May 27 16:03:12 1997 Paul Franklin - - * nnmail.el (nnmail-keep-last-article): clarify docstring - -Tue May 27 15:03:30 1997 Danny Siu - - * gnus-picon.el (gnus-group-display-picons): use - gnus-group-real-name so that picons for foreign groups display - correctly. - -Fri May 30 22:03:39 1997 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-mode): Nix out topic missing group - function when switching off. - - * gnus-salt.el (gnus-pick-start-reading): Don't prompt. - -Mon May 26 11:49:53 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-hack-decode-rfc1522): New function. - - * gnus-sum.el (gnus-parse-headers-hook): New default. - -Sun May 25 17:08:16 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.55 is released. - -Sun May 25 15:13:45 1997 Michael R. Cook - - * gnus-art.el (gnus-button-alist): Typo fix. - -Sun May 25 14:44:38 1997 Lars Magne Ingebrigtsen - - * gnus-salt.el (gnus-pick-start-reading): Mark unpicked as read. - - * gnus-sum.el (gnus-summary-move-article): Don't scan. - - * gnus-group.el (gnus-group-get-new-news-this-group): Accept an - optional non-scan parameter. - -Sun May 25 14:33:47 1997 Jan Vroonhof - - * gnus-cite.el (gnus-cite-attribution-prefix): Typo. - -Sat May 24 12:57:46 1997 Lars Magne Ingebrigtsen - - * gnus-nocem.el (gnus-nocem-verify-issuer): Ignore errors when - verifying. - -Sat May 24 11:55:04 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.54 is released. - -Sat May 24 10:35:40 1997 Lars Magne Ingebrigtsen - - * message.el (message-set-auto-save-file-name): Don't use "*" in - autosave name. - - * gnus-art.el (gnus-article-delete-text-of-type): New version. - -Sat May 24 10:33:43 1997 Dan Christensen - - * gnus-art.el (gnus-article-delete-invisible-text): New version. - -Sat May 24 10:26:34 1997 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-article-group): Remove all 'junk splits. - -Wed May 21 16:18:03 1997 Per Abrahamsen - - * gnus-cite.el (gnus-cite-attribution-prefix): Recognize - Microsoft/Agent style attribution lines. - (gnus-cite-attribution-suffix): Ditto. - -Sat May 24 05:23:46 1997 Lars Magne Ingebrigtsen - - * gnus-cache.el (gnus-cache-read-active): Would generate cache - active file too often. - (gnus-cache-possibly-alter-active): Test statement removed. - (gnus-cache-articles-in-group): Would destroy hashtb. - - * gnus-sum.el (gnus-summary-limit-mark-excluded-as-read): Don't - mark everything as read. - - * gnus-cite.el (gnus-article-fill-cited-article): Nix out - gnus-cite-article. - -Tue May 20 21:43:31 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-move-article): Don't suppress moved - articles. - - * gnus-start.el (gnus-dribble-read-file): Check that the dribble - file exists. - - * gnus-cache.el (gnus-cache-articles-in-group): Update cache - active file. - -Mon May 19 02:04:01 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-search-article): Typo. - - * nnml.el (nnml-update-file-alist): Allow forcing. - - * nnheaderxm.el (nnheader-xmas-find-file-noselect): Removed. - (nnheader-xmas-cancel-timer): Removed. - (nnheader-xmas-cancel-function-timers): Removed. - -Sun May 18 07:35:43 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.53 is released. - -Sun May 18 06:20:57 1997 Lars Magne Ingebrigtsen - - * message.el (message-set-auto-save-file-name): Create unique auto - save file names. - - * gnus-topic.el (gnus-topic-tallied-groups): Removed. - (gnus-topic-prepare-topic): Output right number of articles in - each sub-topic. - - * gnus-sum.el (gnus-summary-next-group): Don't pass on killed - buffers. - - * nnmail.el (nnmail-article-group): When crossposted to `junk', do - `junk'. - - * gnus-util.el (gnus-kill-all-overlays): Remove nil overlays from - list. - - * gnus-art.el (gnus-article-treat-html): Don't kill buf. - - * gnus-group.el (gnus-group-find-new-newsgroups): Newish function. - -Sun May 18 06:16:41 1997 Kim-Minh Kaplan - - * gnus-picon.el (gnus-picons-has-modeline-p): new user variable. - (gnus-picons-set-buffer): new function. - (gnus-picons-prepare-for-annotations): use it. - (gnus-picons-network-display-internal): ditto. - (gnus-picons-make-annotation): new function. - (gnus-picons-display-x-face): use it. - (gnus-article-display-picons): ditto. - (gnus-picons-display-picon-or-name): ditto. - (gnus-picons-display-pairs): ditto. Remember the correct - order of insertion of annotations. - (gnus-picons-display-glyph): use gnus-picons-make-annotation. - (gnus-article-display-picons): move group annotations in article - buffer to the correct place if displaying in article buffer. - (gnus-picons-network-search-internal): don't display "@" if there - is no domain picon works again. Check that the picons still - need be displayed. Add the bar bar.xpm separator if - gnus-picons-display-as-address. - (gnus-picons-network-display-callback): check that the picon still - need be displayed. - (gnus-picons-lock): function deleted. - (gnus-picons-remove): don't use it. New way of locking. - (gnus-picons-next-job-internal): new way of locking. Handle - new tag 'bar. - (gnus-picons-next-job): new way of locking. - (gnus-picons-buffer): variable deleted. - (gnus-picons-remove-all): modified accordingly. - (gnus-group-annotations-lock): variable deleted. - (gnus-article-annotations-lock): variable deleted. - (gnus-x-face-annotations-lock): variable deleted. - (gnus-picons-news-directories): renamed, was - gnus-picons-news-directory. - (gnus-picons-url-retrieve): do not change url-show-status. - (gnus-picons-clear-cache): also clear gnus-picons-url-alist. - -Sun May 18 05:57:31 1997 Michael R. Cook - - * gnus-topic.el (gnus-topic-toggle-display-empty-topics): New - function. - -Sun May 18 05:52:59 1997 Lars Magne Ingebrigtsen - - * nnfolder.el (nnfolder-request-create-group): Read folder. - -Sat May 17 22:45:07 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-search-article): Require gnus-asynch. - - * nnweb.el (nnweb-dejanews-wash-article): Remove "More Headers". - -Sun May 11 20:07:21 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (article-hide-pgp): Run hook. - (gnus-article-hide-pgp-hook): New variable. - -Sat May 10 00:37:32 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.52 is released. - -Sat May 10 00:13:30 1997 Lars Magne Ingebrigtsen - - * nnfolder.el (nnfolder-possibly-change-group): Set wrong - variable. - - * gnus-art.el (gnus-article-edit-article): Remove invisible text - under XEmacs. - (gnus-article-treat-html): Insert string. - -Thu May 8 10:53:12 1997 Steven L Baur - - * gnus-msg.el (gnus-summary-mail-crosspost-complaint): - `deactivate-mark' doesn't exist in XEmacs. - -Fri May 9 23:50:01 1997 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-create-topic): Added doc. - - * gnus-sum.el (gnus-summary-refer-article): Insert sparse - non-displayed articles properly. - (gnus-cut-thread): Exclude non-displayed sparse articles. - -Thu May 8 17:37:38 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.51 is released. - -Thu May 8 15:58:43 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-execute-command): Place point at start of - prompt. - - * gnus-int.el (gnus-request-replace-article): Don't bug out on - unknown groups. - - * gnus-sum.el (gnus-summary-update-info): Force undo boundary here. - (gnus-update-read-articles): ... and not here. - - * gnus-art.el (article-display-x-face): Would only show one X-Face. - -Wed May 7 05:23:20 1997 Kim-Minh Kaplan - - * gnus-picon.el: (gnus-picons-url-alist): new variable. - (gnus-picons-jobs-alist): new variable. - (gnus-picons-remove): clean this new variable. FIXME: race - condition. - (gnus-picons-job-already-running): new variable. - (gnus-article-display-picons): use the job queue if using the - network. - (gnus-group-display-picons): ditto. - (gnus-picons-make-path): function deleted. - (gnus-picons-lookup-internal): modified accordingly. - (gnus-picons-lookup-user-internal): take the LETs out of the - loops. - (gnus-picons-lookup-pairs): take constant calculation outside of - loop. - (gnus-picons-display-picon-or-name): use COND instead of nested IFs - (gnus-picons-display-pairs): take the LET outside of loop. - (gnus-picons-try-face): ditto. - (gnus-picons-users-image-alist): variable deleted. - (gnus-picons-clear-cache): don't clear it. - (gnus-picons-retrieve-limit): variable deleted. - (gnus-picons-url-retrieve): clear url-request-method - (gnus-picons-retrieve-user-callback): function deleted. - (gnus-picons-retrieve-user): function deleted. - (gnus-picons-retrieve-domain-callback): function deleted - (gnus-picons-retrieve-domain-internal): function deleted. - (gnus-picons-parse-value): new function. - (gnus-picons-parse-filenames): new function. - (gnus-picons-network-display-internal): new function. - (gnus-picons-network-display-callback): new function. - (gnus-picons-network-display): new function. - (gnus-picons-network-search-internal): new function. - (gnus-picons-network-search-callback): new function. - (gnus-picons-network-search): new function. - (gnus-picons-next-job-internal): new function. - (gnus-picons-next-job): new function. - -Wed May 7 22:14:32 1997 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-setup-news): Don't fold case. - -Sat May 3 16:55:25 1997 Kim-Minh Kaplan - - * gnus-picon.el: * gnus-picons-clear-cache-on-shutdown: new variable. - * gnus-picons-piconsearch-cache-user: variable deleted. - * gnus-picons-clear-cache: new function. - * gnus-picons-close: only clear cache if - gnus-picons-clear-cache-on-shutdown. - * gnus-picons-url-retrieve: set url-package-name and - url-package-version. - * gnus-picons-users-image-alist: new variable. - * gnus-picons-retrieve-user-callback: use it. - * Added support for network retrieval of picons. - * gnus-picons-map: removed. - * gnus-picons-remove: removed case to handle processes. - * gnus-picons-processes-alist: new variable - * gnus-picons-x-face-sentinel: simplified. Use processes alist. - * gnus-picons-display-x-face: explicitly request an xface image. - Always call gnus-picons-prepare-for-annotations. Use processes - alist. - * gnus-picons-lookup-internal: new function. - * gnus-picons-lookup: use it. - * gnus-picons-lookup-user-internal: ditto. - * gnus-picons-display-picon-or-name: no more xface-p argument. - * gnus-picons-try-suffixes: removed. - * gnus-picons-try-face: new function. Does the caching in - gnus-picons-glyph-alist. - * gnus-picons-try-to-find-face: take a glyph argument instead of a - path. No more xface-p argument. Only use one annotation even if - gnus-picons-display-as-address. - * gnus-picons-toggle-extent: changed into an annotation action. - -Sat May 3 00:59:39 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.50 is released. - -Sat May 3 00:30:12 1997 Kim-Minh Kaplan - - * gnus-picon.el (gnus-picons-prepare-for-annotations): New - function, and many changes. - -Sat May 3 00:03:51 1997 Lars Magne Ingebrigtsen - - * nnfolder.el (nnfolder-possibly-change-group): Wouldn't always - switch buffers. - - * gnus-sum.el (gnus-update-read-articles): Force boundary. - - * gnus-undo.el (gnus-force-undo-boundary): New function. - -Fri May 2 23:44:54 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-treat-html): w3-parse-buffer - incompatibility. - -Thu May 1 17:56:05 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.49 is released. - -Sat Apr 19 16:13:03 1997 Erik Toubro Nielsen - - * gnus-sum.el (gnus-summary-exit): Returned to the wrong topic in - certain obscure cases if selected group occured in multiple - topics. - - * gnus-topic.el (gnus-topic-update-topic): Did not preserve point - on the same instance of a group if group occured in multiple - topics. Caused gnus-summary-exit to return to wrong topic if the - selected group was in more than one topic. - - Above two bugs happened only if the window configuration for - summary mode caused the group buffer not to be shown in a window. - -Thu May 1 14:28:20 1997 Lars Magne Ingebrigtsen - - * message.el (message-send): Would pretend to have sent. - - * nnmh.el (nnmh-request-list-1): Don't use truename. - -Sun Apr 27 15:16:16 1997 Steven L Baur - - * gnus-xmas.el: Undo previous change, and restore the version from - 5.4.46 (without the require 'gnus-art). - -Tue Apr 29 11:08:27 1997 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-summary-increase-score): Better error - messages. - -Sun Apr 27 23:15:58 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.48 is released. - -Sun Apr 27 11:40:57 1997 Steven L Baur - - * gnus-xmas.el (gnus-art): (require 'gnus-art) introduces a - circular dependency on gnus-xmas-define and gnus-xmas-redefine. - Brute force it away. - -Sun Apr 27 12:32:13 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.47 is released. - -Sun Apr 27 10:42:08 1997 Lars Magne Ingebrigtsen - - * gnus-cache.el (gnus-cache-move-cache): Allow entering directory - name. - - * nntp.el (nntp-telnet-command, nntp-telnet-switches): New - variables. - - * gnus-score.el (gnus-summary-increase-score): Refuse illegal - match types. - -Fri Apr 25 06:16:05 1997 Arne Georg Gleditsch - - * gnus-sum.el (gnus-summary-refer-article): Go to article when - expunged. - -Wed Apr 23 19:48:43 1997 Per Abrahamsen - - * gnus-ems.el (gnus-article-x-face-command): Removed bogus - declaration. - -Mon Apr 21 16:44:00 1997 Paul Franklin - - * nnmail.el (nnmail-move-inbox): fewer (0?) file calls on inbox if - popmail. - -Thu Apr 24 14:04:31 1997 Lars Magne Ingebrigtsen - - * message.el (message-font-lock-keywords): Be more conservative in - determining headers. - - * nnmh.el (nnmh-request-list-1): Use truenames. - - * gnus-undo.el (gnus-undo-mode): Don't infest - gnus-summary-exit-hook. - - * gnus-sum.el (gnus-update-read-articles): Force an undo - boundary. - - * nnweb.el (nnweb-fetch-url): Don't rely on return values from - url-insert-file-contents. - -Sat Apr 19 06:11:31 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.46 is released. - -Sat Apr 19 05:40:40 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-read-save-file-name): Expand file name i save - dir. - -Fri Apr 18 14:25:21 1997 Hrvoje Niksic - - * gnus-art.el (gnus-signature-face): New face; use it. - -Sat Apr 19 05:32:43 1997 Kim-Minh Kaplan - - * gnus-picon.el (gnus-picons-insert-face-if-exists): Add picons to - list. - -Tue Apr 15 14:08:32 1997 Hrvoje Niksic - - * message.el (message-font-lock-keywords): Be a little bit more - case-insensitive. - -Wed Apr 16 02:41:31 1997 Hrvoje Niksic - - * message.el (message-insert-to): New argument FORCE. - -Sat Apr 19 05:18:10 1997 Lars Magne Ingebrigtsen - - * message.el (message-setup): Nix out undo list. - -Sat Apr 19 05:00:06 1997 Katsumi Yamaoka - - * gnus-sum.el: Redefine. - -Sat Apr 19 04:53:29 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (article-display-x-face): Display all XFace - headers. - - * gnus-ems.el: appt, not appt.el. - -Sat Apr 19 04:04:42 1997 Hrvoje Niksic - - * gnus-xmas.el (gnus-xmas-summary-set-display-table): Don't nix - out in Latin1. - -Sat Apr 19 02:55:45 1997 Lars Magne Ingebrigtsen - - * message.el (message-cancel-news): Only say we cancel if we - cancel. - - * gnus-msg.el (gnus-summary-mail-crosspost-complaint): Deactivate - mark. - -Thu Apr 17 21:37:22 1997 Lars Magne Ingebrigtsen - - * message.el (message-mail-alias-type): New variable. - (message-mode): Use it. - -Wed Apr 16 00:03:37 1997 Lars Magne Ingebrigtsen - - * gnus-demon.el (gnus-demon): Ignore errors. - -Tue Apr 15 23:50:02 1997 Brad Howes - - * gnus-demon.el (gnus-demon-time-to-step): New version. - -Tue Apr 15 23:32:58 1997 Lars Magne Ingebrigtsen - - * message.el (message-send-method-alist): New variable. - (message-send): Use it. - (message-send-via-news): New function. - (message-send-via-mail): New function. - -Sun Apr 13 18:22:02 1997 Jens Lautenbacher - - * gnus.el (gnus-article-display-hook): Fix. - -Sun Apr 13 02:07:33 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-get-newsgroup-headers): Protect against bogus - Lines headers. - - * gnus-cache.el (gnus-cache-possibly-enter-article): Check number - not nil. - -Sat Apr 12 23:28:30 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.45 is released. - -Sat Apr 12 02:00:51 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-update-article-line): Insert the - subject. - - * gnus-msg.el (gnus-post-news): Use it. - - * message.el (message-wide-reply): Accept ignore-reply-to. - - * gnus-sum.el (gnus-thread-loop-p): Don't recurse; use a stack. - - * message.el (message-generate-headers): Don't insert incomlete - Senders in mail-only messages. - (message-check-news-header-syntax): Check subject first. - -Sat Apr 12 01:42:42 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.44 is released. - -Sat Apr 12 01:10:31 1997 Lars Magne Ingebrigtsen - - * nnweb.el (nnweb-request-scan): Init nnweb-hashtb. - -Thu Apr 10 20:05:13 1997 Sudish Joseph - - * gnus-art.el (gnus-article-delete-invisible-text): Do an entire - region instead a single char in each pass. It's faster and - doesn't confuse ps-print. - (gnus-article-delete-text-of-type): Ditto. - -Sat Apr 12 00:35:07 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-adjust-marked-articles): Wouldn't remove - `expire' marks. - -Thu Apr 10 22:07:46 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.43 is released. - -Thu Apr 10 21:47:08 1997 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-save-newsrc-file): Message less. - -Thu Apr 10 21:35:45 1997 ISO-2022-JP - - * gnus-sum.el (gnus-summary-show-article): Bind gnus-show-mime. - -Thu Apr 10 21:26:19 1997 Lars Magne Ingebrigtsen - - * gnus.el: Removed gnus-add-hook. - -Thu Apr 3 21:08:57 1997 Hrvoje Niksic - - * gnus-xmas.el (gnus-xmas-summary-set-display-table): Don't change - the values that are non-nil in the default table. - (gnus-xmas-add-hook): Removed it. - -Thu Apr 10 20:44:46 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-show-summary): Error better. - - * message.el (message-indent-citation): Tippy-foot when deleting - leading empty lines. - - * gnus-sum.el (gnus-summary-move-article): Update group lines. - - * gnus-srvr.el (gnus-server-exit): Configure windows. - - * gnus-group.el: Added gnus-version to help map. - -Thu Apr 10 20:41:11 1997 Hrvoje Niksic - - * gnus-xmas.el: Customized. - -Thu Apr 10 19:58:40 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-next-group): Selected deleted group. - - * gnus-art.el (article-treat-overstrike): Don't bug out on empty - articles. - -Thu Apr 10 19:52:27 1997 David Moore - - * nnvirtual.el (nnvirtual-partition-sequence): Style fix. - -Thu Apr 10 19:45:30 1997 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-kill-group): Kill more carefully. - -Tue Apr 8 23:02:30 1997 Michael Welsh Duggan - - * message.el (message-insert-to): Fetch reply field. - -Tue Apr 8 21:41:13 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-refer-article): Accept prefix. - -Sun Apr 6 14:08:03 1997 Steven L Baur - - * gnus-xmas.el (gnus-xmas-summary-set-display-table): Add - missing paren. - (gnus-xmas-summary-set-display-table): current-display-table can - be nil. - -Sun Apr 6 23:17:21 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.42 is released. - -Sun Apr 6 23:13:50 1997 Lars Magne Ingebrigtsen - - * gnus-xmas.el (gnus-xmas-summary-set-display-table): There isn't - always a default table, it seems. - -Sun Apr 6 22:45:52 1997 Aaron M. Ucko - - * gnus-xmas.el (gnus-xmas-summary-set-display-table): Typo. - -Sun Apr 6 22:26:52 1997 Lars Magne Ingebrigtsen - - * gnus-group.el: All the sorting commands were shadowed. - -Sun Apr 6 21:46:05 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.41 is released. - -Sun Apr 6 20:58:38 1997 Kim-Minh Kaplan - - * gnus-picon.el (gnus-picons-insert-face-if-exists): "." instead - of "". - -Sun Apr 6 20:19:49 1997 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-sort-groups): Touch dribble. - -Sun Apr 6 19:28:19 1997 Stainless Steel Rat - - * pop3.el (pop3-quit): New version. - -Fri Apr 4 21:46:34 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-page-broken): New variable. - (gnus-article-prepare): Use it. - -Fri Apr 4 05:08:00 1997 Gunnar Horrigmo - - * gnus-art.el (article-treat-overstrike): Search from beginning of - article. - -Thu Apr 3 15:16:05 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-hidden-text-p): Be more thorough. - -Thu Apr 3 12:23:44 1997 Per Abrahamsen - - * gnus-score.el: (gnus-score-default-duration): Accept nil in - :type. - -Thu Apr 3 05:49:56 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-next-group): Make sure buffer is alive - before switching to it. - -Wed Apr 2 12:39:15 1997 Steven L Baur - - * gnus-util.el (gnus-kill-all-overlays): Force Gnus to use extents - even when overlays are available. (From a patch by MORIOKA - Tomohiko). - -Thu Apr 3 05:28:03 1997 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-goto-missing-group): Make sure topic - exists. - - * gnus-srvr.el (gnus-browse-group-name): Remove text props. - - * gnus-sum.el (gnus-summary-move-article): Enter into dribble. - -Wed Apr 2 14:12:45 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.40 is released. - -Wed Apr 2 13:17:16 1997 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-check-bogus-newsgroups): Supply a help - param. - - * message.el (message-bounce): Remove the right portion of - "simple" bounces. - - * gnus-art.el (gnus-read-save-file-name): Would bug out when - saving multiple articles. - - * gnus-sum.el (gnus-summary-update-article-line): Insert the - correct subject. - -Tue Apr 1 11:21:48 1997 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-score-find-hierarchical): Translate file - chars. - - * gnus-topic.el (gnus-topic-goto-missing-topic): Bugola. - (gnus-topic-forward-topic): New function. - (gnus-topic-goto-missing-topic): Use it. - - * nnmh.el (nnmh-active-number): Make sure the directory exist. - (nnmh-request-accept-article): Bizarre problem. - - * gnus-topic.el (gnus-topic-goto-missing-group): Don't double - topics. - -Mon Mar 31 17:30:10 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.39 is released. - -Mon Mar 31 17:29:13 1997 Lars Magne Ingebrigtsen - - * nntp.el (nntp-connection-alist): Ooize. - -Mon Mar 31 16:34:37 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.38 is released. - -Mon Mar 31 16:12:31 1997 Hrvoje Niksic - - * message.el (message-add-header): New function. - - * gnus-art.el (gnus-sorted-header-list): List `Followup-To' after - `Newsgroups'. - - * gnus-undo.el (gnus-undo-mode-map): Bind `gnus-undo' to `C-_', - `C-x u' and `C-/'. - -Mon Mar 31 16:02:47 1997 Toby Speight - - * gnus-art.el (gnus-article-add-buttons): Eval the right element. - -Mon Mar 31 15:57:17 1997 Lars Magne Ingebrigtsen - - * gnus-msg.el (gnus-add-to-list): New variable. - (gnus-post-news): Use it. - -Mon Mar 31 15:46:34 1997 Francois Felix Ingrand - - * gnus-start.el (gnus-slave-save-newsrc): Get modes right. - -Mon Mar 31 15:43:29 1997 Michael Sperber - - * message.el (message-functionp): Recognize compiled functions. - -Mon Mar 31 15:43:57 1997 Lars Magne Ingebrigtsen - - * gnus-util.el (gnus-functionp): Ditto. - -Mon Mar 31 15:18:11 1997 Katsumi Yamaoka - - * gnus-ems.el (gnus-ems-redefine): Don't change display table. - -Mon Mar 24 11:33:59 1997 Michael Welsh Duggan - - * message.el (message-insert-to): Use mail-copies-to. - -Mon Mar 31 12:35:12 1997 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-goto-missing-topic): New function. - (gnus-topic-goto-missing-group): Use it. - - * gnus-msg.el (gnus-debug): Scan gnus-topic.el. - - * message.el (message-reply): Don't insert extra , when not to - header. - - * nntp.el (nntp-connection-alist): Un-voo. - -Sun Mar 30 09:48:41 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-mode-syntax-table): Make <> paren - chars. - (gnus-emphasis-alist): Use it. - - * gnus.el (gnus-maintainer): Changed. - - * nnfolder.el (nnfolder-request-accept-article): Ask before - junking. - (nnfolder-save-mail): Make buffer read/write. - - * nnmh.el (nnmh-request-accept-article): Ditto. - * nnbabyl.el (nnbabyl-request-accept-article): Ditto. - * nnmbox.el (nnmbox-request-accept-article): Ditto. - * nnml.el (nnml-request-accept-article): Ditto. - -Mon Mar 24 16:57:26 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.37 is released. - -Mon Mar 24 01:16:15 1997 Hrvoje Niksic - - * gnus-xmas.el (gnus-xmas-redefine): Use it. - - * gnus-xmas.el (gnus-xmas-summary-set-display-table): New function. - - * gnus-sum.el (gnus-summary-mode): Use it. - - * gnus-sum.el (gnus-summary-set-display-table): New function. - -Mon Mar 24 16:27:46 1997 Lars Magne Ingebrigtsen - - * gnus-util.el (gnus-buffer-live-p): Reinstated. - -Mon Mar 24 01:24:27 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.36 is released. - -Sun Mar 23 18:51:00 1997 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-list-groups): Doc fix. - - * gnus-demon.el (gnus-inhibit-demon): New variable. - (gnus-demon): Use it. - -Sun Mar 23 18:42:55 1997 David Moore - - * gnus-nocem.el (gnus-nocem-already-running): New variable. - -Sun Mar 23 17:27:17 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-select-newsgroup): Revert to old duplicate - behavior for nnvirtual groups. - - * gnus-util.el (gnus-buffer-live-p): Removed. - -Sat Mar 22 22:11:28 1997 Steven L Baur - - * gnus-msg.el (gnus-setup-message): Mark buffer unmodified as last - step of setting message buffer up. - - * message.el (message-kill-buffer): Make prompt look more like the - one in kill-buffer. - Only prompt if the buffer has been changed. - -Sun Mar 23 02:52:51 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.35 is released. - -Sun Mar 23 01:09:23 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-read-save-file-name): Tweaked definition. - (gnus-summary-save-in-rmail): Use it. - (gnus-summary-save-in-file): Ditto. - (gnus-summary-save-in-mail): Ditto. - (gnus-summary-save-body-in-file): Ditto. - - * gnus-vm.el (gnus-summary-save-in-vm): Ditto. - - * gnus-sum.el (gnus-summary-enter-digest-group): Add group param. - - * gnus-art.el (gnus-split-methods): New default. - (gnus-article-nndoc-name): New function. - -Sat Mar 22 15:47:14 1997 Lars Magne Ingebrigtsen - - * nnmh.el (nnmh-request-accept-article): Do 'junk. - * nnbabyl.el (nnbabyl-request-accept-article): Ditto. - * nnmbox.el (nnmbox-request-accept-article): Ditto. - * nnfolder.el (nnfolder-request-accept-article): Ditto. - -Sat Mar 22 15:42:53 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.34 is released. - -Sat Mar 22 01:37:00 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-move-article): Understand 'junk. - - * nnml.el (nnml-request-accept-article): Return 'junk when legal. - - * gnus-sum.el (gnus-summary-respool-query): Message better, and - return right value. - - * nnmail.el (nnmail-split-abbrev-alist): New `to' and `from' - abbrevs. - -Wed Mar 19 19:36:25 1997 Dewey M. Sasser - - * message.el (message-make-from): Changed so that - message-from-style value is captured from message buffer instead - of temp buffer. - -Sat Mar 22 00:47:39 1997 Lars Magne Ingebrigtsen - - * gnus-srvr.el (gnus-browse-foreign-server): Understand server - names. - - * gnus-group.el (gnus-group-browse-foreign-server): Down methodize - the server. - -Thu Mar 20 22:49:16 1997 Lars Magne Ingebrigtsen - - * nnfolder.el (nnfolder-read-folder): Do checking if there are new - articles after the last nnfolder marker. - -Thu Mar 20 17:33:54 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.33 is released. - -Thu Mar 20 16:01:38 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-build-get-header): Don't fold case. - - * nnfolder.el (nnfolder-read-folder): Would always parse the - entire mbox. - - * gnus-sum.el (gnus-summary-read-group-1): Return right value. - - * gnus-start.el (gnus-slave-save-newsrc): Set file modes. - - * nneething.el (nneething-open-server): New function. - (nneething-possibly-change-directory): Redefined. - -Wed Mar 19 21:16:48 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.32 is released. - -Wed Mar 19 21:06:07 1997 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-cache-accepted-message-ids): Bogus. - -Wed Mar 19 20:53:34 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.31 is released. - -Wed Mar 19 14:29:26 1997 Lars Magne Ingebrigtsen - - * nnmh.el (nnmh-request-accept-article): Ditto. - - * nnbabyl.el (nnbabyl-request-accept-article): Ditto. - - * nnmbox.el (nnmbox-request-accept-article): Ditto. - - * nnfolder.el (nnfolder-request-accept-article): Ditto. - - * nnml.el (nnml-request-accept-article): Cache or not. - - * gnus-sum.el (gnus-summary-read-group): Don't recurse. - (gnus-summary-ignore-duplicates): New variable. - (gnus-get-newsgroup-headers): Use it. - (gnus-nov-parse-line): Ditto. - - * message.el (message-reply): Remove excessive white space in - headers. - - * nnfolder.el (nnfolder-read-folder): Work when ignoring active - file. - - * nnmail.el (nnmail-process-unix-mail-format): Narrow to the right - portion. - (nnmail-process-mmdf-mail-format): Ditto. - - * gnus.el (gnus-group-remove-parameter): New function. - (gnus-group-set-parameter): Use it. - (gnus-group-add-parameter): Ditto. - - * gnus-msg.el (gnus-post-news): Check first whether - to-list/to-address exists before adding. - -Tue Mar 18 23:54:17 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.30 is released. - -Tue Mar 18 23:43:50 1997 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-subscribe): Doc fix. - -Tue Mar 18 23:39:08 1997 Lance A. Brown - - * gnus-sum.el (gnus-update-marks): Articles->list. - -Tue Mar 18 23:07:35 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-update-article-line): Don't pass nil - on as subject string. - - * gnus-group.el (gnus-group-read-group): Revert to old - definition. - - * gnus-sum.el (gnus-summary-read-group-1): New function. - (gnus-summary-read-group): Use it. - -Tue Mar 18 17:56:26 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.29 is released. - -Tue Mar 18 14:29:49 1997 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-read-ephemeral-group): Would set virt - ser too much. - (gnus-group-read-group): Return right value. - - * nnml.el (nnml-generate-nov-databases-1): Save active. - - * gnus-msg.el (gnus-summary-supersede-article): Place point in the - with buffer. - (gnus-inews-add-to-address): Prompt before adding. - - * gnus-art.el (article-strip-leading-space): Not a new command - and keystroke (HTDW Jaari fix). - - * nnfolder.el (nnfolder-close-group): Don't push bogus entries - onto alist. - -Tue Mar 18 14:28:27 1997 Jan Vroonhof - - * nnfolder.el (nnfolder-request-scan): Check whether buffer really - is live. - -Tue Mar 18 13:53:00 1997 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-read-group): Iterate instead of - recurse. - - * nnfolder.el (nnfolder-request-accept-article): Don't insert into - Message-ID cache. - * nnbabyl.el (nnbabyl-request-accept-article): Ditto. - * nnmbox.el (nnmbox-request-accept-article): Ditto. - * nnml.el (nnml-request-accept-article): Ditto. - * nnmh.el (nnmh-request-accept-article): Ditto. - -Tue Mar 18 00:35:06 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.28 is released. - -Mon Mar 17 18:36:11 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-update-marks): Use `list' instead of - `articles'. - - * nndoc.el (nndoc-rfc822-forward-type-p): Renamed. - (nndoc-rfc822-forward-body-end-function): Ditto. - -Mon Mar 17 17:35:35 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.27 is released. - -Mon Mar 17 15:59:11 1997 Lars Magne Ingebrigtsen - - * nndoc.el (nndoc-x400-forward-type-p): New function. - (nndoc-x400-forward-body-end-function): Ditto. - - * nnfolder.el (nnfolder-adjust-min-active): Be in the right - buffer. - -Sat Mar 15 16:09:44 1997 Steven L Baur - - * message.el (message-post-method): Fix typo. - - * gnus-load.el (message-sending): Fix typo. - -Mon Mar 17 15:47:59 1997 Gordon Matzigkeit - - * message.el (message-set-auto-save-file-name): Expand before - temping. - -Mon Mar 17 15:05:44 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-update-marks): Get rid of article entries of - articles with the default score. - - * gnus-group.el (gnus-group-read-ephemeral-group): Be more careful - when uniquifying methods. - - * gnus-sum.el (gnus-execute-command): Insert asynch into buffer. - - * nnfolder.el (nnfolder-possibly-change-group): Didn't set the - current group. - -Mon Mar 17 15:03:02 1997 Paul Stodghill - - * gnus-srvr.el (gnus-server-prepare): Would infloop. - -Mon Mar 17 06:37:07 1997 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-crosspost-link-function): Change default on - NT. - -Fri Mar 14 12:07:12 1997 Steven L Baur - - * gnus-msg.el (gnus-extended-version): Add XEmacs beta # to - default X-Mailer/X-Newsreader. - -Fri Mar 14 20:57:03 1997 Lars Magne Ingebrigtsen - - * nnfolder.el (nnfolder-possibly-change-group): Check folder - buffer. - - * nnheader.el (nnheader-parse-head): Understand Message-ID with - spaces. - * gnus-sum.el (gnus-get-newsgroup-headers): Ditto. - (gnus-group-make-articles-read): Doc fix. - - * nnml.el (nnml-generate-nov-databases-1): Made interactive. - - * gnus-msg.el (gnus-inews-narrow-to-headers): Removed. - (gnus-post-news): Add `to-list' to the right group. - -Fri Mar 14 20:11:01 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.26 is released. - -Fri Mar 14 19:57:41 1997 Lars Magne Ingebrigtsen - - * gnus-setup.el (gnus-use-sc): Changed default. - -Fri Mar 14 19:53:05 1997 Kurt Swanson - - * gnus-art.el (gnus-article-goto-next-page): Place point. - -Fri Mar 14 18:46:54 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-mode-syntax-table): Make "-" - word-constituant. - - * gnus-sum.el (gnus-article-sort-by-author): Don't bug out on - Froms without names. - - * messagexmas.el (message-xmas-make-caesar-translation-table): Use - char-int. - -Fri Mar 14 18:44:33 1997 Per Abrahamsen - - * message.el (message-faces): New group. - -Fri Mar 14 18:43:16 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-limit-to-unread): Also exclude souped - articles. - -Fri Mar 14 18:35:06 1997 Matt Armstrong - - * gnus-score.el (gnus-all-score-files): Remove duplicates. - -Fri Mar 14 18:21:07 1997 Andy Norman - - * gnus-xmas.el (gnus-xmas-switch-horizontal-scrollbar-off): Check - whether we have a scrollbar first. - -Fri Mar 14 18:15:32 1997 Lars Magne Ingebrigtsen - - * nnfolder.el (nnfolder-save-mail): Don't fold case when doing - From_. - -Wed Mar 12 06:51:49 1997 Lars Magne Ingebrigtsen - - * nnfolder.el (nnfolder-possibly-change-group): Accept a - dont-check param. - (nnfolder-request-group): Don't load folder. - - * gnus.el (gnus-home-directory): New variable. - -Tue Mar 11 17:25:46 1997 Lars Magne Ingebrigtsen - - * gnus-async.el (gnus-async-prefetch-article): Raise the level of - the message. - -Mon Mar 10 06:30:59 1997 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-score-find-trace): Would clobber the score - of other articles. - - * nneething.el (nneething-create-mapping): Make sure - nneething-directory exists. - - * nnfolder.el (nnfolder-adjust-min-active): New function. - (nnfolder-request-expire-articles): Use it. - (nnfolder-request-move-article): Ditto. - (nnfolder-request-scan): Switch to the right server first. - -Mon Mar 10 06:28:58 1997 Joev Dubach - - * nnfolder.el (nnfolder-generate-active-file): Didn't work. - -Sun Mar 9 18:38:37 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.25 is released. - -Sun Mar 9 04:11:02 1997 Lars Magne Ingebrigtsen - - * gnus.el: Inlined and defsubsts various functions. - - * nnmail.el (nnmail-search-unix-mail-delim): Made into subst. - - * nnfolder.el (nnfolder-request-scan): Don't do anything when not - getting mail. - - * nnmh.el (nnmh-request-accept-article): Return the correct - value. - - * gnus-group.el (gnus-group-kill-all-zombies): Touch dribble. - - * gnus-score.el (gnus-score-find-trace): Message default score. - -Sat Mar 8 18:17:53 1997 Steven L Baur - - * gnus-util.el (gnus-byte-code): Use better (and still compatible) - name of `compiled-function-p'. - -Sat Mar 8 18:17:53 1997 Steven L Baur - - * messagexmas.el (message-xmas-make-caesar-translation-table): - char-int is a braindamaged and stupid name for a conversion - function. - -Sun Mar 9 01:51:16 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.24 is released. - -Sun Mar 9 00:52:47 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-set-local-parameters): Ignore errors. - -Sat Mar 8 08:55:52 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-prev-page): Return a proper value. - - * gnus-sum.el (gnus-summary-prev-page-or-article): New command. - * gnus-xmas.el (gnus-summary-toolbar): Use it. - -Sat Mar 8 08:34:22 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.23 is released. - -Sat Mar 8 02:09:53 1997 Lars Magne Ingebrigtsen - - * message.el (message-font-lock-keywords): Recognize continuation - headers. - - * gnus-group.el (gnus-group-expire-articles): Touch dribble - buffer. - - * gnus-sum.el (gnus-summary-default-score): Doc fix. - - * gnus.el (gnus-local-organization): Doc fix. - - * gnus-spec.el (gnus-compile): Don't work under XEmacs. - - * gnus-art.el (gnus-article-highlight-headers): Work on bodiless - articles. - -Fri Mar 7 23:33:34 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.22 is released. - -Fri Mar 7 08:25:20 1997 Lars Magne Ingebrigtsen - - * gnus-msg.el (gnus-inews-do-gcc): Made interactive. - - * gnus-sum.el (gnus-read-move-group-name): Beep on empty names. - - * nnmail.el (nnmail-check-duplication): Don't rename Message-ID. - (nnmail-cache-message-id-when-accepting): Removed. - - * gnus-sum.el (gnus-nov-parse-line): Allow showing of multiple - articles with the same Message-ID. - (gnus-get-newsgroup-headers): Ditto. - - * gnus.el: Removed trailing spaces throughout. - - * gnus-art.el (gnus-header-name-face): Made easier on the eyes. - (gnus-article-add-buttons): Make buffer read/write before doing - anything. - - * message.el (message-font-lock-keywords): Changed expression and - faces. - -Fri Mar 7 07:36:14 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.21 is released. - -Fri Mar 7 04:17:40 1997 Lars Magne Ingebrigtsen - - * nnfolder.el (nnfolder-request-accept-article): Switch to the - right folder. - - * Makefile (gnus-load.el): cus-edit. - - * gnus.el: Removed all compilation warnings under both Emacs and - XEmacs. - - * cus-face.el: Moved variable defintions around a bit to avoid - compilation warnings. - - * nnmail.el (nnmail-cache-message-id-when-accepting): New - variable. - - * nnfolder.el (nnfolder-dont-cache-message-id): Removed. - * nnmh.el (nnmh-request-accept-article): Ditto. - * nnbabyl.el (nnbabyl-request-accept-article): Ditto. - * nnml.el (nnml-request-accept-article): Ditto. - * nnmbox.el (nnmbox-request-accept-article): Use it. - -Thu Mar 6 18:22:29 1997 Steven L Baur - - * nnfolder.el (nnfolder-dont-cache-message-id): Variable to allow - backwards compatibility with respect to saved messages. - (nnfolder-request-accept-article): Use it. - -Fri Mar 7 04:10:21 1997 Lars Magne Ingebrigtsen - - * nnmail.el: Autoload pop3. - -Fri Mar 7 01:33:34 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.20 is released. - -Fri Mar 7 00:12:39 1997 Lars Magne Ingebrigtsen - - * message.el (message-header-to-face): New faces. - (message-font-lock-keywords): Use them. - - * gnus-sum.el (gnus-summary-make-menu-bar): No addition. - (gnus-summary-move-article): When crossposting, get the Xrefs - header right. - - * nnfolder.el (nnfolder-request-accept-article): Work when - respooling. - -Thu Mar 6 08:41:16 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.19 is released. - -Thu Mar 6 08:00:31 1997 Lars Magne Ingebrigtsen - - * message.el (message-newgroups-header-regexp): Include Gcc - header. - - * gnus-sum.el (gnus-summary-delete-article): Message errors. - - * gnus-group.el (gnus-group-unsubscribe-group): Work on ranked - groups. - -Thu Mar 6 07:46:56 1997 Katsumi Yamaoka - - * nnmail.el (nnmail-move-inbox): Protect against nil results. - -Thu Mar 6 04:23:11 1997 Lars Magne Ingebrigtsen - - * message.el (message-kill-buffer): Ask before killing. - - * nnfolder.el (nnfolder-possibly-activate-groups): Removed. - (nnfolder-request-group): Changed servers too late. - (nnfolder-active-timestamp): New variable. - - * gnus-sum.el (gnus-summary-respool-query): Narrow to head instead - of body. - - * nntp.el (nntp-accept-process-output): Inhibit logging. - - * gnus-group.el (gnus-group-sort-groups): Doc fix. - - * nnfolder.el (nnfolder-request-accept-article): Insert Message-ID - into cache. - * nnmh.el (nnmh-request-accept-article): Ditto. - * nnml.el (nnml-request-accept-article): Ditto. - * nnbabyl.el (nnbabyl-request-accept-article): Ditto. - * nnmbox.el (nnmbox-request-accept-article): Ditto. - - * nnmail.el (nnmail-cache-close): Kill buffer. - (nnmail-cache-insert): Make sure the cache is open. - (nnmail-fetch-field): New function. - -Thu Mar 6 02:19:31 1997 James LewisMoss - - * smiley.el (smiley-deformed-regexp-alist): Fix FaceIronic. - -Wed Mar 5 09:15:04 1997 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-check-duplication): Ditto. - -Wed Mar 5 09:14:12 1997 Carsten Leonhardt - - * nnmail.el (nnmail-check-duplication): Use a different - Message-ID. - -Sun Mar 2 16:58:16 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.18 is released. - -Sun Mar 2 05:48:56 1997 Lars Magne Ingebrigtsen - - * gnus-load.el (customize): Load `cus-edit'. - -Sun Mar 2 04:40:48 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.17 is released. - -Sun Mar 2 04:01:29 1997 Lars Magne Ingebrigtsen - - * message.el (message-mail): Don't `list' other-headers. - -Sat Mar 1 22:46:37 1997 Per Abrahamsen - - * gnus.el: Added mail keyword. - (gnus): Add to mail and news customization groups. - (gnus-visual): Added to the faces customization group. - * message.el (message): Add to mail and news customization groups. - - * gnus-cus.el (wid-edit): Changed from widget-edit. - -Sun Mar 2 03:44:07 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-respool-query): Use it. - - * gnus.el (gnus-narrow-to-body): New function. - - * nnfolder.el (nnfolder-active-number): Simplify. - -Sun Mar 2 03:26:57 1997 Joev Dubach - - * gnus-art.el (article-make-date-line): Add "Date: ". - -Sun Mar 2 02:54:13 1997 Lars Magne Ingebrigtsen - - * gnus-uu.el (gnus-quote-arg-for-sh-or-csh): Also escape {}. - - * gnus-srvr.el (gnus-server-prepare): Don't insert servers twice. - - * nnmail.el (nnmail-read-passwd): Conditionalize - `ange-ftp-read-passwd'. - -Sat Mar 1 17:53:05 1997 Hrvoje Niksic - - * gnus-xmas.el (gnus-xmas-read-event-char): Exit on button-press - event. - - * nnml.el (nnml-retrieve-headers): Make sure file is non-nil. - -Sun Mar 2 02:43:46 1997 Lars Magne Ingebrigtsen - - * nndoc.el (nndoc-type-alist): Have rfc934 separators handled - better. - - * nnmail.el (nnmail-move-inbox): Take heed of the return value - from movemail. - -Fri Feb 21 19:54:24 1997 Hrvoje Niksic - - * gnus-xmas.el (gnus-xmas-redefine): Use `region-active-p'. - (gnus-xmas-region-active-p): Removed. - -Sun Mar 2 02:16:38 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-update-article-line): Only insert - Subject string when needed. - - * gnus-util.el (gnus-output-to-mail): Quote all "From " lines. - -Sun Mar 2 02:13:17 1997 David Martin - - * nndir.el (nndir): Use `nnml-close-group'. - -Sun Mar 2 01:51:21 1997 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-init-file): Changed default. - - * gnus-group.el (gnus-ephemeral-group-server): New server. - (gnus-group-read-ephemeral-group): Use it to use unique servers. - -Sat Mar 1 04:06:11 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-mode): Made `gnus-button-marker-list' - buffer-local. - (gnus-article-add-buttons): Don't buttonize the same article - twice. - - * gnus-sum.el (gnus-set-mode-line): Chop better. - - * gnus-art.el (gnus-article-treat-html): Not a new function. - Uh-uh. No way. I don't even exist. - - * gnus-cite.el (gnus-article-fill-cited-article): Bind - filladapt-mode to nil. - -Sat Mar 1 03:51:18 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.16 is released. - -Sat Mar 1 00:04:09 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-set-mode-line): Possibly take into account the - buffer name. - - * gnus-srvr.el (gnus-server-prepare): Try to make sure we only - insert servers once. - - * gnus-sum.el (gnus-summary-walk-group-buffer): Don't move point - much. - - * gnus-group.el (gnus-group-update-group): Don't move point. - - * gnus-xmas.el (gnus-xmas-force-redisplay): Changed default to - nil. - (gnus-xmas-switch-horizontal-scrollbar-off): New function. - (gnus-xmas-redefine): Use it. - - * nnfolder.el (nnfolder-active-number): Don't save active here. - - * gnus-sum.el (gnus-summary-reparent-thread): Use the original - article. - -Fri Feb 28 01:01:33 1997 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-1): Pass ARG on to listing. - (gnus-started-hook): New. - (gnus-1): Use it. - - * gnus-group.el (gnus-group-get-new-news): List using ARG if ARG - is higher than current listing. - -Tue Feb 25 23:28:47 1997 Lars Magne Ingebrigtsen - - * nntp.el (nntp-retrieve-headers): Go to the next-to-last line. - -Fri Feb 21 00:28:37 1997 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-rename-group): Rename to right name. - - * nnmail.el (nnmail-process-babyl-mail-format): Allow continuation - Message-IDs. - (nnmail-process-unix-mail-format): Ditto. - (nnmail-process-mmdf-mail-format): Ditto. - - * nnml.el (nnml-update-file-alist): New function. - (nnml-retrieve-headers): Use it. - (nnml-request-move-article): Delete zipped files. - (nnml-request-replace-article): Write to gzipped, if wanted. - -Thu Feb 20 18:36:22 1997 Lars Magne Ingebrigtsen - - * gnus-picon.el (gnus-picons-display-where): Doc fix. - - * gnus-start.el (gnus-read-newsrc-el-file): Offer to break. - - * nnmail.el (nnmail-search-unix-mail-delim): Exclude newlines from - matches. - -Thu Feb 20 04:16:50 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.15 is released. - -Thu Feb 20 03:28:00 1997 Lars Magne Ingebrigtsen - - * gnus-xmas.el (gnus-xmas-mode-line-buffer-identification): - Respect non-standard mode line settings. - - * gnus-group.el (gnus-group-line-format): Doc fix. - - * nndoc.el (nndoc-rfc934-type-p): New function. - (nndoc-type-alist): Define RFC934 type. - -Wed Feb 19 05:18:06 1997 Hrvoje Niksic - - * gnus-group.el (gnus-group-set-mode-line): Mark the change with - two asterisks. - -Thu Feb 20 03:19:28 1997 Joev Dubach - - * gnus-topic.el (gnus-topic-prepare-topic): Show empty topics. - -Thu Feb 20 02:30:27 1997 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-process-prefix): Use - `gnus-region-active-p'. - - * gnus-score.el (gnus-hierarchial-home-score-file): Respect short - file names. - (gnus-hierarchial-home-adapt-file): Ditto. - -Wed Feb 19 00:44:41 1997 Lars Magne Ingebrigtsen - - * nnml.el (nnml-request-regenerate): Return t. - - * gnus-srvr.el (gnus-server-regenerate-server): Better messaging. - - * gnus.el: Autoload gnus-quote-arg-for-sh-or-csh. - -Tue Feb 18 23:26:28 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.14 is released. - -Tue Feb 18 21:47:18 1997 Lars Magne Ingebrigtsen - - * gnus-xmas.el (gnus-xmas-modeline-glyph): Didn't work when the - etc dir couldn't be found. - - * gnus-topic.el (gnus-topic-fold): Enter into dribble. - - * nnbabyl.el (nnbabyl-request-scan): Put things in right dir. - * nnmbox.el (nnmbox-request-scan): Ditto. - - * gnus-sum.el (gnus-offer-save-summaries): Use - `switch-to-buffer'. - - * nnkiboze.el (nnkiboze-enter-nov): Removed debug. - - * gnus-sum.el (gnus-summary-insert-pseudos): Quote when not - viewing separately. - -Sun Feb 16 23:43:19 1997 Hrvoje Niksic - - * gnus-topic.el (gnus-topic-edit-parameters): Print the topic - name. - - * gnus-group.el (gnus-group-edit-group): Print the group name. - -Sun Feb 16 18:30:27 1997 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-score-adaptive): Respect score adapt - settings. - - * gnus-sum.el (gnus-summary-prev-page): Search all frames for - window. - (gnus-summary-next-page): Ditto. - -Sun Feb 16 18:12:01 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.13 is released. - -Sun Feb 16 16:20:33 1997 Lars Magne Ingebrigtsen - - * gnus-nocem.el (gnus-nocem-scan-groups): Allow NULL references. - - * message.el (message-make-caesar-translation-table): New function. - (message-caesar-region): Use it. - - * messagexmas.el (message-xmas-make-caesar-translation-table): New - function. - - * gnus-art.el (gnus-article-add-buttons): Respect previous - buttons. - (gnus-button-in-region-p): New function. - (gnus-article-add-buttons): Use it. - - * nnweb.el (nnweb-max-hits): Fixed default. - -Tue Feb 11 20:25:42 1997 Hrvoje Niksic - - * gnus-srvr.el (gnus-server-regenerate-server): Typo. - -Sun Feb 16 15:24:40 1997 Lars Magne Ingebrigtsen - - * message.el: Removed `message-point-at-bol' and `eol'. - - * gnus-start.el (gnus-read-active-file): Allow FORCE argument. - (gnus-check-bogus-newsgroups): Use it. - - * gnus-srvr.el (gnus-server-copy-server): Allow copying of - unreadable servers. - -Thu Feb 13 19:44:33 1997 Steven L Baur - - * gnus-util.el (gnus-output-to-mail): Make sure `From ' lines in - saved messages are preceded by a newline. - -Wed Feb 12 05:28:32 1997 Zlatko Calusic - - * gnus-sum.el (gnus-summary-copy-article): Use TO-NEWSGROUP. - -Sat Feb 15 21:48:23 1997 Per Abrahamsen - - * nnmail.el: Organized customization options. - * gnus.el: Updated. - -Wed Feb 12 18:06:11 1997 Per Abrahamsen - - * gnus-kill.el: Reorganized customization - options. - * gnus-sum.el: Ditto. - * gnus-score.el: Ditto. - * gnus-start.el: Ditto. - * gnus.el: Ditto. - -Fri Feb 14 09:30:42 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (article-strip-multiple-blank-lines): Inhibit - point-motion hooks. - (article-hide-pgp): Don't hide the leading newline. - - * gnus-group.el (gnus-group-quick-select-group): Bind - gnus-home-score-file to nil. - - * gnus-start.el (gnus-dribble-read-file): Changed prompt. - -Wed Feb 12 09:39:53 1997 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-get-new-mail): Make sure we're using directory - file names. - -Tue Feb 11 14:00:56 1997 Lars Magne Ingebrigtsen - - * message.el (message-followup): Respect Posted-To. - -Tue Feb 11 08:15:38 1997 Rich Pieri - - * nnmail.el (nnmail-pop3-movemail): New function. - -Tue Feb 11 03:44:43 1997 Karl Kleinpaste - - * gnus-art.el (gnus-emphasis-alist): Made compounds available - again. - -Mon Feb 10 08:54:09 1997 Steven L Baur - - * dgnushack.el (dgnushack-compile): XEmacs doesn't complain about - portability variables any more. - -Mon Feb 10 14:19:55 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.12 is released. - -Mon Feb 10 12:47:41 1997 Lars Magne Ingebrigtsen - - * message.el (message-fetch-field): Accept an optional param. - (message-reply): Only fetch the first Message-ID. - - * gnus-score.el (gnus-summary-score-effect): Update mode line. - -Mon Feb 10 12:32:38 1997 Hrvoje Niksic - - * gnus-art.el: Simplify. - -Mon Feb 10 12:23:48 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-prev-page): Don't scroll when the - article buffer isn't visible. - - * gnus.el ((featurep 'gnus-xmas)): Removed - `gnus-make-local-hook'. - -Mon Feb 10 12:08:31 1997 Adrian Aichner - - * gnus-util.el (gnus-turn-off-edit-menu): Doc fix. - -Mon Feb 10 07:42:37 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-prepare-unthreaded): Make sure point - is at bol. - - * gnus-srvr.el (gnus-browse-mode-map): Define gnus-bug. - (gnus-server-mode-map): Ditto. - - * gnus-sum.el (gnus-summary-edit-article-done): Update original - article buffer. - - * gnus-uu.el (gnus-uu-digest-mail-forward): Restore window - config. - - * nnmail.el (nnmail-move-inbox): Make sure tofile exists before - setting modes. - - * gnus-xmas.el (gnus-xmas-region-active-p): New function. - - * gnus-ems.el (gnus-region-active-p): New function. - -Mon Feb 10 07:40:45 1997 Hrvoje Niksic - - * gnus-sum.el (gnus-summary-work-articles): Use zmacs-region. - -Mon Feb 10 07:06:44 1997 Lars Magne Ingebrigtsen - - * message.el (message-mode): Nix out all local variables. - - * gnus-art.el (gnus-summary-save-in-mail): Don't ask. - - * gnus-sum.el (gnus-ps-print-hook): New hook. - (gnus-summary-print-article): Use it. - - * message.el (message-reply): Make sure there is something - inserted as a To. - -Mon Feb 10 05:54:28 1997 Paul Franklin - - * gnus-group.el (gnus-group-edit-group): Ignore errors while - closing group. - -Mon Feb 10 05:22:09 1997 Steven L. Baur - - * messagexmas.el (message-xmas-maybe-fontify): New function. - (message-mode-hook): Use it. - -Sat Feb 8 21:18:25 1997 Lars Magne Ingebrigtsen - - * message.el (message-user-organization): Only use string values - of `gnus-local-organization'. - -Tue Feb 4 20:26:20 1997 Paul Franklin - - * nnmail.el (nnmail-get-spool-files): Don't call file-directory-p - on pop spool specifiers. - -Wed Feb 5 01:56:07 1997 Lars Magne Ingebrigtsen - - * message.el (message-delete-mh-headers): Changed default. - (message-send-mail-with-mh): Use it. - (message-mh-deletable-headers): Renamed. - - * gnus-sum.el (gnus-read-header): Don't do anything if the article - can't be requested. - -Wed Feb 5 01:51:07 1997 Joev Dubach - - * gnus-sum.el (gnus-select-newsgroup): Update group line. - -Tue Feb 4 20:23:30 1997 Lars Magne Ingebrigtsen - - * gnus-util.el (gnus-output-to-mail): Insert a newline before the - "From ". - - * nnml.el (nnml-request-move-article): Update active ranges. - (nnml-nov-delete-article): Update active ranges. - -Tue Feb 4 17:54:09 1997 HISASHIGE Kenji - - * gnus-msg.el (gnus-summary-reply-with-original): Pass on the - `wide' param. - -Tue Feb 4 03:49:59 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.11 is released. - -Tue Feb 4 01:57:56 1997 Lars Magne Ingebrigtsen - - * nnvirtual.el (nnvirtual-last-accessed-component-group): New - variable. - (nnvirtual-request-article): Use it and allow fetching by - Message-ID. - - * gnus-dup.el (gnus-dup-enter-articles): Don't enter canceled - articles into dup lists. - - * nnvirtual.el (nnvirtual-update-read-and-marked): Check that we - have a current group. - - * message.el (message-mode): Add "field" menu under XEmacs. - -Mon Feb 3 07:46:33 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.10 is released. - -Mon Feb 3 05:48:09 1997 Lars Magne Ingebrigtsen - - * message.el (message-fcc-handler-function): Doc fix. - (message-do-fcc): Revert to 5.4.8 behavior. - - * gnus-util.el ((fboundp 'point-at-bol)): Made into defun. - - * gnus-topic.el (gnus-topic-check-topology): Skip "dummy.group". - (gnus-group-sort-topic): Delete "dummy.group". - - * gnus-art.el (article-make-date-line): Add a newline. - - * nnkiboze.el (nnkiboze-generate-group): Check that the nov file - exists. - - * gnus-sum.el (gnus-summary-make-menu-bar): Moved some. - - * gnus-art.el (gnus-article-make-menu-bar): Exclude the summary - menu. - - * gnus.el (gnus-similar-server-opened): New function. - (gnus-server-extend-method): Use it. - - * gnus-sum.el (gnus-data-set-header): New macro. - (gnus-summary-edit-article-done): Update when the Message-ID is - edited. - - * nnml.el (nnml-request-article): Return the correct group name. - -Sat Feb 1 21:29:56 1997 Lars Magne Ingebrigtsen - - * smiley.el (smiley-buffer): Use the `smiley-mouse-face' variable, - not face. - -Sat Feb 1 14:19:54 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.9 is released. - -Sat Feb 1 13:30:33 1997 Hrvoje Niksic - - * gnus-start.el (gnus-gnus-to-quick-newsrc-format): Insert - "-*- emacs-lisp -*-" at the first line. - -Sat Feb 1 13:23:19 1997 Mark Borges - - * gnus-xmas.el (gnus-xmas-define): Do the right characterp thing. - -Sat Feb 1 12:28:33 1997 Lars Magne Ingebrigtsen - - * smiley.el (smiley-mouse-face): New variable. - (smiley-buffer): Use it. - - * gnus-start.el (gnus-gnus-to-quick-newsrc-format): Use gnus-prin1. - - * gnus-util.el (gnus-prin1): Bind print-level and print-length to - nil - - * gnus-art.el (gnus-button-alist): Let mailto: be less greedy. - (gnus-button-alist): Ditto with news:. - - * gnus-topic.el (gnus-topic-unmark-topic): Let groups be unmarked. - - * gnus.el (gnus-read-group): Place point at bol. - - * gnus-util.el ((fboundp 'point-at-bol)): Use the functions if - they exist. - - * gnus-msg.el (gnus-summary-supersede-article): Mark article as - canceled. - -Wed Jan 29 22:28:44 1997 Steven L Baur - - * gnus-xmas.el (gnus-xmas-define): Correct XEmacs version test to - handle v20. - -Sat Feb 1 12:19:14 1997 Katsumi Yamaoka - - * nnml.el (nnml-generate-active-info): Don't bug out. - -Sat Feb 1 00:52:03 1997 Lars Magne Ingebrigtsen - - * message.el (message-fcc-handler-function): Changed default. - (message-output): New function. - (message-do-fcc): Use it. - - * gnus-util.el (gnus-convert-article-to-rmail, - gnus-output-to-rmail): Moved here. - - * message.el (message-check-news-header-syntax): Allow trailing - periods. - (message-check-news-header-syntax): Don't allow trailing periods. - -Fri Jan 31 22:18:03 1997 Lars Magne Ingebrigtsen - - * message.el (message-resend): Rename "From ". - - * nntp.el (nntp-accept-process-output): Use nnheader-message. - -Fri Jan 31 11:51:18 1997 Katsumi Yamaoka - - * nnml.el (nnml-generate-nov-databases-1): Sort the file alist. - -Thu Jan 30 13:13:39 1997 Per Abrahamsen - - * gnus.el: More cleanup of customization groups. - -Thu Jan 30 04:33:01 1997 Sudish Joseph - - * gnus-xmas.el (gnus-xmas-define): Use `char-or-char-int-p'. - -Thu Jan 30 04:15:28 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.8 is released. - -Thu Jan 30 02:07:13 1997 Lars Magne Ingebrigtsen - - * message.el (message-indent-citation): Place point the right - place when indenting. - - * nnml.el (nnml-generate-active-info): Don't enter conses into - lists. - - * gnus-score.el (gnus-score-file-rank): All global score files - have low ranks. - - * nnweb.el (nnweb-possibly-change-server): Read active file. - (nnweb-dejanews-create-mapping): Respect .overview. - (nnweb-reference-create-mapping): Ditto. - (nnweb-altavista-create-mapping): Ditto. - -Wed Jan 29 04:52:31 1997 Katsumi Yamaoka - - * nnml.el (nnml-generate-nov-databases-1): Generate NOV files in - the right order. - -Tue Jan 28 23:28:49 1997 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-list-groups): Position point. - -Tue Jan 28 22:11:36 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.7 is released. - -Tue Jan 28 19:48:54 1997 Lars Magne Ingebrigtsen - - * nnmh.el (nnmh-deletable-article-p): Never allow deleting the - last article in the group. - - * nnweb.el (nnweb-definition): Accept an optional noerror - argument. - (nnweb-request-article): Don't bug out when requesting by MsgId. - - * gnus-topic.el (gnus-group-prepare-topics): Return the number of - unread articles in the buffer. - - * gnus-group.el (gnus-group-list-groups): On empty buffers, let - point go to the beginning. - (gnus-group-list-groups): Give "No news" message when using - topics. - - * gnus-topic.el (gnus-topic-goto-next-group): Let point remain - at the end of the buffer. - - * gnus-group.el (gnus-group-rename-group): Check group name - syntax. - - * gnus.el (gnus-read-group): Accept an optional default. - -Tue Jan 28 18:11:54 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.6 is released. - -Tue Jan 28 13:55:12 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-check-hidden-text): Widen before doing - anything. - - * gnus.el (gnus-visual): Doc fix. - - * gnus-art.el (gnus-visible-headers): Just include "Resent-From". - -Mon Jan 27 19:40:37 1997 Paul Franklin - - * gnus-sum.el (gnus-read-header): Make sure nntp-server-buffer is - empty on failure. - -Tue Jan 28 00:33:27 1997 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-delete-incoming): Changed default. - - * gnus-topic.el (gnus-topic-mark-topic): Let groups be marked. - (gnus-topic-unmark-topic): Ditto. - - * nnmail.el (nnmail-process-babyl-mail-format): Unquote ">From ". - - * gnus-sum.el (gnus-summary-read-group): Only beep dead groups. - -Mon Jan 27 18:24:27 1997 Lars Magne Ingebrigtsen - - * nnml.el (nnml-generate-nov-databases-1): Work properly on - compressed files. - (nnml-generate-nov-file): Ditto. - - * gnus.el (gnus-article-mode-map): Don't unconditionally suppress - all the major keymaps. - - * gnus-sum.el (gnus-summary-read-group): Beep dead non-native - groups can't be entered. - -Mon Jan 27 18:03:17 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.5 is released. - -Mon Jan 27 17:35:21 1997 Lars Magne Ingebrigtsen - - * message.el (message-expand-group): Don't skip over ":". - - * gnus-score.el (gnus-score-find-bnews): Wouldn't find "nntp+" - score files. - - * gnus-art.el (t): Define `M-^'. - -Mon Jan 27 15:00:11 1997 Hrvoje Niksic - - * gnus-sum.el (gnus-summary-search-article): Inhibit forced - redisplay on XEmacs. - -Mon Jan 27 08:54:55 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.4 is released. - -Mon Jan 27 07:29:30 1997 Lars Magne Ingebrigtsen - - * nnsoup.el (nnsoup-file-name): Also find AREAS. - -Mon Jan 27 07:09:13 1997 Joev Dubach - - * message.el (message-use-followup-to): Doc fix. - -Mon Jan 27 06:59:14 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-read-summary-keys): Don't mess up when - using pick mode. - - * gnus-undo.el (gnus-undo-mode): Set undo boundary. - - * gnus-sum.el (gnus-summary-exit-hook): Doc fix. - -Sun Jan 26 13:20:42 1997 Lars Magne Ingebrigtsen - - * gnus.el: Autoload gnus-add-configuration. - -Sun Jan 26 13:01:07 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.3 is released. - -Sun Jan 26 12:52:11 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.2 is released. - -Sun Jan 26 09:28:31 1997 Per Abrahamsen - - * gnus-group.el: Organized customization options, and moved group - definitions to `gnus.el'. - * gnus-sum.el: Ditto. - * gnus.el: Ditto. - -Sun Jan 26 07:37:40 1997 Lars Magne Ingebrigtsen - - * gnus.el: Autoload topic function. - - * gnus-topic.el (gnus-topic-set-parameters): Quote strings to - enter into dribble file. - - * gnus-salt.el (gnus-pick-setup-message): Also restore right - config on sending. - - * gnus.el (gnus-group-startup-message): Add a space to the - beginning of the version string. - -Sat Jan 25 12:17:56 1997 Lars Magne Ingebrigtsen - - * gnus.el: Gnus v5.4.1 is released. - -Sat Jan 25 10:59:31 1997 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.84 is released. - -Fri Jan 24 20:31:25 1997 Paul Franklin - - * gnus-sum.el (gnus-summary-next-article): There's no - reason not to select the current article if it's what should - be selected. - -Sat Jan 25 01:03:59 1997 Per Abrahamsen - - * gnus-art.el: Organized customization options. - * gnus-sum.el: Adjusted. - * gnus-cite.el: Ditto. - * gnus.el: Ditto. - -Sat Jan 25 09:49:40 1997 Lars Magne Ingebrigtsen - - * gnus-demon.el (gnus-demon): Disable demons when the minibuffer - window is active. - - * gnus-art.el (gnus-article-read-summary-keys): Disable pick mode - commands. - -Sat Jan 25 09:42:41 1997 Kurt Swanson - - * message.el (message-pipe-buffer-body): New function. - - * gnus-sum.el (gnus-summary-pipe-message): New command and - keystroke. - -Fri Jan 24 11:01:06 1997 Per Abrahamsen - - * gnus-uu.el: Cleaned up customization groups. - -Fri Jan 24 15:45:48 1997 Kurt Swanson - - * gnus-sum.el (gnus-summary-make-menu-bar): Moved cache menu. - -Fri Jan 24 10:05:49 1997 Lars Magne Ingebrigtsen - - * gnus-msg.el (gnus-summary-resend-message): Accept - process/prefix. - - * gnus-cite.el (gnus-article-fill-cited-article): Accept a width - prefix. - - * gnus-art.el (gnus-article-read-summary-keys): Disable pick mode - map. - - * gnus-sum.el (gnus-summary-make-menu-bar): Duplication removed. - -Fri Jan 24 08:33:42 1997 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.83 is released. - -Fri Jan 24 05:05:38 1997 Lars Magne Ingebrigtsen - - * gnus.el (gnus-article-display-hook): Removed emphasize. - - * gnus-score.el (gnus-score-edit-current-scores): Set global - vars. - - * nnml.el (nnml-possibly-change-directory): Return nil when the - group can't be selected. - - * gnus-art.el (gnus-emphasis-alist): Don't underline - all-underscore words. - - * gnus-topic.el (gnus-topic-unindent): Give the right number of - unread articles. - (gnus-topic-indent): Ditto. - - * gnus-msg.el (gnus-summary-wide-reply-with-original): New command - and keystroke. - (gnus-summary-wide-reply): Ditto. - -Fri Jan 24 04:57:07 1997 Joe Wells - - * gnus-uu.el (gnus-quote-arg-for-sh-or-csh): New function. - (gnus-uu-command): Use it. - -Fri Jan 24 04:55:10 1997 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-mark-topic): Also bound to `#'. - -Fri Jan 24 04:44:10 1997 Greg Klanderman - - * message.el (message-do-send-housekeeping): Check for nil - message-buffer-list. - -Fri Jan 24 02:55:33 1997 Kurt Swanson - - * gnus-util.el (gnus-eval-in-buffer-window): Set buffer. - -Thu Jan 23 03:39:48 1997 Lars Magne Ingebrigtsen - - * nnsoup.el (nnsoup-file-name): New function. - (nnsoup-read-areas): Use it. - (nnsoup-dissect-buffer): New function. - (nnsoup-number-of-articles): Use it. - (nnsoup-narrow-to-article): Ditto. - (nnsoup-header): Removed. - - * gnus.el (gnus-check-backend-function): Doc fix. - - * gnus-art.el (gnus-article-goto-prev-page): Went to next article, - not prev. - - * gnus-group.el (gnus-group-insert-group-line-info): Display "*" - on unknown groups. - - * gnus-art.el (article-hide-boring-headers): Ignore errors in - `mail-extract-address-components'. - - * nnmail.el (nnmail-date-to-time): Parse zone correctly. - (nnmail-date-to-time): Seconds, dammit, seconds! - -Tue Jan 21 09:31:55 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-url-mailto): Didn't accept mailto links. - - * gnus-score.el (gnus-summary-score-effect): Doc fix. - - * nnmail.el (nnmail-move-inbox): Don't prin1 password. - -Mon Jan 20 18:06:19 1997 Paul Franklin - - * gnus-sum.el (gnus-simplify-buffer-fuzzy-step): New function. - (gnus-simplify-buffer-fuzzy): Use it. - - * gnus-sum.el (gnus-simplify-buffer-fuzzy): Fix while condition. - Add self-discipline tags. - -Tue Jan 21 05:28:05 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-get-newsgroup-headers-xover): Would return - nil from NoCeM. - -Mon Jan 20 04:59:53 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-button-alist): Only on word boundaries. - - * message.el (message-check-news-header-syntax): Don't prompt when - not read active file. - - * gnus-msg.el (gnus-setup-message): Always set actions. - -Sat Jan 18 07:23:41 1997 Lars Magne Ingebrigtsen - - * nntp.el (nntp-have-messaged): New variable. - (nntp-accept-process-output): Use it. - (nntp-wait-for): Ditto. - -Sat Jan 18 02:44:53 1997 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.82 is released. - -Fri Jan 17 00:04:47 1997 Lars Magne Ingebrigtsen - - * nnheader.el (nnheader-find-nov-line): Do the right thing with - short buffers. - - * nnkiboze.el (nnkiboze-generate-group): Supress duplicate - suppression. - (nnkiboze-generate-group): Message better. - - * gnus-sum.el (gnus-get-newsgroup-headers-xover): Don't always - fetch more heads. - (gnus-select-newsgroup): Use it. - - * nnmail.el (nnmail-get-new-mail): Weird file-truename problem. - - * gnus-sum.el (gnus-summary-caesar-message): Dox fix. - (gnus-articles-to-read): Limit length of prompt. - - * message.el (message-followup): Fold case before comparing - "world" to Distribution. - - * gnus-sum.el (gnus-summary-save-newsrc): Save dribble buffer. - - * nnfolder.el (nnfolder-request-expire-articles): Better message. - - * gnus-nocem.el (gnus-nocem-load-cache): Interactive. - -Thu Jan 16 23:48:05 1997 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-move-inbox): Use `nnmail-pop-password'. - -Wed Jan 15 18:41:42 1997 Lars Magne Ingebrigtsen - - * nnml.el (nnml-request-expire-articles): Typo. - (nnml-request-expire-articles): Don't blank out messages so - often. - - * nnsoup.el (nnsoup-request-type): Let commands like `a' work - better. - -Wed Jan 15 05:33:23 1997 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.81 is released. - -Wed Jan 15 02:57:18 1997 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-indent): Don't remove all groups from - topic. - (gnus-topic-unindent): Ditto. - - * gnus-sum.el (gnus-summary-respool-query): Don't mark anything as - read. - - * gnus-art.el (gnus-button-alist): Move news:mesg-id up. - - * gnus.el (gnus-article-display-hook): Emphasize by default. - - * gnus-topic.el (gnus-topic-rename): Mark newsrc as dirty. - - * gnus-sum.el (gnus-summary-next-page): When the article window - isn't displayed, don't scroll. - -Wed Jan 15 02:19:56 1997 Markus Linnala - - * gnus-cite.el (gnus-cite-reply-regexp, gnus-cite-always-check): - New variables. - -Wed Jan 15 02:02:03 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (article-date-user): New command and keystroke. - -Wed Jan 15 02:01:15 1997 David Moore - - * gnus-art.el (gnus-article-time-format): New variable. - (article-make-date-line): Use it. - -Wed Jan 15 01:44:15 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-emphasis-alist): Allow emphasis around - sentences. - (gnus-button-url-regexp): Don't allow empty URLs. - -Sun Jan 12 19:27:23 1997 Thor Kristoffersen - - * nntp.el (nntp-request-head): Work when using rlogin. - -Sun Jan 12 15:17:16 1997 Chris Bone - - * nntp.el (nntp-accept-process-output): Give numerical messages. - (nntp-wait-for): Search less. - -Fri Jan 10 17:38:38 1997 Erik Toubro Nielsen - - * gnus-art.el (gnus-Numeric-save-name): Doc fix. - -Thu Jan 9 21:51:59 1997 Dan Schmidt - - * nnmail.el (nnmail-move-inbox): Quote password. - -Thu Jan 9 18:24:32 1997 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-move-inbox): Don't nix out - nnmail-internal-password. - - * nnml.el (nnml-request-expire-articles): Also expire gzipped - articles. - - * gnus-art.el (article-emphasize): Wouldn't toggle. - -Thu Jan 9 18:18:26 1997 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.80 is released. - -Thu Jan 9 12:00:21 1997 Wesley Hardaker - - * acronym.el: New package. - -Thu Jan 9 11:43:28 1997 Lars Magne Ingebrigtsen - - * gnus.el: Updated copyrights. - - * nnoo.el (nnoo-push-server): Only push the first server. - -Wed Jan 8 11:34:07 1997 David Moore - - * nnoo.el (nnoo-push-server): Revert to 0.77 behaviour. - - * nnvirtual.el (nnvirtual-info-installed): New variable. - (nnvirtual-open-server): Use it. - (nnvirtual-request-update-info): ditto. - (nnvirtual-create-mapping): ditto. - - * gnus-group.el (gnus-group-edit-group): Close the group before - editing it. - (gnus-group-add-to-virtual): ditto. - -Thu Jan 9 11:32:13 1997 Lars Magne Ingebrigtsen - - * gnus-art.el: Redefine ems. - -Wed Jan 8 20:34:09 1997 John McClary Prevost - - * message.el (message-sendmail-f-is-evil): New variable. - (message-elide-elipsis): Ditto. - -Wed Jan 8 17:19:02 1997 Paul Stodghill - - * gnus-demon.el (gnus-demon): Don't run when not idle. - -Wed Jan 8 12:58:23 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-work-articles): Accept non-numerical - prefix values. - -Wed Jan 8 12:52:53 1997 Jason Rumney - - * nnmail.el (nnmail-move-inbox): Use `nnmail-internal-password'. - -Tue Jan 7 15:41:35 1997 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-show-hidden-text): Would bug out on - signatures. - -Mon Jan 6 23:46:53 1997 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.79 is released. - -Mon Jan 6 11:23:05 1997 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-process-babyl-mail-format): Widen at the right - place. - - * nnfolder.el (nnfolder-possibly-change-group): Set current group - before reading folder. - - * message.el (message-send-mail-with-mh): Expand file name. - (message-mode-menu): Check whether mark-active exists. - - * gnus-group.el (gnus-group-get-new-news): Don't pass ARG to the - listing function. - - * gnus-xmas.el (gnus-xmas-article-show-hidden-text): Deleted. - -Sun Jan 5 21:35:37 1997 Sudish Joseph - - * gnus-xmas.el (gnus-xmas-article-show-hidden-text): Use - 'article-type as the textprop of interest. Speed fix. - - * gnus-art.el (gnus-article-show-hidden-text): Speed fix. - -Sun Jan 5 11:43:08 1997 Lars Magne Ingebrigtsen - - * nnml.el (nnml-retrieve-headers-with-nov): Use faster method for - finding the right range. - - * gnus-demon.el (gnus-demon): Would fire off even if not idle. - - * gnus-srvr.el (gnus-server-add-server): Error when defining an - existing server. - - * gnus-start.el (gnus-get-unread-articles): Update info for native - groups. - - * gnus-load.el (gnus-nocem): New file. - - * gnus-sum.el (gnus-get-newsgroup-headers-xover): Make sure the - group name isn't nil. - -Sun Jan 5 11:18:22 1997 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.78 is released. - -Sun Jan 5 09:39:14 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-exit-no-update): Prompt change. - (gnus-summary-limit-to-author): Ditto. - (gnus-summary-limit-to-subject): Ditto. - - * gnus-cite.el (gnus-dissect-cited-text): Recognize articles that - end with cited text. - - * gnus-topic.el (gnus-group-sort-topic): Remove nil elements. - - * nnoo.el (nnoo-push-server): When switching from the nil server, - update all the default values of the variables. - - * nnkiboze.el (nnkiboze-generate-group): Protect against nil - infos. - - * lpath.el: Included. - -Sun Jan 5 09:36:57 1997 Martin Buchholz - - * dgnushack.el (bytecomp): Required. - -Sat Jan 4 11:45:45 1997 Lars Magne Ingebrigtsen - - * gnus-art.el: Rename some functions back. - - * gnus-sum.el (gnus-summary-save-newsrc): Don't nix out scores. - - * gnus-async.el (gnus-async-prefetched-article-entry): Would - hang Emacs. - -Sat Jan 4 11:28:24 1997 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.77 is released. - -Sat Jan 4 08:35:06 1997 Lars Magne Ingebrigtsen - - * gnus-cache.el (gnus-start): Don't require gnus-sum. - - * gnus-art.el: All article functions moved here. - - * article.el: Elided. - - * gnus-async.el (gnus-async-prefetched-article-entry): Check for - empty articles. - - * gnus-art.el (gnus-read-save-file-name): Expand file name in - article save dir. - -Fri Jan 3 21:22:21 1997 Paul Stodghill - - * gnus-demon.el (gnus-demon): Use `gnus-demon-idle-time'. - -Tue Dec 31 10:38:43 1996 - - * pop3.el: version 1.3 - - * pop3.el: (pop3-retr): added bill@attmail.com's big buffer sleeps - to save wear and tear on he heap. - -Thu Aug 01 11:53:48 1996 - - * pop3.el: version 1.2 - - * pop3.el: (pop3-apop): minor changes to support XEmacs built-in - md5, or William Perry's modified md5.el. - - * pop3.el: (pop3-movemail): changed to use - pop3-authentication-scheme instead of pop3-use-apop. - - * pop3.el: pop3-use-appop: transformed into - pop3-authentication-scheme. - - * pop3.el: version 1.1 - - * pop3.el: (pop3-apop): new function. Send alternate - authentication information to the server. Requires md5.el. - - * pop3.el: (pop3-open-server): set pop3-timestamp if server - returns one. - - * pop3.el: (pop3-movemail): use APOP authentication if - pop3-use-apop non-nil. - - * pop3.el: pop3-timestamp: added variable - - * pop3.el: pop3-use-apop: added variable - -Fri Jan 3 18:52:23 1997 Wesley Hardaker - - * gnus-group.el (gnus-group-get-new-news): Pass the ARG on to the - listing function. - -Fri Jan 3 18:32:24 1997 Lars Magne Ingebrigtsen - - * article.el (article-hide-boring-headers): Respect - gnus-show-all-headers. - - * gnus-sum.el (gnus-summary-save-article): Update the mode line. - -Fri Jan 3 18:30:50 1997 Erik Toubro Nielsen - - * nnmail.el (nnmail-remove-leading-whitespace): Replacing should - be non-literal. - -Fri Jan 3 18:18:30 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-expire-articles-now): Use - "yes-or-no". - (gnus-summary-delete-article): Ditto. - -Fri Jan 3 18:16:27 1997 Peter Skov Knudsen - - * gnus-win.el (gnus-buffer-configuration): Don't create picons - frame unless needed. - -Fri Jan 3 17:21:30 1997 Lars Magne Ingebrigtsen - - * message.el (message-elide-region): New command and keystroke. - - * gnus-salt.el (gnus-generate-vertical-tree): Check whether we can - go backwards. - - * gnus-group.el (gnus-group-catchup-current): Prompt better. - - * gnus-undo.el (gnus-undo-make-menu-bar): Nonsense. - -Fri Jan 3 16:52:22 1997 Rajappa Iyer - - * gnus-salt.el (gnus-pick-start-reading): Possibly catch up all - unpicked articles. - -Fri Jan 3 12:12:22 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-get-newsgroup-headers-xover): Try to get the - few last headers using HEAD in any case to work around a bug in - inn. - - * gnus-xmas.el (gnus-xmas-define): Redefined. - - * gnus.el (gnus-characterp): Made into func. - -Thu Jan 2 16:21:47 1997 Sudish Joseph - - * gnus-util.el (gnus-characterp): New function. - -Wed Dec 18 18:15:39 1996 Jan Vroonhof - - * gnus-start.el (gnus-dribble-enter): Make sure we write at the - end of the dribble file - -Thu Jan 2 16:01:58 1997 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-limit-children): Make NoCeM'ed - articles read. - -Tue Dec 17 20:24:40 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-save-newsrc): Respect the prefix. - -Mon Dec 16 23:47:30 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.76 is released. - -Mon Dec 16 14:33:58 1996 Lars Magne Ingebrigtsen - - * gnus-msg.el (gnus-bug): Insert nntp server type. - (gnus-copy-article-buffer): Remove prev/next buttons. - - * gnus-cache.el (gnus-jog-cache): Let the call func be - interactive. - - * gnus-art.el (gnus-summary-save-in-pipe): Include number of - articles. - (gnus-article-add-buttons): Don't add buttons to already - buttonized areas. - - * nntp.el (nntp-open-connection): Allow `C-g' to continue. - - * nnbabyl.el (nnbabyl-retrieve-headers): Wouldn't find all - articles sometimes. - - * gnus-sum.el (gnus-data-compute-positions): Reinstated. - (gnus-remove-thread): Do the right thing with dummy roots. - - * nndoc.el (nndoc-request-article): Only return valid articles. - - * nnfolder.el (nnfolder-delete-mail): Wouldn't delete From lines. - - * gnus-topic.el (gnus-topic-find-groups): Ignore nil groups. - - * nnfolder.el (nnfolder-save-mail): Quote all "From " lines. - -Sat Dec 14 11:49:21 1996 David Moore - - * gnus-nocem.el (gnus-nocem-groups): - news.admin.net-abuse.bulletins is to replace - news.admin.net-abuse.announce for nocemish postings. - -Mon Dec 16 13:38:38 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-move-inbox): Message at end. - - * gnus-sum.el (gnus-summary-refer-parent-article): Use - "in-reply-to" header. - - * gnus-topic.el (gnus-topic-set-parameters): Enter into dribble. - - * gnus-sum.el (gnus-summary-save-newsrc): Change. - (gnus-summary-catchup): Only catch up the limited articles. - (gnus-simplify-subject-fuzzy-regexp): Changed to nil. - (gnus-simplify-buffer-fuzzy): Ignore nil - gnus-simplify-subject-fuzzy-regexp. - - * gnus-srvr.el (gnus-server-prepare): Don't insert servers twice. - -Thu Dec 12 18:18:11 1996 David Moore - - * gnus-start.el (gnus-setup-news): Use gnus-make-hashtable. - (gnus-update-active-hashtb-from-killed): ditto. - (gnus-newsrc-to-gnus-format): ditto. - - * gnus-bcklg.el (gnus-backlog-setup): ditto. - - * gnus-sum.el (gnus-create-xref-hashtb): ditto. - - * gnus-move.el (gnus-move-group-to-server): ditto. - - * gnus-util.el (gnus-create-hash-size): Power of 2 hashtables can - be _significantly_ faster than 2^x-1 tables on many risc - machines. Any gains of 2^x-1 are comparably small on other - machines. - -Fri Dec 13 05:05:03 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.75 is released. - -Fri Dec 13 04:49:21 1996 Andre Deparade - - * gnus-cite.el (gnus-cited-text-button-line-format-alist): Make %b - and %e usable. - -Fri Dec 13 01:06:09 1996 Lars Magne Ingebrigtsen - - * article.el (article-decode-rfc1522): Would collate subsequent - encodings. - - * gnus-start.el (gnus-check-bogus-newsgroups): Use - `map-y-or-n-p'. - - * gnus-topic.el (gnus-topic-kill-group): Save topic contents. - (gnus-topic-yank-group): Insert topic contents. - - * gnus-sum.el (gnus-simplify-subject-fuzzy-regexp): Changed - default to "". - - * gnus-score.el (gnus-score-find-favourite-words): Put point at bob. - - * gnus-sum.el (gnus-summary-limit-to-age): Dox fix & interactive - spec. - -Fri Dec 13 01:01:46 1996 David Moore - - * gnus-sum.el (gnus-summary-limit-to-age): New function and - keystroke. - -Tue Dec 10 23:42:00 1996 David Moore - - * gnus-nocem.el (gnus-nocem-groups): news.lists.filters is to - replace alt.nocem.misc - -Wed Dec 11 01:15:31 1996 Lars Magne Ingebrigtsen - - * nnfolder.el (nnfolder-request-expire-articles): Better message. - (nnfolder-delete-mail): Actually delete. - - * gnus-sum.el (gnus-summary-update-info): Don't run - `gnus-exit-group-hook'. - (gnus-summary-expire-articles): Do it. - (gnus-summary-exit): Ditto. - (gnus-summary-save-newsrc): New command and keystroke. - -Wed Dec 11 00:38:12 1996 Stainless Steel Rat - - * gnus-sum.el (gnus-simplify-buffer-fuzzy): New version. - -Mon Dec 9 21:00:09 1996 David Moore - - * gnus-sum.el (gnus-summary-catchup): Out dated catchup code - removed. - - * nnvirtual.el (nnvirtual-update-read-and-marked): Work around a - cache of active count in gnus-update-read-articles. - -Mon Dec 9 22:55:56 1996 Lars Magne Ingebrigtsen - - * article.el (article-emphasize): Use it. - - * gnus-util.el (gnus-put-text-property-excluding-newlines): New - function. - -Mon Dec 9 08:38:08 1996 Per Abrahamsen - - * gnus-sum.el: Split customize groups and added links to the manual. - -1996-12-08 Dave Love - - * gnus-vis.el (gnus-button-alist): Allow whitespace in ` match. - -Mon Dec 9 02:18:35 1996 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-button-embedded-url): New function. - (gnus-button-alist): Use it. - - * gnus-util.el (gnus-strip-whitespace): New function. - -Mon Dec 9 00:04:24 1996 Richard Stallman - - * gnus-start.el (gnus-read-init-file): Don't read init file when - started with "emacs -q". - -Sun Dec 8 18:25:34 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.74 is released. - -Fri Dec 6 12:47:24 1996 Wes Hardaker - - * gnus-picon.el (gnus-picons-insert-face-if-exists): Don't reverse - domains. - -Fri Dec 6 11:33:44 1996 Lars Magne Ingebrigtsen - - * nnfolder.el (nnfolder-request-article): Use it. - (nnfolder-retrieve-headers): Wouldn't find the right header. - - * nnmail.el (nnmail-search-unix-mail-delim-backward): New function. - -Thu Dec 5 21:51:03 1996 Lars Magne Ingebrigtsen - - * gnus.el (gnus-server-add-address): Don't add "*-address" to all - servers. - -Thu Dec 5 21:01:22 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.73 is released. - -Thu Dec 5 19:29:50 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-get-newsgroup-headers-xover): Message the line - number. - - * nnml.el (nnml-request-scan): Change server. - -Sat Nov 30 00:42:39 1996 Steven L Baur - - * earcon.el: Added Customization. - -Thu Dec 5 11:24:15 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-prepare-threads): Don't output - articles outside the limit. - - * gnus-group.el (gnus-group-level): New function. - (gnus-group-list-active): Faster implementation. - (gnus-group-list-all-matching): Accept a `C-u' prefix. - - * message.el (message-news): Make sure newsey things are done. - - * gnus-kill.el (gnus-execute-1): Eval forms properly. - - * gnus-score.el (gnus-score-find-bnews): Treat "+" like ordinary - characters. - - * gnus-sum.el (gnus-summary-make-menu-bar): Update. - - * nndoc.el (nndoc-forward-type-p): Don't give false positives. - - * message.el (message-user-mail-address): Bypass mail-extr. - (message-make-forward-subject): Only fetch the first Subject. - - * gnus-art.el (gnus-button-alist): Reconize news:group urls. - - * gnus-start.el (gnus-group-change-level): Didn't quote strings - entered into dribble. - - * gnus-util.el (gnus-prin1-to-string): Use print-quoted- - - * nnbabyl.el (nnbabyl-request-article): Wouldn't find first - article properly. - (nnbabyl-delete-mail): Ditto. - -Thu Dec 5 06:16:25 1996 Per Abrahamsen - - * nnmail.el (nnmail-split-history): Use - `with-output-to-temp-buffer'. - -Thu Dec 5 08:46:26 1996 Shuhei KOBAYASHI - - * gnus-sum.el (gnus-nov-parse-line): unwind-protect the - narrowing. - -Tue Dec 3 14:06:17 1996 Lars Magne Ingebrigtsen - - * nnheader.el (nnheader-find-file-noselect): Disable local - variables. - - * gnus-group.el (gnus-group-fetch-faq): Ditto. - -Mon Dec 2 17:12:26 1996 Ralph Schleicher - - * gnus-demon.el (gnus-demon-time-to-step): Make it work. - -Sun Dec 1 07:35:32 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-retrieve-articles): New function. - (nntp-next-result-arrived-p): New function. - -Sat Nov 30 13:50:15 1996 Lars Magne Ingebrigtsen - - * nnfolder.el (nnfolder-retrieve-headers): Parse unix mboxes better. - (nnfolder-request-article): Ditto. - - * message.el (message-rename-buffer): Make sure the renamed buffer - is valid. - -Sat Nov 30 12:06:47 1996 Lars Magne Ingebrigtsen - - * gnus-cache.el (gnus-cache-enter-article): Warn when trying to - cache negative articles. - -Sat Nov 30 08:53:48 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.72 is released. - -1996-11-30 Markus Linnala - - * gnus-sum.el (gnus-summary-refer-parent-article): Work when there - are no references. - -1996-11-30 Lars Magne Ingebrigtsen - - * message.el (message-fetch-field): Fetch all headers. - - * gnus-sum.el (gnus-cut-thread): Would cut off the wrong - children. - - * gnus-score.el (gnus-all-score-files): Take an optional group - param. - - * gnus-start.el (gnus-dribble-touch): New function. - (gnus-master-read-slave-newsrc): Use it. - - * gnus-salt.el (gnus-generate-vertical-tree): Would bug out on - sparse articles. - - * gnus-sum.el (gnus-summary-search-article): Would infloop. - - * gnus-nocem.el: Ignore invalid entries. - - * gnus-sum.el (gnus-data-remove): Wouldn't update properly when - treating the first article in the buffer. - (gnus-rebuild-thread): Would compute the wrong offset. - (gnus-summary-move-article): Don't mark as read. - -1996-11-28 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-thread-loop-p): New function. - (gnus-make-threads): Avoid inflooped references. - - * gnus-start.el (gnus-gnus-to-quick-newsrc-format): Bind - print-length to nil. - -Wed Nov 27 02:41:31 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-process-babyl-mail-format): Goto-char placed - wrongly. - - * gnus-group.el (gnus-group-select-group-emphemerally): New - command and keystroke. - - * gnus-sum.el (gnus-read-header): Fold continuation lines. - -Tue Nov 26 18:43:29 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-update-info): Don't change buffer. - -Tue Nov 26 17:56:19 1996 Hrvoje Niksic - - * gnus-sum.el (gnus-summary-print-article): Prompt for file name. - -Tue Nov 26 17:08:07 1996 Lars Magne Ingebrigtsen - - * article.el (article-date-ut): Use original date. - -Tue Nov 26 08:36:38 1996 Wes Hardaker - - * gnus-picon.el: Customize. - - * smiley.el: Customize. Change artist's email address in comments. - -Tue Nov 26 04:37:54 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.71 is released. - -Tue Nov 26 00:58:25 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-get-split-value): Expand file names in save - dir. - -Mon Nov 25 22:50:19 1996 Jens Lautenbacher - - * gnus-group.el (gnus-group-make-menu-bar): Moved customize. - -Mon Nov 25 15:27:41 1996 Per Abrahamsen - - * gnus.el (custom-facep): Removed. - - * gnus-topic.el (gnus-topic-line-format): Added customize - support. - - * gnus.el (gnus-article-display-hook): Moved - `gnus-article-treat-overstrike' last. - -Mon Nov 25 11:21:15 1996 Wes Hardaker - - * gnus-picon.el: (gnus-picons-try-to-find-face): New param: rightp. - (gnus-picons-insert-face-if-exists): Use it and own new param. - More properly detect location of bar and dots. - (gnus-group-display-picons): Use above. - (gnus-article-display-picons): ditto. - -Mon Nov 25 04:17:03 1996 Lars Magne Ingebrigtsen - - * nnfolder.el (nnfolder-read-folder): Make buffer read/write. - - * gnus-sum.el (gnus-summary-print-article): Delete invisible text - first. - - * article.el (article-delete-invisible-text): New function. - - * nntp.el (nntp-possibly-change-group): Would abort async - fetches. - - * gnus-sum.el (gnus-summary-print-article): New command and - keystroke. - (gnus-summary-move-article): Select the article first. - - * message.el (message-user-agent): Define the message mail user - agent. - -Sun Nov 24 02:28:56 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-possibly-change-group): Would get confused. - - * gnus-art.el (gnus-button-url-regexp): Allow all word-constituent - characters to be part of urls. - - * nntp.el (nntp-possibly-change-group): Wait until the status line - arrives and delete it. - -Sun Nov 24 01:36:45 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.70 is released. - -Sat Nov 23 23:22:27 1996 Per Abrahamsen - - * message.el (message-mode-menu): Added `message-caesar-region'. - (message-mode-field-menu): Added `message-insert-to' and - `message-insert-newsgroups'. - -Sat Nov 23 19:53:30 1996 Lars Magne Ingebrigtsen - - * nnkiboze.el: Would destroy all component group infos. - - * gnus-xmas.el (gnus-summary-mail-toolbar): Reversed cathup. - - * gnus-sum.el (gnus-summary-article-unread-p): New function. - (gnus-remove-thread-1): Avoid `text-propery-any'. - (gnus-summary-insert-subject): Ditto. - (gnus-data-compute-positions): Removed. - - * gnus-dup.el (gnus-dup-suppress-articles): Didn't do anything. - - * gnus-group.el (gnus-group-restart): Just start up Gnus - properly. - -Sat Nov 23 07:16:39 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.69 is released. - -Sat Nov 23 05:00:36 1996 Lars Magne Ingebrigtsen - - * gnus-cache.el (gnus-cache-update-active): Wouldn't mark the - cache active file as changed. - - * gnus-start.el (gnus-setup-news): Slaves shouldn't check for new - newsgroups. - - * gnus-sum.el (gnus-group-make-articles-read): Update group line - on undo. - - * gnus-move.el (gnus-move-group-to-server): Check whether - to-active is nil. - - * gnus-score.el (gnus-score-find-hierarchical): Do the right thing - for prefixed group names. - - * nnml.el (nnml-generate-nov-databases-1): Don't infloop. - -Sat Nov 23 04:58:49 1996 Steven L. Baur - - * gnus-score.el (gnus-score-score-files-1): Don't infloop. - -Sat Nov 23 04:40:55 1996 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-make-menu-bar): Protect against - undefined menu vars. - - * gnus-group.el (gnus-group-rename-group): Prompt fix. - -Fri Nov 22 12:17:14 1996 David Moore - - * nnml.el (nnml-generate-nov-databases-1): Don't infloop. - - * gnus-score.el (gnus-score-score-files-1): Don't infloop, be - slightly faster. - -Fri Nov 22 22:18:52 1996 Lars Magne Ingebrigtsen - - * gnus-move.el (gnus-move-group-to-server): Looking-at bug. - (gnus-move-group-to-server): Extend. - - * message.el (message-check-news-header-syntax): Change shoot-me - line. - -Thu Nov 21 18:31:56 1996 David Moore - - * gnus-util.el (gnus-atomic-progn, gnus-atomic-progn-assign, - gnus-atomic-setq): Routines to help protect against corruption to - internal Gnus datastructures from C-g or error signals. - - * gnus-util.el (gnus-atomic-be-safe): Variable which can set to - nil to disable the C-g atomic protection. - - * nnvirtual.el (nnvirtual-update-read-and-marked): Replaces - nnvirtual-update-reads and nnvirtual-update-marked. Does updates - to component groups atomically. - (nnvirtual-request-update-info): Update the virtual group - atomically. - -Fri Nov 22 00:19:23 1996 Lars Magne Ingebrigtsen - - * gnus.el: Create menu bar even when not using menu-bar-mode. - - * gnus-start.el (gnus-1): Don't paint picture gnu twice. - - * gnus-sum.el (gnus-group-make-articles-read): Undo in the right - buffer. - (gnus-update-read-articles): Ditto. - -Fri Nov 22 00:04:59 1996 Raja R. Harinath - - * nnheader.el (nnheader-generate-fake-message-id): Interact better - with duplicate suppression. - -Thu Nov 21 23:31:30 1996 Lars Magne Ingebrigtsen - - * gnus.el (gnus-info-set-entry): Wouldn't extend far enough. - - * gnus-salt.el (gnus-tree-minimize): Ignore errors. - - * gnus-sum.el (gnus-summary-article-sparse-p): New macro. - (gnus-summary-article-ancient-p): Ditto. - (gnus-summary-search-article): Skip sparse articles. - - * article.el (article-date-ut): Wouldn't pick out the date right. - -Thu Nov 21 23:07:34 1996 Raja R. Harinath - - * gnus-dup.el (gnus-dup-enter-articles): Ignore sparse articles. - -Thu Nov 21 21:57:52 1996 Lars Magne Ingebrigtsen - - * gnus-dup.el (gnus-dup-suppress-articles): Only suppress read - articles. - - * article.el (article-delete-text-of-type): Would bug out. - -Thu Nov 21 11:02:36 1996 David Moore - - * nnoo.el (nnoo-change-server): Only preserve un-ooed variables if - they exist globally. - -Thu Nov 21 10:52:39 1996 Steven L Baur - - * article.el (article-date-ut): Extend date header recognition to - deal with systems that put a TAB after the colon. - -Thu Nov 21 19:50:26 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.68 is released. - -Thu Nov 21 05:33:24 1996 Lars Magne Ingebrigtsen - - * nnoo.el (nnoo-change-server): Protect against void vars. - -Thu Nov 21 00:00:29 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.67 is released. - -Wed Nov 20 22:54:34 1996 Lars Magne Ingebrigtsen - - * message.el (message-mode-field-menu): Separated. - - * nnoo.el (nnoo-change-server): Preserve un-ooed variables as - well. - - * nnbabyl.el (nnbabyl-read-mbox): Understand movemailed babyl - files. - -Wed Nov 20 19:25:40 1996 Kurt Swanson - - * gnus-art.el (gnus-article-make-menu-bar): Fix menu bar. - -Wed Nov 20 05:27:45 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-article-sort-by-lines, - gnus-thread-sort-by-lines): New functions. - (gnus-summary-sort-by-lines): New command and keystroke. - - * gnus.el (gnus-other-frame): Be a bit more clever. - - * gnus-group.el (gnus-group-get-new-news): Check for new - newsgroups. - - * nnheader.el (nnheader-insert-file-contents-literally): Bind - `default-major-mode' to nil. - - * gnus-sum.el (gnus-group-make-articles-read): Yet another undo - bug. - - * nnmail.el (nnmail-article-group): Wrong `junk' check. - -Wed Nov 20 05:13:05 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.66 is released. - -Wed Nov 20 01:57:31 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-article-group): Would lose mail when using - advanced splitting! - - * gnus-sum.el (gnus-update-read-articles): Undo fix. - -Tue Nov 19 22:56:56 1996 Lars Magne Ingebrigtsen - - * nnheader.el (nnheader-auto-mode-alist): New function. - -Tue Nov 19 21:57:29 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.65 is released. - -Tue Nov 19 17:41:17 1996 Lars Magne Ingebrigtsen - - * message.el (message-do-fcc): Supply FROM-GNUS param to - rmail-output. - - * gnus-msg.el (gnus-setup-message): Use the buffer name instead of - the buffer. - - * nnmail.el (nnmail-article-group): Respect `junk' advanced - splits. - - * gnus-group.el (gnus-group-restart): Clear system. - - * nnfolder.el (nnfolder-read-folder): Handle zipped files. - - * nnheader.el (nnheader-find-file-noselect): New definition. - - * gnus-art.el (gnus-article-make-menu-bar): Use the menu bar. - - * gnus-score.el (gnus-all-score-files): Would still get the score - files in wrong order. - - * gnus-start.el (gnus-find-new-newsgroups): End message on wrong - level. - - * gnus-srvr.el (gnus-server-prepare): Don't list servers twice. - - * gnus-xmas.el (gnus-xmas-read-event-char): Mystery hanging bug. - - * gnus-score.el (gnus-all-score-files): Expand all files in the - kill files directory. - - * gnus-sum.el (gnus-group-make-articles-read): Register with undo - properly. - (gnus-update-read-articles): Ditto. - - * gnus-msg.el (gnus-debug): Include gnus-async in variables. - -Tue Nov 19 00:07:14 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.64 is released. - -Mon Nov 18 21:42:40 1996 Loren Schall - - * gnus-sum.el (gnus-summary-insert-line): Pick apart the From - header in reversed order. - -Mon Nov 18 02:00:33 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-refer-references): Protect against nil - References. - - * gnus-score.el (gnus-all-score-files): Remove duplicate score - files from the end first. - - * gnus-start.el (gnus-after-getting-new-news-hook, - gnus-get-new-news-hook): Switched defaults. - - * gnus-score.el (gnus-all-score-files): Returned score files in - reverse order. - - * gnus-util.el (gnus-make-directory): Protect against nil dirs. - - * gnus-art.el (gnus-decode-encoded-word-method): Default to - 'gnus-article-de-quoted-unreadable. - - * gnus.el (gnus-read-group): Prohibit : in group name. - (gnus-article-display-hook): Removed - `gnus-article-de-quoted-unreadable'. - - * article.el (gnus-emphasis-alist): Accept "-" as word marker. - - * messagexmas.el (message-xmas-dont-activate-region): Changed - default to t. - -Sun Nov 17 01:09:21 1996 Per Abrahamsen - - * message.el: Added customize support. - -Sun Nov 17 23:42:03 1996 Raja R. Harinath - - * gnus-gl.el (bbb-extract-token-number): Fix. - -Sun Nov 17 12:18:27 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-next-article): Use it. - (gnus-group-make-articles-read): Quote undo forms. - (gnus-update-read-articles): Ditto. - - * gnus.el (gnus-key-press-event-p): New alias. - -Sat Nov 16 22:05:24 1996 Steven L Baur - - * gnus-sum.el (gnus-summary-next-article): XEmacs doesn't use - integers for keyboard events. - -Sun Nov 17 12:09:44 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-set-timestamp): Protect against nil - gnus-newsgroup-name. - -Sun Nov 17 01:09:21 1996 Per Abrahamsen - - * nnmail.el: Added customize support. - -Sat Nov 16 22:59:47 1996 Lars Magne Ingebrigtsen - - * gnus.el (gnus-summary-line-format): Dox fix. - - * nnfolder.el (nnfolder-save-mail): Would insert extra newline at - the start. - -Sat Nov 16 19:43:22 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.63 is released. - -Sat Nov 16 11:32:43 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-next-article): Ignore non-keyboard - events before starting to walk. - - * gnus-topic.el (gnus-topic-prepare-topic): Insert topics that - have 0 unread if there is anything under. - - * gnus-sum.el (gnus-summary-move-article): Do `B B' properly. - - * gnus-topic.el (gnus-topic-parameters): Return nil on - non-existant topics. - - * nntp.el (nntp-possibly-change-group): Would nix out async buffer - when switching groups. - - * gnus-sum.el (gnus-summary-expire-articles): Update info before - expiring. - - * article.el (article-strip-leading-blank-lines): Would strip too - much. - - * gnus-sum.el (gnus-summary-mode): Update specs after running - hook. - - * gnus-util.el (gnus-boundp): New function. - - * gnus-start.el (gnus-get-new-news-hook): Default to updating - display-time, if present. - -Fri Nov 15 13:59:16 1996 Steven L Baur - - * gnus-xmas.el (gnus-xmas-define): Better fix for dealing with - scroll-in-place, which will be preloaded in XEmacs 19.15. - - * gnus-art.el (gnus-article-prev-page): Guard scroll-(up|down) - against scroll-in-place package. - (gnus-article-next-page): Ditto. - - * gnus-salt.el (gnus-pick-next-page): Ditto. - -Fri Nov 15 21:40:12 1996 Lars Magne Ingebrigtsen - - * nnweb.el (gnus): Required. - - * gnus-group.el (gnus-group-clear-data-on-native-groups): Offer to - move cache. - - * gnus-cache.el (gnus-cache-move-cache): New command. - - * nnvirtual.el (nnvirtual-create-mapping): Handle groups with no - articles. - - * gnus-group.el (gnus-group-insert-group-line-info): Compute the - right number for dead groups. - - * nnvirtual.el: Complete-first-sentence-in-first-line-of-doc fix. - -Thu Nov 14 10:20:44 1996 Per Abrahamsen - - * gnus-win.el: Added customize support. - - * gnus-uu.el: Added customize support. - -Thu Nov 14 17:50:12 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.62 is released. - -Thu Nov 14 12:25:23 1996 Lars Magne Ingebrigtsen - - * gnus.el (gnus-article-display-hook): Add - `gnus-article-de-quoted-unreadable' to default value. - - * gnus-art.el (gnus-summary-article-menu): Dummy define. - - * article.el (custom): Require first. - - * dgnushack.el (require): New implementation. - - * article.el (gnus-emphasis-alist): Recognize emphasis inside - quotes. - -Thu Nov 14 10:20:44 1996 Per Abrahamsen - - * nnmail.el (nnmail-split-abbrev-alist): Added `uucp' to `mail'. - -Thu Nov 14 11:25:51 1996 Samuel Tardieu - - * nnmail.el (nnmail-search-unix-mail-delim): Skip past ">From " - after "From ". - -Thu Nov 14 10:08:27 1996 Raja R. Harinath - - * gnus-gl.el (bbb-connect-to-bbbd): Only connect if we have the - token. - -Thu Nov 14 08:46:31 1996 Lars Magne Ingebrigtsen - - * message.el (message-insert-to): Deny with "never" - courtesy-copies-to header. - - * dgnushack.el (require): Try both the uncompiled and the compiled - versions. - - * nntp.el (nntp-send-authinfo): Hide password. - -Wed Nov 13 12:00:43 1996 David Moore - - * gnus-start.el (gnus-parse-active): Correct range parsing - restored. - -Tue Nov 12 14:09:15 1996 David Moore - - * gnus-nocem.el (gnus-nocem-enter-article): Don't store the same - message id in the cache twice. - (gnus-nocem-liberal-fetch): - - * gnus-nocem.el (gnus-nocem-liberal-fetch): New Variable. - - * gnus-nocem.el (gnus-nocem-check-article, - gnus-nocem-scan-groups): Don't re-fetch a crossposted @@NCM - posting that we've alread verified and scanned. - -Wed Nov 13 23:38:00 1996 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-parse-active): Gave wrong results. - - * gnus-win.el (gnus-buffer-configuration): Doc fix. - -Wed Nov 13 13:52:20 1996 Per Abrahamsen - - * gnus-topic.el: Added customize support. - - * gnus-group.el (gnus-group-mode-hook): Added `gnus-topic-mode' - option. - - * gnus-util.el (gnus-verbose): Made customizable. - - * gnus.el (gnus-summary-line-format): Customize. - - * gnus-sum.el (gnus-summary-respool-default-method): Customize. - - * gnus.el (gnus-select-method-name): New widget. - (gnus-select-method): Use it. - -Wed Nov 13 14:19:48 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-info-clear-data): Quote lists. - - * nntp.el (nntp-send-authinfo): Prompt right. - -Tue Nov 12 19:33:00 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.61 is released. - -Tue Nov 12 17:55:17 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-move-inbox): Delete empty crash box. - - * gnus-art.el (gnus-article-make-menu-bar): Define summary article - map. - - * gnus-group.el (gnus-group-set-timestamp): Removed reference to - free variable `group'. - -Mon Nov 11 16:29:00 1996 David Moore - - * gnus-group.el (gnus-group-timestamp-delta): New function. - - * gnus-demon.el (gnus-demon-add-scan-timestamps, - gnus-demon-scan-timestamps): New functions. - -Mon Nov 11 05:27:20 1996 Lars Magne Ingebrigtsen - - * article.el (gnus-emphasis-alist): Added ":" as sentence-end. - -Mon Nov 11 05:14:02 1996 David Moore - - * nnvirtual.el: New version. - -Mon Nov 11 05:09:14 1996 Lars Magne Ingebrigtsen - - * article.el (gnus-emphasis-underline-bold): Renamed. - -Mon Nov 11 05:05:09 1996 Alexandre Oliva - - * nntp.el (nntp-possibly-change-group): Bind - `nnheader-callback-function' to nil. - -Sun Nov 10 12:13:08 1996 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-parse-active): Give correct answer. - - * nntp.el (nntp-snarf-error-message): Massage the message. - -Sun Nov 10 11:49:33 1996 Joe Wells - - * dgnushack.el (require): Load .el files only. - -Sun Nov 10 10:06:12 1996 Lars Magne Ingebrigtsen - - * gnus-move.el (gnus-move-group-to-server): Would pass wrong - params to `gnus-retrieve-headers'. - - * nntp.el (nntp-wait-for): Accept a `discard' param. - (nntp-open-connection): Would mix it up when establishing asynch - connections. - - * nnml.el (nnml-find-id): Would report false positives. - - * gnus-spec.el (gnus-update-format-specifications): Do all - computations in the right buffer. - - * nnweb.el (nnweb-type-definition): Moved search engine. - (nnweb-fetch-form): Use "POST" instead of `POST'. - - * gnus-undo.el (gnus-undo-register): Entered malformed undo - statements. - - * smiley.el (smiley-nosey-regexp-alist): Add a devilish face. - -Sun Nov 10 06:38:38 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.60 is released. - -Sun Nov 10 06:31:36 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.59 is released. - -Sun Nov 10 06:09:37 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-decode-text): Erased everything. - - * article.el (article-remove-trailing-blank-lines): Would - infloop. - -Sun Nov 10 06:06:31 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.58 is released. - -Sun Nov 10 06:02:51 1996 Alexandre Oliva - - * nntp.el (nntp-possibly-change-group): Bind callback function to - nil. - -Sun Nov 10 05:35:25 1996 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-remove-topic): Remove from alist. - - * gnus-score.el (gnus-score-string): Didn't trace fuzzies and - words. - -Sat Nov 9 18:14:42 1996 Lars Magne Ingebrigtsen - - * nnweb.el (nnweb-set-hashtb): Typo. - (nnweb-read-overview): Typo. - - * nnheader.el (nnheader-skeleton-replace): New macro. - (nnheader-replace-string): Use it. - (nnheader-replace-regexp): Use it. - (nnheader-strip-cr): Use it. - - * nntp.el (nntp-retrieve-headers): Be faster. - (nntp-decode-text): Use faster algorithm. - - * nnheader.el (nnheader-replace-string): New function. - -Sat Nov 9 17:22:16 1996 Hrvoje Niksic - - * article.el (gnus-emphasis-alist): Doc fix. - -Sat Nov 9 16:27:27 1996 Per Abrahamsen - - * nnmail.el (nnmail-split-it): Fix bug in abbrev handling. - -Sat Nov 9 05:59:02 1996 Lars Magne Ingebrigtsen - - * nnweb.el (nnweb-set-hashtb): Typo. - - * article.el (gnus-emphasis-alist): One ' too many. - - * gnus-async.el (gnus-async-prefetch-article): Only message when - in the summary buffer. - - * gnus-msg.el (gnus-post-news): Handle `newsgroup' param. - (gnus-debug): Be `defcustom' aware. - -Sat Nov 9 05:41:27 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.57 is released. - -Fri Nov 8 22:56:59 1996 Per Abrahamsen - - * gnus.el: Added customize support. - -Sat Nov 9 05:14:58 1996 David Moore - - * nnmail.el (nnmail-expand-newtext): New version. - -Sat Nov 9 04:28:42 1996 Lars Magne Ingebrigtsen - - * gnus-xmas.el (gnus-xmas-force-redisplay): New variable. - (gnus-xmas-summary-recenter): Use it. - - * gnus-art.el (gnus-button-url): Removed seconds param since old - versions of `browse-url.el' don't support it. - (gnus-article-make-menu-bar): Add article menu to article menu. - - * article.el (gnus-emphasis-alist): Use ")" as a sentence end - marker. - -Fri Nov 8 05:33:08 1996 Lars Magne Ingebrigtsen - - * article.el (gnus-emphasis-alist): Recognize "_this_here_". - - * gnus-art.el (gnus-article-save): Save the right buffer after - stripping headers. - - * nntp.el (nntp-wait-for): Nix out "nntp reading...." message. - - * article.el (article-narrow-to-signature): Typo. - - * nntp.el (nntp-try-list-active): Would guess wrong on `some'. - - * gnus.el: condition-case -> ignore-errors. - - * nntp.el (nntp-request-close): Protect against errors. - -Fri Nov 8 03:23:02 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.56 is released. - -Fri Nov 8 02:45:21 1996 David S. Goldberg - - * gnus-art.el (gnus-button-url): Respect - `browse-url-new-window-p'. - -Fri Nov 8 02:34:31 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-process-unix-mail-format): Fold searches. - -Thu Nov 7 09:07:32 1996 Steven L Baur - - * nnmail.el (nnmail-search-unix-mail-delim): Take better care in - ignoring bogus From_ lines. - -Fri Nov 8 02:01:06 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-move-inbox): Cleaned up code. - - * gnus-int.el (gnus-request-regenerate): New function. - - * nnml.el (nnml-request-regenerate): New function. - - * gnus-srvr.el (gnus-server-regenerate-server): New command and - keystroke. - -Thu Nov 7 16:12:30 1996 Per Abrahamsen - - * gnus-start.el: Added customize support. - -Fri Nov 8 01:47:16 1996 David S. Goldberg - - * gnus-win.el (gnus-delete-windows-in-gnusey-frames): Would bug - out on nil variables. - -Fri Nov 8 01:45:06 1996 Kurt Swanson - - * gnus-sum.el (gnus-handle-ephemeral-exit): Go to the next - article. - -Thu Nov 7 16:12:30 1996 Per Abrahamsen - - * article.el (gnus-visible-headers): Convert string to list of - strings. - -Fri Nov 8 01:40:38 1996 Kurt Swanson - - * gnus-sum.el (gnus-summary-first-article): New function. - - * gnus-salt.el (gnus-pick-start-reading): Use it. - -Thu Nov 7 09:42:17 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-catchup): Better message. - - * gnus-util.el (gnus-date-get-time): Protect against "" Dates. - - * article.el (article-strip-leading-blank-lines): Would infloop. - - * gnus-msg.el (gnus-debug): Protect against odd load-paths. - -Fri Nov 8 05:30:51 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-get-newsgroup-headers): `ref' should never be - nil. - - * gnus-msg.el (gnus-summary-followup-to-mail, - gnus-summary-followup-to-mail-with-original): New commands. - - * nnmail.el (nnmail-split-it): Use `replace-match'. - -Fri Nov 8 05:30:46 1996 David Moore - - * nnmail.el (nnmail-split-it): New version. - -Fri Nov 8 03:44:10 1996 Lars Magne Ingebrigtsen - - * gnus.el (gnus-article-display-hook): Customized. - - * article.el (gnus-emphasis-alist): Define more combinations. - (gnus-emphasis-underline-bold-italic): New face. - -Fri Nov 8 00:20:29 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.55 is released. - -Thu Nov 7 00:14:45 1996 Lars Magne Ingebrigtsen - - * gnus-win.el (gnus-delete-windows-in-gnusey-frames): New function. - (gnus-configure-windows): Use it. - - * nntp.el (nntp-possibly-change-group): Erased wrong buffer. - - * gnus-score.el (gnus-score-find-bnews): Anchor mathces. - - * gnus-group.el (gnus-group-insert-group-line): Would bug out on - on gnus-moderated-hashtb. - -Wed Nov 6 22:54:41 1996 Sudish Joseph - - * gnus-nocem.el (gnus-sum): Required. - -Wed Nov 6 09:13:34 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-date-to-time): Trap errors. - - * nntp.el (nntp-open-connection): Erase contents of the right - buffer. - - * gnus-sum.el (gnus-summary-first-article-p): New function. - - * gnus-topic.el (gnus-topic-remove-group): Didn't use - process/prefix. - - * gnus-group.el (gnus-group-iterate): New macro. - - * gnus-sum.el (gnus-summary-prev-unread-article): Respect - `gnus-summary-goto-unread' `never'. - -Wed Nov 6 06:55:03 1996 Hrvoje Niksic - - * article.el (gnus-emphasis-alist): New version. - -Wed Nov 6 06:26:34 1996 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-syntax-table): New variable. - (gnus-article-mode): Use it. - - * article.el (article-strip-leading-blank-lines): Didn't do much. - -Wed Nov 6 05:51:56 1996 Kevin Buhr - - * gnus-sum.el (gnus-summary-respool-article): Get the right - servers. - -Wed Nov 6 04:00:48 1996 Lars Magne Ingebrigtsen - - * nnheader.el (nnheader-header-value): Use old definition. - - * message.el: Removed many autoloads. - -Wed Nov 6 03:44:44 1996 ISO-2022-JP - - * gnus-ems.el (gnus-ems-redefine): New Mule definition. - -Wed Nov 6 03:02:25 1996 Lars Magne Ingebrigtsen - - * gnus-xmas.el (gnus-xmas-summary-recenter): Force redisplay. - - * gnus.el (gnus-check-backend-function): Protect against errors. - - * gnus-start.el (gnus-group-change-level): Enter info into dribble - file. - -Wed Nov 6 01:58:46 1996 Hrvoje Niksic - - * article.el (gnus-emphasis-alist): New default. - -Wed Nov 6 01:47:17 1996 Joe Wells - - * gnus-uu.el (gnus-uu-reginize-string): Buggy. - (gnus-uu-uustrip-article): Temp name mixup. - -Wed Nov 6 01:27:54 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-make-group): Use new function. - - * gnus.el (gnus-read-group): New function. - - * dgnushack.el: Less error messages under XEmacs. - -Tue Nov 5 23:59:40 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-search-unix-mail-delim): New implementation. - -Tue Nov 5 23:43:34 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.54 is released. - -Tue Nov 5 22:34:01 1996 Lars Magne Ingebrigtsen - - * message.el (message-goto-signature): Place point better. - - * gnus-art.el (gnus-summary-save-body-in-file): Restored. - - * nntp.el (nntp-send-authinfo): Better password prompting. - - * nnmail.el (nnmail-read-passwd): Allow format strings. - -Tue Nov 5 22:10:20 1996 David Moore - - * gnus-sum.el (gnus-valid-move-group-p): New function. - (gnus-read-move-group-name): Faster implementation. - -Tue Nov 5 12:35:40 1996 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-remove-topic): Would wipe out topic - parameters. - - * gnus-sum.el (gnus-summary-stop-page-breaking): Remove all - buttons. - - * nnweb.el (nnweb-set-hashtb): Typo. - -Tue Nov 5 10:43:24 1996 Randal Schwartz - - * gnus-uu.el (gnus-uu-be-dangerous): New variable. - (gnus-uu-save-files): Use it. - -Tue Nov 5 10:19:39 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-read-document): Doc fix. - (gnus-summary-catchup-and-exit): Don't exit when replying "n". - - * gnus-art.el (gnus-summary-write-to-file): Doc fix. - - * gnus-uu.el (gnus-uu-get-list-of-articles): Get numerical prefix - value. - -Tue Nov 5 10:14:02 1996 David Moore - - * gnus-start.el (gnus-groups-to-gnus-format): Simplified and made - faster. - -Tue Nov 5 04:56:33 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-search-unix-mail-delim): Protect against - regexp overflows. - - * nnheader.el (nnheader-header-value): New definition. - - * nntp.el (nntp-open-connection): Erase buffer. - (nntp-possibly-change-group): Ditto. - - * nnvirtual.el (nnvirtual-create-mapping): Would ignore groups - with just one article. - -Tue Nov 5 03:41:30 1996 David Moore - - * gnus-nocem.el (gnus-nocem-enter-article): Would bug out on some - lines. - -Tue Nov 5 03:36:03 1996 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-score-find-favourite-words): Put point at - bob. - -Tue Nov 5 03:33:04 1996 jeff sparkes - - * gnus-kill.el (gnus-batch-score): Run in slave mode. - -Mon Nov 4 03:16:18 1996 Lars Magne Ingebrigtsen - - * nnheader.el (nnheader-directory-regular-files): New function. - - * nnmail.el (nnmail-get-spool-files): Allow nnmail-spool-file to - be a directory. - - * gnus-sum.el (gnus-summary-next-group): Halt prefetch. - - * gnus-async.el (gnus-async-halt-prefetch): New function. - - * message.el (message-check-news-header-syntax): Anchor - multiple-searches. - - * gnus-topic.el (gnus-topic-mode): Reset sorting function. - -Tue Oct 29 20:42:07 1996 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-remove-topic): Fold properly. - -Tue Oct 29 19:45:25 1996 Lars Magne Ingebrigtsen - - * message.el (message-generate-new-buffer-clone-locals): Bugged - out under XEmacs. - -Tue Oct 29 19:21:47 1996 David Moore - - * gnus.el: Fixed autoloads. - -Tue Oct 29 17:21:42 1996 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-url-mailto): `message-goto-subject' takes no - args. - -Mon Oct 28 15:42:21 1996 Lars Magne Ingebrigtsen - - * gnus.el: Autoload gnus-score-followup-thread. - (gnus-inhibit-startup-message): Doc fix. - -Sat Oct 26 15:48:28 1996 Lars Magne Ingebrigtsen - - * gnus-xmas.el (gnus-xmas-topic-menu-add): Add menu. - - * gnus-topic.el (gnus-topic-kill-group): Enter into dribble. - - * gnus-sum.el (gnus-summary-universal-argument): Bind - `gnus-newsgroup-process-marked' to nil before calling functions. - -Sat Oct 26 15:31:18 1996 David Moore - - * nnmail.el (nnmail-activate): Faster version. - -Fri Oct 25 09:02:08 1996 Lars Magne Ingebrigtsen - - * nnsoup.el (nnsoup-pack-replies): Error empty dirs. - - * gnus-msg.el (gnus-summary-mail-forward): Allow prefix to forward - full headers. - -Thu Oct 24 07:20:30 1996 Lars Magne Ingebrigtsen - - * gnus-nocem.el (gnus-nocem-enter-article): Would enter unbound - symbols into hashtb. - -Thu Oct 24 07:12:23 1996 Michael R. Cook - - * nnmh.el (nnmh-active-number): Misplaced paren. - -Thu Oct 24 07:02:54 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-list-groups): Clear inboxes. - - * gnus-async.el (gnus-make-async-article-function): Use the - success param. - - * nntp.el (nntp-after-change-function-callback): Pass along the - right success param. - -Wed Oct 23 18:33:15 1996 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-summary-increase-score): Spud. - -Wed Oct 23 07:55:42 1996 William Perry - - * gnus-art.el (gnus-url-mailto): New function. - -Wed Oct 23 06:57:10 1996 Lars Magne Ingebrigtsen - - * nnbabyl.el (nnbabyl-create-mbox): New function. - (nnbabyl-open-server): Create mbox. - - * nnmbox.el (nnmbox-create-mbox): New function. - -Tue Oct 22 07:30:12 1996 Lars Magne Ingebrigtsen - - * nnml.el (nnml-request-list): Always return t. - -Tue Oct 22 03:16:27 1996 Felix Lee - - * gnus-score.el (gnus-score-adaptive): Use the right syntax - table. - -Tue Oct 22 03:08:30 1996 Lars Magne Ingebrigtsen - - * message.el (message-generate-headers): Rename Original-Sender as - well. - (message-send-news): Typo. - (message-send-news): Don't message. - -Tue Oct 22 03:06:49 1996 Felix Lee - - * gnus-score.el (gnus-score-adaptive): gnus-score-adaptive will do - line scoring or word scoring, but not both. - -Tue Oct 22 02:48:08 1996 Lars Magne Ingebrigtsen - - * message.el (message-send-news): Use it. - (message-send-mail): Ditto. - -Tue Oct 22 02:40:14 1996 Joev Dubach - - * message.el (message-generate-new-buffer-clone-locals): New - function. - -Tue Oct 22 01:19:47 1996 Lars Magne Ingebrigtsen - - * message.el: Removed `lisp-indent-hook' throughout all files. - - * gnus.el (gnus-sethash): Fix edebug form spec. - - * gnus-cache.el (gnus-cache-file-name): Translate file chars. - -Sun Oct 20 03:41:47 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-read-server-type): Fold case. - -Sat Oct 19 08:03:17 1996 Michael Ernst - - * article.el (article-hide-headers): Do the right thing on - articles with no bodies. - (article-narrow-to-signature): Doc fix. - -Sat Oct 19 07:53:49 1996 Lars Magne Ingebrigtsen - - * nnsoup.el (nnsoup-pack-replies): Refuse to pack when there is - nothing to pack. - (nnsoup-read-areas): Don't bug out on empty packets. - - * gnus-soup.el (gnus-soup-pack-packet): Refuse to pack empty - packets. - -Sat Oct 19 07:43:33 1996 Kees de Bruin - - * gnus-sum.el (gnus-auto-center-summary): Fix. - -Sat Oct 19 07:32:27 1996 Marc Horowitz - - * gnus-topic.el (gnus-topic-remove-topic): Would clobber - duplicates. - -Sat Oct 19 07:01:14 1996 Lars Magne Ingebrigtsen - - * message.el (message-send-mail-hook): New hook. - (message-send-news-hook): Ditto. - - * gnus-art.el (gnus-summary-write-to-file): New function. - -Sat Oct 19 06:56:34 1996 Kees de Bruin - - * gnus-sum.el (gnus-summary-save-article-mail-overwrite): New - command and keystroke. - -Thu Oct 17 06:25:55 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-article-sort-by-date): Use faster - implementation. - - * gnus-util.el (gnus-string-get-time): New macro. - - * message.el (message-check-news-syntax): Check more thorougly the - From header. - (message-check): New macro. - -Thu Oct 17 06:03:56 1996 Carsten Leonhardt - - * gnus-ems.el (gnus-xemacs): Avoid clobbering functions. - -Thu Oct 17 05:34:15 1996 Lars Magne Ingebrigtsen - - * message.el (message-cite-function): Initialize from - mail-citation-hook. - -Thu Oct 17 02:45:47 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.52 is released. - -Wed Oct 16 21:01:41 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-catchup): Return t. - -Wed Oct 16 20:32:53 1996 Kees de Bruin - - * gnus-group.el (gnus-group-mail-low-empty-face): Face fix. - -Wed Oct 16 20:00:15 1996 Lars Magne Ingebrigtsen - - * message.el (message-mode): Doc fix. - - * nnml.el (nnml-request-group): Re-read directory. - -Wed Oct 16 04:01:27 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.51 is released. - -Wed Oct 16 03:49:12 1996 Alexandre Oliva - - * gnus-start.el (gnus-setup-news): Make sure - `gnus-group-line-format' is bound. - -Wed Oct 16 02:57:37 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-after-change-function-callback): Would delete the - first line of all articles. - -Mon Oct 14 21:31:42 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-limit-to-marks): Accept prefix. - -Sun Oct 13 16:37:05 1996 Lars Magne Ingebrigtsen - - * gnus-srvr.el (gnus-browse-foreign-server): Message better. - -Sat Oct 12 19:33:01 1996 Lars Magne Ingebrigtsen - - * message.el (message-indent-citation): Would infloop on empty - articles. - -Sat Oct 12 19:21:05 1996 Raja R. Harinath - - * gnus.el: Autoload more functions. - -Sat Oct 12 19:09:12 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-catchup): Don't move point. - (gnus-summary-limit-exclude-marks): New command. - -Fri Oct 11 15:26:02 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.50 is released. - -Thu Oct 10 23:36:32 1996 Jan Vroonhof - - * gnus-nocem.el (gnus-nocem): Typo. - -Thu Oct 10 23:16:57 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-clear-data-on-native-groups): Only - clear data on native groups. - -Thu Oct 10 14:11:18 1996 Per Abrahamsen - - * gnus-cus.el (gnus-group-customize): Allow unknown entries. - (gnus-score-customize): Ditto. - (gnus-score-string-convert): Ditto. - (gnus-score-parameters): Added `touched'. - -Thu Oct 10 23:06:42 1996 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-read-active-file): Don't bug out on null - methods. - -Thu Oct 10 22:29:05 1996 Randell Jesup - - * article.el (article-hide-boring-headers): Reversed `date' - check. - -Thu Oct 10 15:24:08 1996 Lars Magne Ingebrigtsen - - * gnus-xmas.el (gnus-xmas-define): Removed gnus-display-type. - - * gnus-group.el (gnus-group-new-mail): Strip prefix. - - * nnmail.el (nnmail-new-mail-p): Didn't work. - - * gnus-score.el (gnus-score-adaptive): Use - gnus-adaptive-word-score-alist. - - * nnoo.el (nnoo-define-skeleton-1): Define - request-list-newsgroups. - - * nnweb.el (w3-forms): Removed. - - * gnus-uu.el (gnus-uu-digest-mail-forward): Use directory form. - -Tue Oct 8 14:30:53 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.49 is released. - -Tue Oct 8 00:15:04 1996 Per Abrahamsen - - * gnus-nocem.el: Added customize support. - -Tue Oct 8 11:48:25 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-mail-3-empty-face): Use magenta4. - - * gnus.el (gnus-short-group-name): Would bug out on complex group - names. - (gnus-splash-face): New face. - (gnus-group-startup-message): Use it. - - * nnvirtual.el (nnvirtual-request-group): Respect - `always-rescan'. - - * gnus-load.el: Removed. - - * gnus.el (gnus-check-backend-function): Require before - checking... - - * gnus-sum.el (gnus-summary-respool-article): Use it. - - * gnus-load.el (gnus-mail-method-history): New variable. - - * gnus-sum.el (gnus-summary-normal-unread-face): Use default - face. - -Mon Oct 7 15:00:58 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.48 is released. - -Mon Oct 7 02:24:02 1996 Per Abrahamsen - - * gnus-sum.el: Added customize support. - -Sat Oct 5 01:29:20 1996 Per Abrahamsen - - * gnus-async.el: Added customize support. - * gnus-cache.el: Ditto. - * gnus-cite.el: Ditto. - * gnus-demon.el: Ditto. - * gnus-dup.el: Ditto. - * gnus-eform.el: Ditto. - * gnus-group.el: Ditto. - * gnus-int.el: Ditto. - * gnus-kill.el: Ditto. - * gnus-load.el (gnus-make-face, gnus-face-light-name-list, - gnus-face-dark-name-list): Removed. - -Fri Oct 4 07:17:09 1996 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-setup-news): Slaves should read the slave - files. - - * gnus-art.el (gnus-request-article-this-buffer): Removed - reference to doing-request. - -Thu Oct 3 05:06:53 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.47 is released. - -Thu Oct 3 02:04:37 1996 Lars Magne Ingebrigtsen - - * gnus-int.el (gnus-request-head): Use the cache. - -Wed Oct 2 00:57:22 1996 Lars Magne Ingebrigtsen - - * message.el (message-resend): Message. - - * gnus-group.el (gnus-group-timestamp-string): New function. - - * gnus-util.el (gnus-time-iso8601): New function. - - * gnus-group.el (gnus-group-set-timestamp): New function. - (gnus-group-timestamp): New subst. - - * gnus-start.el (gnus-subscribe-hierarchical-interactive): Accept - RET as default. - -Tue Oct 1 05:13:57 1996 Martin Buchholz - - * gnus-sum.el (gnus-summary-insert-pseudos): Error takes a format - string. - -Tue Oct 1 05:12:29 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.46 is released. - -Tue Oct 1 03:41:17 1996 Lars Magne Ingebrigtsen - - * gnus-picon.el (gnus-picons-glyph-hashtb): Made into hashtb. - -Tue Oct 1 01:50:10 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-new-mail): New function. - (gnus-new-mail-mark): New variable. - - * nnmail.el (nnmail-new-mail-p): New function. - - * gnus-xmas.el (gnus-xmas-splash): New function. - -Tue Oct 1 01:36:17 1996 Raja R. Harinath - - * gnus-score.el (gnus-all-score-files): Didn't handle alist. - - * gnus-gl.el: Dropped `bbb-alist'. Changed cl-hashtable to obarray, - using gnus-{get,set}hash to access it. Dropped a few temp. bindings - Changed (aref (assoc "message-id" ...) ...) to (mail-header-id ...). - -Mon Sep 30 00:02:13 1996 Lars Magne Ingebrigtsen - - * gnus.el: General (and major) indentation, breaking, - if/when/unless/and/or, push revision. - - * gnus-sum.el (gnus-read-header): Set buffer before changing - vars. - -Sun Sep 29 23:20:26 1996 Lars Magne Ingebrigtsen - - * gnus-util.el (gnus-write-buffer): New function. - -Sun Sep 29 23:05:33 1996 Kurt Swanson - - * gnus-sum.el (gnus-handle-ephemeral-exit): New function. - -Sun Sep 29 22:41:01 1996 Lars Magne Ingebrigtsen - - * gnus-cache.el (gnus-cache-possibly-enter-article): Allow making - articles persistent in uncacheable groups. - -Sun Sep 29 01:23:43 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.45 is released. - -Sun Sep 29 00:57:13 1996 Dave Disser - - * gnus-sum.el (gnus-summary-display-article): Don't show tree - unless using threads. - -Sun Sep 29 00:19:35 1996 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-all-score-files): Remove duplicates. - -Sat Sep 28 23:47:43 1996 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-summary-increase-score): Wouldn't do regexp - bodies. - - * gnus-topic.el (gnus-topic-group-indentation): Give the right - indentation always. - -Sat Sep 28 23:23:58 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-quick-select-group): Require - gnus-score. - - * gnus-score.el (gnus-score-thread): New function. - -Sat Sep 28 00:41:54 1996 Per Abrahamsen - - * gnus-cus.el: New file. - -Sat Sep 28 21:32:52 1996 Kevin Buhr - - * nnbabyl.el (nnbabyl-request-article): Would delete wrong - articles. - -Fri Sep 27 21:54:30 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.44 is released. - -Fri Sep 27 21:24:46 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-nov-parse-line): Would double articles. - -Fri Sep 27 20:52:31 1996 Shlomo Mahlab - - * gnus-cache.el (gnus-jog-cache): Call with function name. - - * gnus-group.el (gnus-group-universal-argument): Shadowed `func'. - -Fri Sep 27 19:48:52 1996 Lars Magne Ingebrigtsen - - * gnus-cite.el (gnus-article-fill-cited-article): Nix out data - after filling. - - * gnus-group.el (gnus-group-unsubscribe-current-group): Accept - second param. - (gnus-group-unsubscribe): New function. - (gnus-group-subscribe): New function. - -Fri Sep 27 17:36:31 1996 Kurt Swanson - - * gnus-sum.el (gnus-get-newsgroup-headers-xover): Never add nil - headers. - -Fri Sep 27 17:33:30 1996 Stephen Peters - - * gnus-art.el (gnus-header-face-alist): Typo. - -Fri Sep 27 04:10:21 1996 Lars Magne Ingebrigtsen - - * gnus-msg.el (gnus-summary-mail-crosspost-complaint): Add a tag - to the subject. - (gnus-mail-yank-original): Elided. - (gnus-inews-yank-articles): Would yank articles in reverse order. - -Thu Sep 26 22:39:45 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.43 is released. - -Thu Sep 26 22:13:00 1996 Lars Magne Ingebrigtsen - - * nnweb.el (nnweb-altavista-wash-article): Didn't remove all - markup. - - * gnus-nocem.el (gnus-nocem-check-article): Fix security hole. - -Thu Sep 26 20:23:11 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-make-group): Accept an ARGS param. - - * nnheader.el (nnheader-concat): Accept many file names. - -Thu Sep 26 19:53:09 1996 Kurt Swanson - - * gnus-art.el (gnus-header-content-face): Buggy color names. - -Thu Sep 26 14:57:38 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-save-active): Rewrite. - (nnmail-generate-active): New function. - - * gnus-util.el (gnus-delete-assq): New macro. - (gnus-delete-assoc): Ditto. - -Wed Sep 25 23:44:40 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-get-newsgroup-headers-xover): Just use one - single condition-case. - -Wed Sep 25 21:15:59 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.42 is released. - -Wed Sep 25 19:40:34 1996 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-header-newsgroups-face): Yucky on light - backgrounds. - -Wed Sep 25 19:25:27 1996 Michael R. Cook - - * message.el (message-ignored-news-headers): Strip Resent-Fcc. - -Wed Sep 25 19:12:59 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-jump-to-group): Use - `gnus-group-goto-group'. - - * gnus-xmas.el (gnus-xmas-mode-line-buffer-identification): Don't - chop off half line when no colon. - -Mon Sep 23 22:12:10 1996 Lars Magne Ingebrigtsen - - * gnus-nocem.el (gnus-nocem-verifyer): Change to `mc-verify'. - -Mon Sep 23 21:43:47 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.41 is released. - -Mon Sep 23 21:10:37 1996 Lars Magne Ingebrigtsen - - * article.el (article-hide-headers): Don't ignore - gnus-visible-headers. - -Mon Sep 23 19:10:20 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-goto-subject): Made into command. - -Mon Sep 23 18:26:47 1996 Tonny Madsen - - * nnmail.el (nnmail-default-file-modes): Use integer. - -Tue Sep 24 18:39:41 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-respool-query): Better message. - -Sun Sep 22 15:12:54 1996 Per Abrahamsen - - * gnus-art.el: Customized. - - * gnus.el (gnus-inhibit-startup-message): Changed type to - boolean. - (gnus-play-startup-jingle): Ditto. - -Sun Sep 22 12:58:57 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.40 is released. - -Sun Sep 22 11:48:02 1996 Lars Magne Ingebrigtsen - - * custom.el (defcustom): Eval and compile. - * widget.el (define-widget-keywords): Ditto. - -Sat Sep 21 09:29:54 1996 Lars Magne Ingebrigtsen - - * article.el (article-strip-multiple-blank-lines): Would strip all - blank lines. - -Fri Sep 20 06:52:07 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.39 is released. - -Thu Sep 19 18:57:59 1996 Lars Magne Ingebrigtsen - - * message.el (message-ignored-cited-headers): Doc fix. - -Thu Sep 19 03:05:01 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.38 is released. - -Thu Sep 19 03:05:01 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.37 is released. - -Wed Sep 18 10:36:08 1996 Lars Magne Ingebrigtsen - - * gnus-async.el (gnus-async-prefetch-article-p): New variable. - (gnus-async-prefetch-article): Use it. - (gnus-async-unread-p): New function. - -Tue Sep 17 14:41:56 1996 Per Abrahamsen - - * gnus-cite.el (gnus-custom-import-cite-face-list): Removed. - -Wed Sep 18 04:28:16 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-split-history): mapcar instead of mapconcat. - -Tue Sep 17 14:41:56 1996 Per Abrahamsen - - * gnus.el: Customized. - - * dgnushack.el (custom-file): Removed. - -Wed Sep 18 03:04:17 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-check-duplication): Do splitting after - duplicate suppression. - - * gnus-salt.el (gnus-pick-mode): Don't go to unread article. - - * gnus-dup.el (gnus-dup-enter-articles): Don't enter Message-IDs - ento lists multiple times. - -Tue Sep 17 03:44:08 1996 Lars Magne Ingebrigtsen - - * gnus-uu.el (gnus-uu-grab-articles): Don't prefetch. Ask before - deleting. - - * gnus.el: Red Gnus v0.37 is released. - -Tue Sep 17 03:15:26 1996 Lars Magne Ingebrigtsen - - * custom.el: 0.9 included. - - * gnus-art.el (browse-url): Required. - - * gnus.el: Red Gnus v0.36 is released. - -Tue Sep 17 02:37:26 1996 Lars Magne Ingebrigtsen - - * gnus-edit.el: Removed. - - * custom.el: Removed. - - * gnus-cus.el: Removed. - -Mon Sep 16 05:59:45 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.35 is released. - -Sun Sep 15 00:47:08 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-default-file-modes): New default. - -Sat Sep 14 01:48:58 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-make-doc-group): Typo. - (gnus-useful-groups): New format. - - * gnus-cache.el (gnus-jog-cache): Doc fix. - -Fri Sep 13 02:28:47 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-get-new-news): Read slave files here. - -Fri Sep 13 01:04:50 1996 Per Abrahamsen - - * article.el (article-decode-rfc1522): New version. - -Fri Sep 13 00:00:25 1996 Lars Magne Ingebrigtsen - - * gnus-msg.el (gnus-crosspost-complaint): Added a newline. - (gnus-summary-mail-crosspost-complaint): Insert message at the - head of the message. - -Thu Sep 12 01:56:07 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.34 is released. - -Thu Sep 12 01:16:38 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.33 is released. - -Wed Sep 11 00:22:01 1996 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-adaptive-word-syntax-table): Modified - standard syntax table. - - * nntp.el (nntp-read-server-type): Worked in the wrong buffer. - - * gnus-demon.el (gnus-demon-cancel): Put - nnheader-cancel-function-timers back in again. - - * gnus.el: Red Gnus v0.32 is released. - -Tue Sep 10 19:10:09 1996 Lars Magne Ingebrigtsen - - * gnus-kill.el (gnus-batch-score): Didn't work at all. - - * gnus-msg.el (gnus-summary-mail-nastygram): Place point at - appropriate place. - - * gnus-util.el (gnus-make-sort-function): Would nix out the - sorting list. - - * gnus-demon.el (gnus-demon-cancel): Don't run - `cancel-function-timers'. - - * message.el (message-header-format-alist): Don't fill References - headers. - -Mon Sep 9 21:51:46 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-server-action-alist): Don't try LIST ACTIVE GROUP - on Netscape's brain-dead nntp server. - - * message.el (message-dont-send): Take proper actions. - -Mon Sep 9 21:46:44 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.31 is released. - -Mon Sep 9 21:16:11 1996 Lars Magne Ingebrigtsen - - * gnus-msg.el (gnus-copy-article-buffer): Decode headers after - copying. - - * gnus-picon.el (gnus-picons-refresh-before-display): New - variable. - (gnus-picons-insert-face-if-exists): Put bar back in. - -Mon Sep 9 20:31:56 1996 Lars Magne Ingebrigtsen - - * gnus-uu.el (gnus-uu-digest-mail-forward): Use the newsgroup name. - -Mon Sep 9 20:04:35 1996 Kurt Swanson - - * gnus-salt.el (gnus-pick-mouse-pick-region): New function. - -Mon Sep 9 18:37:07 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-enter-digest-group): Bugged. - - * gnus-score.el (gnus-adaptive-word-syntax-table): Make ' a - word-constituant character. - -Sun Sep 8 14:46:01 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-make-useful-group): New command and - keystroke. - (gnus-useful-groups): New variable. - -Sun Sep 8 14:46:01 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.30 is released. - -Sun Sep 8 13:26:36 1996 Lars Magne Ingebrigtsen - - * nndoc.el (nndoc-article-begin-function): Defvarred. - - * gnus-srvr.el (gnus-browse-unsubscribe-group): Would sometimes be - somewhat tricky. - - * gnus.el (gnus-kill-ephemeral-group): New function. - - * gnus-art.el (gnus-button-alist): Recognize group-news urls. - - * nndoc.el (nndoc-dissect-buffer): Wouldn't dissect an mbox - properly. - (nndoc-article-begin): New function. - (nndoc-mbox-body-end): Use it. - (nndoc-mbox-article-begin): Would bug out. - -Sun Sep 8 13:10:28 1996 Lars Magne Ingebrigtsen - - * gnus.el (gnus-other-frame): Always pop up a frame. - -Sun Sep 8 12:57:03 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.29 is released. - -Sun Sep 8 12:24:11 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-accept-process-output): Don't message so - obsessively. - - * gnus.el: Fixed indentation and stuff. - -Sun Sep 8 12:23:56 1996 Sudish Joseph - - * nnweb.el (nnweb-fetch-form): Return t. - -Sat Sep 7 15:15:42 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.28 is released. - -Sat Sep 7 14:33:17 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-after-change-function-callback): Renamed. - - * nnweb.el (nnweb-reference-search): Nix out file name. - -Sat Sep 7 14:07:13 1996 Lars Magne Ingebrigtsen - - * nnweb.el (nnweb-altavista-search): Nix out buffer file name. - - * gnus-async.el (gnus-asynch-with-semaphore): New macro. - (gnus-make-async-article-function): Nix out prefetch list when the - summary buffer dies. - - * nnweb.el (nnweb-altavista-create-mapping): Would search forever - when not getting any matches. - -Sat Sep 7 12:43:24 1996 Lars Magne Ingebrigtsen - - * gnus-msg.el (gnus-inews-yank-articles): Goto body before - yanking. - - * nnheader.el (nnheader-insert-file-contents-literally): New - definition. - (nnheader-insert-head): Use new definition. - -Sat Sep 7 12:35:37 1996 Kurt Swanson - - * gnus-salt.el (gnus-pick-elegant-flow): New variable. - -Sat Sep 7 12:03:00 1996 Lars Magne Ingebrigtsen - - * nnheader.el (nnheader-insert-head): Don't use - `insert-file-contents-literally'. - (nnheader-head-chop-length): New variable. - - * gnus-sum.el (gnus-summary-read-document): Prepend "nnvirtual:" - to group name. - -Sat Sep 7 11:12:26 1996 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-score-save): Don't check result from - gnus-make-directory. - - * gnus-util.el (gnus-make-directory): Return t. - -Fri Sep 6 17:55:48 1996 Lars Magne Ingebrigtsen - - * gnus-range.el (gnus-copy-sequence): Didn't work for all - sequences. - -Fri Sep 6 14:38:54 1996 Wes Hardaker - - * gnus-picons.el (gnus-picons-display-as-address): New variable. - (gnus-picons-map): New keymap for picons. - (gnus-picons-toggle-extent): New function. - (gnus-article-display-picons): use them. - (gnus-picons-insert-face-if-exists): ditto. - (gnus-picons-try-to-find-face): ditto. - (gnus-group-display-picons): let display catch up. - (gnus-article-display-picons): ditto. - -Fri Sep 6 08:11:02 1996 Lars Magne Ingebrigtsen - - * nnkiboze.el (nnkiboze-close-group): Rewrite. - (nnkiboze-request-list, nnkiboze-request-newgroups, - nnkiboze-request-list-newsgroups): Removed. - (nnkiboze-request-scan): New function. - (nnkiboze-directory): New default. - - * gnus-sum.el (gnus-article-read-p): New function. - - * nnkiboze.el (nnkiboze-retrieve-headers): Rewrite. - (nnkiboze-open-server): Removed. - (nnkiboze-server-opened): Ditto. - - * nnheader.el (nnheader-find-nov-line): Renamed. - (nnheader-nov-delete-outside-range): New function. - - * gnus-uu.el (gnus-uu-invert-processable): New command and - keystroke. - - * gnus-load.el (gnus-predefined-server-alist): New variable. - - * gnus.el (gnus-server-to-method): Use it. - (gnus-read-method): Ditto. - - * gnus-sum.el (t): "M V" commands weren't defined. - - * gnus-cache.el (gnus-summary-insert-cached-articles): New command - and keystroke. - - * gnus-score.el (gnus-sort-score-files): New function. - (gnus-score-file-rank): New function. - (gnus-score-find-bnews): Use it. - - * gnus-topic.el (gnus-topic-mode-map): New sort submap. - (gnus-topic-sort-groups, gnus-topic-sort-groups-by-alphabet, - gnus-topic-sort-groups-by-unread, gnus-topic-sort-groups-by-level, - gnus-topic-sort-groups-by-score, gnus-topic-sort-groups-by-rank, - gnus-topic-sort-groups-by-method): New commands and keystrokes. - - * gnus-group.el (gnus-group-sort-selected): New command. - (gnus-group-sort-selected-flat): New function. - (gnus-group-sort-selected-groups-by-alphabet, - gnus-group-sort-selected-groups-by-unread, - gnus-group-sort-selected-groups-by-level, - gnus-group-sort-selected-groups-by-score, - gnus-group-sort-selected-groups-by-rank, - gnus-group-sort-selected-groups-by-method): New commands and - keystrokes. - (gnus-group-make-menu-bar): Updated. - - * gnus-util.el (gnus-make-sort-function): Create a complete - function. - (gnus-make-sort-function-1): Renamed. - - * gnus-topic.el (gnus-group-sort-topic): New function. - - * gnus-group.el (gnus-group-sort-flat): Made into own function. - (gnus-group-sort-alist-function): New variable. - - * nnmail.el (nnmail-split-history): New variable. - (nnmail-split-history): New command. - - * gnus-score.el (gnus-score-adaptive): Don't do any work on - pseudos. - - * gnus-msg.el (gnus-post-method): Allow easier posting from mail - groups. - -Thu Sep 5 19:56:41 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.27 is released. - -Thu Sep 5 19:50:19 1996 Lars Magne Ingebrigtsen - - * gnus-xmas.el (gnus-xmas-modeline-glyph): Set string properly. - -Thu Sep 5 18:39:47 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-edit-article-done): Make params - optional. - - * nntp.el (nntp-list-active-group): Don't change group first. - - * gnus-util.el (gnus-make-directory): New function. - - * gnus-msg.el (gnus-post-method): Do the right thing in - `to-group' groups. - -Fri Sep 6 08:05:53 1996 ISO-2022-JP - - * nnheader.el (nnheader-insert-head): Use - nnheader-insert-file-contents-literally. - -Thu Sep 5 08:29:08 1996 Lars Magne Ingebrigtsen - - * gnus-win.el (gnus-always-force-window-configuration): New - variable. - (gnus-configure-windows): Use it. - - * gnus-sum.el (gnus-summary-save-article): Give better prompts. - - * gnus-load.el (gnus-valid-select-methods): Update. - - * gnus-score.el (gnus-score-find-favourite-words): Didn't find any - words. - - * gnus-sum.el (gnus-scores-exclude-files): Defined. - - * gnus-async.el (gnus-async-prefetch-next): Don't do so much on - un-asynch groups. - -Thu Sep 5 08:26:11 1996 jeff sparkes - - * gnus-win.el (gnus-buffer-configuration): Bad cut'n'paste. - -Thu Sep 5 07:41:08 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-list-groups): Update format specs. - -Thu Sep 5 07:11:18 1996 Jan Vroonhof - - * gnus-sum.el (gnus-summary-read-document): Generated wrong nndoc - group names. - -Thu Sep 5 06:53:07 1996 Lars Magne Ingebrigtsen - - * nnvirtual.el (nnvirtual-close-group): Don't update ephemeral - groups. - - * gnus.el (gnus-group-auto-expirable-p): Allow nil expiry params. - -Wed Sep 4 06:46:03 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.26 is released. - -Wed Sep 4 06:42:34 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-move-inbox): Reverse logic. - -Wed Sep 4 06:35:05 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.25 is released. - -Wed Sep 4 05:19:58 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-move-inbox): Refuse to move if - nnmail-crash-box can't be written. - - * gnus-art.el (gnus-button-url-regexp): Include : and ; in - regexp. - - * gnus-score.el (gnus-adaptive-word-score-alist): New variable. - - * nnmail.el (nnmail-move-inbox): Set file modes on wrong file. - -Tue Sep 3 06:44:36 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.24 is released. - -Tue Sep 3 05:30:02 1996 Lars Magne Ingebrigtsen - - * gnus-async.el (gnus-async-prefetch-article): Reset async list - when the summary buffer is killed. - - * gnus-xmas.el (gnus-xmas-modeline-glyph): Don't use glyph under - tty. - - * gnus-msg.el (gnus-copy-article-buffer): Deleted text in article - buffer. - -Tue Sep 3 05:10:19 1996 Kurt Swanson - - * gnus-sum.el (gnus-group-no-more-groups-hook): New variable. - -Tue Sep 3 04:44:31 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-exit): Would bug out when using a - single article buffer. - -Mon Sep 2 05:50:07 1996 Lars Magne Ingebrigtsen - - * gnus-audio.el (gnus-audio-play): Give the sound-file argument as - ARG in addition to stdin. - -Mon Sep 2 05:28:26 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.23 is released. - -Mon Sep 2 05:16:46 1996 Lars Magne Ingebrigtsen - - * gnus-audio.el: Renamed from "gnus-sound". - -Mon Sep 2 05:06:17 1996 Lars Magne Ingebrigtsen - - * gnus-ems.el (gnus-xemacs): New variable. - -Mon Sep 2 03:18:18 1996 Lars Magne Ingebrigtsen - - * gnus-async.el (gnus-async-prefetch-next): Don't start fetching - the next article until we have been idle a while. - - * gnus-group.el (gnus-group-make-help-group): Use the new find-etc - function. - - * nnheader.el (nnheader-find-etc-directory): Accept a FILE - parameter. - - * gnus-msg.el (gnus-debug): Use `locate-library' instead of doing - things the hard way. - - * gnus-sum.el (gnus-set-global-variables): Copy - -Mon Sep 2 03:01:27 1996 Lars Magne Ingebrigtsen - - * gnus.el (gnus-splash): Play jingle. - - * gnus-sound.el (gnus-startup-jingle): New variable. - (gnus-play-jingle): New command. - - * gnus.el (gnus-play-startup-jingle): New variable. - -Sun Sep 1 06:38:45 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.22 is released. - -Sun Sep 1 05:45:59 1996 Lars Magne Ingebrigtsen - - * gnus.el: Removed unreferenced let bindings from all files. - -Sun Sep 1 02:10:28 1996 Lars Magne Ingebrigtsen - - * gnus.el ((load)): Only do the initial splash on "gnus" - commands. - - * gnus-cus.el (gnus-face-dark-name-list): Don't use "dark blue". - - * nntp.el (nntp-retrieve-headers): Would infloop sometimes. - - * gnus-group.el (gnus-group-insert-group-line-info): Indent - properly. - - * gnus-sum.el (gnus-gather-threads-by-references): Avoid - infloops. - - * gnus-salt.el (gnus-mouse-pick): Changed name. - - * nntp.el (nntp-retrieve-groups): Didn't do the right thing on - servers that don't support LIST ACTIVE. - - * gnus-win.el (gnus-current-window-configuration): New variable. - (gnus-configure-windows): Use it. - - * gnus-art.el (gnus-article-read-summary-keys): Let `C-d' work - properly. - - * gnus-sum.el (gnus-list-of-unread-articles): Active group. - -Sat Aug 31 05:05:14 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.21 is released. - -Sat Aug 31 02:54:39 1996 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-goto-next-group): Go to the proper - group when listing. - - * gnus-start.el (gnus-get-killed-groups): Mark .newsrc as needing - saving. - - * nnmail.el (nnmail-remove-tabs): New function. - -Fri Aug 30 06:26:37 1996 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-set-default-directory): Set to directory - file name. - - * nnmail.el (nnmail-remove-list-identifiers): New function. - (nnmail-list-identifiers): New variable. - (nnmail-prepare-incoming-message-hook): New variable. - (nnmail-move-inbox): Allow nnmail-movemail-program to be a - function. - - * article.el (article-mime-decode-quoted-printable-buffer): New - function. - - * nnmail.el (nnmail-prepare-incoming-header-hook): New variable. - (nnmail-clean-whitespace-from-headers): New function. - - * nntp.el (nntp-connection-alist): New variable. - (nntp-open-connection): Use it. - (nntp-request-close): New function. - - * gnus-demon.el (timer): Required. - - * message.el (message-reply): Bugged out on wide replies. - -Fri Aug 30 03:51:39 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.20 is released. - -Fri Aug 30 01:36:10 1996 Lars Magne Ingebrigtsen - - * gnus-msg.el (gnus-inews-insert-archive-gcc): Use - `gnus-group-find-parameter'. - - * nndoc.el (nndoc-mbox-article-begin): New function. - - * gnus-sum.el (gnus-summary-search-article): Would expose the - first hidden thread. - - * gnus-msg.el (gnus-copy-article-buffer): Delete annotations - before following up. - - * gnus-cite.el (gnus-article-hide-citation): Mark buttons as - annotations. - - * article.el (article-delete-text-of-type): New function. - - * nndoc.el (nndoc-type-alist): Be slightly more permissive. - - * gnus-sum.el (gnus-summary-enter-digest-group): Would nix out - quit-conf. - (gnus-summary-read-document): Ditto. - - * nndoc.el (nndoc-dissect-buffer): Escape errors in overflows. - - * message.el (message-send-news): Give a message after not - posting. - (message-reply): Remove leading spaces from Cc. - -Fri Aug 30 01:32:27 1996 Jack Vinson - - * nnmail.el (nnmail-get-split-group): New version. - -Fri Aug 30 00:47:17 1996 Jens Lautenbacher - - * gnus.texi (Group Parameters): Updated documentation - - * gnus-msg.el (gnus-inews-insert-archive-gcc): Updated to use the - topic's value of gcc-self if no group value present. - -Fri Aug 30 00:19:43 1996 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-set-default-directory): Expand default - directory. - - * gnus-group.el (gnus-group-make-web-group): Changed keystroke. - - * gnus-sum.el (gnus-summary-verbose-headers): Show article after - toggling. - -Thu Aug 29 23:50:54 1996 Lars Magne Ingebrigtsen - - * gnus-demon.el (gnus-demon-add-rescan): New function. - (gnus-demon-scan-news): New function. - -Thu Aug 29 05:34:40 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.19 is released. - -Thu Aug 29 02:04:35 1996 Lars Magne Ingebrigtsen - - * nndoc.el (nndoc-babyl-body-begin): Would skip empty messages. - - * nntp.el (nntp-retrieve-groups): Would infloop on some servers. - - * gnus-sum.el (gnus-nov-parse-line): Don't let messages refer back - to themselves. - - * gnus-util.el (gnus-parent-id): Don't bug out on nil references. - - * gnus-cite.el (gnus-article-hide-citation): Hide/unhide better. - - * article.el (article-hide-text-of-type): New function. - (article-hidden-text-type-p): New function. - - * gnus-cite.el (gnus-article-hide-citation): Marked the hidden - text with wrong type. - (gnus-article-hide-citation-maybe): Ditto. - (gnus-article-hide-citation): Toggle. - - * gnus-dup.el (gnus-dup-enter-articles): Would bug out on - pseudo-articles. - - * nntp.el (nntp-server-opened-hook): Send mode reader as a - default. - (nntp-retrieve-data): Format error. - -Thu Aug 29 01:52:19 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-display-article): Check whether - `gnus-current-article' is nil. - -Wed Aug 28 08:44:22 1996 Lars Magne Ingebrigtsen - - * gnus-async.el (gnus-async-prefetch-article): Would clobber - fetches in progress. - - * gnus-sum.el (gnus-summary-prepare): Made into command. - - * gnus-srvr.el (gnus-server-scan-server): New command and - keystroke. - - * gnus-group.el (gnus-group-read-group): Accept a 0 prefix to not - generate buffer. - -Sun Jul 21 14:56:28 1996 Steven L Baur - - * earcon.el (earcon-regexp-alist): Plonk! - -Wed Aug 28 04:14:36 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.18 is released. - -Wed Aug 28 02:09:20 1996 Lars Magne Ingebrigtsen - - * nnweb.el (nnweb-dejanews-create-mapping): Would just fetch the - first 100 hits. - (nnweb-close-group): Set file name to nil before killing. - (nnweb-altavista-create-mapping): Fetch the required number of - articles. - - * gnus-group.el (gnus-group-read-ephemeral-group): Don't call the - activation several times. - - * gnus-sum.el (gnus-summary-enter-digest-group): Copy the parent's - params to the nndoc group. - (gnus-summary-read-document): Ditto. - - * message.el (message-followup): Would produce buggy messages when - replying to messages without Message-IDs. - -Sat Aug 10 23:41:07 1996 Per Abrahamsen - - * gnus.el (gnus-decode-rfc1522): Start decoding from beginning of - headers instead of end. - -Wed Aug 28 01:35:26 1996 Lars Magne Ingebrigtsen - - * gnus-demon.el (gnus-demon-cancel): Cancel function timers. - - * nnheaderxm.el (nnheader-xmas-cancel-function-timers): New - function. - - * nnheader.el (nnheader-cancel-function-timers): New alias. - - * gnus-topic.el (gnus-topic-mode): Update groups. - (gnus-topic-remove-group): Update topic. - - * gnus-group.el (gnus-group-update-group-function): New variable. - (gnus-group-update-group): Use it. - - * gnus-topic.el (gnus-topic-update-topics-containing-group): New - function. - -Tue Aug 27 14:35:01 1996 Ken Raeburn - - * nnmail.el (nnmail-move-inbox): Don't try setting modes on - "po:$USER". - -Tue Aug 27 21:45:14 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-number-of-articles-in-thread): Would - bug out on unthreadeds. - -Tue Aug 27 21:38:13 1996 Kurt Swanson - - * gnus-salt.el (gnus-pick-mode-map): Typo. - -Tue Aug 27 21:35:58 1996 Lars Magne Ingebrigtsen - - * gnus-load.el: Removed gnus-vis thingies. - -Tue Aug 27 00:54:05 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.17 is released. - -Tue Aug 27 00:46:48 1996 Lars Magne Ingebrigtsen - - * nnweb.el (nnweb-dejanews-create-mapping): Dummy function. - -Tue Aug 27 00:43:33 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.16 is released. - -Tue Aug 27 00:36:58 1996 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-set-parameters): Bugout. - -Mon Aug 26 22:41:04 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-retrieve-groups): Didn't inhibit erasing. - - * nnweb.el (nnweb-callback): Ignore if the callback buffer is - dead. - - * gnus-async.el (gnus-async-prefetch-article): Don't do anything - if Gnus is dead. - -Mon Aug 26 00:57:06 1996 Lars Magne Ingebrigtsen - - * nnweb.el (nnweb-dejanews-create-mapping): Fold search. - (nnweb-reference-create-mapping): Ditto. - (nnweb-altavista-create-mapping): Ditto. - - * gnus-async.el (gnus-asynchronous): New variable. - (gnus-async-prefetch-article): Use it. - (gnus-async-prefetch-headers): Ditto. - - * nnweb.el (nnweb-close-group): New function. - - * gnus-topic.el (gnus-topic-clean-alist): Would remove foreign - groups from topics. - -Mon Aug 26 00:10:40 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.15 is released. - -Sun Aug 25 23:09:18 1996 Lars Magne Ingebrigtsen - - * message.el (message-send-mail-with-qmail): Use - `message-qmail-program', which doesn't exist. - - * nndoc.el (nndoc-type-alist): Slack digests are guessable. - -Sun Aug 25 21:27:17 1996 Lars Magne Ingebrigtsen - - * gnus-salt.el (gnus-pick-mode): Nixed out the format. - (gnus-summary-pick-line-format): Buggy def. - - * gnus-sum.el (gnus-summary-read-document): Provide a quit-conf. - (gnus-summary-read-document): Do better names. - - * nnvirtual.el (nnvirtual-close-group): Don't do the unread - setting on ephemeral groups. - - * nntp.el (nntp-retrieve-groups): Would infloop. - -Sun Aug 25 02:52:11 1996 Sudish Joseph - - * message.el (message-qmail-inject-program): New variable. - (message-qmail-inject-args): New variable. - (message-send-mail-with-qmail): New function, suitable for use - as message-send-mail-function. - -Sun Aug 25 20:41:45 1996 Lars Magne Ingebrigtsen - - * nnweb.el (nnweb-fetch-form): Clear buffer file name. - - * nntp.el (nntp-request-article): Would try to copy to the same - buffer. - - * gnus-group.el (gnus-group-read-ephemeral-group): Better error - message. - - * nnweb.el (nnweb-request-group): Better error report. - - * gnus-score.el (gnus-score-load-file): Gave `nil' as a day param. - -Sun Aug 25 03:32:51 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.14 is released. - -Sun Aug 25 00:16:44 1996 Lars Magne Ingebrigtsen - - * gnus-util.el (gnus-prin1): New function. - (gnus-prin1-to-string): New function. - - * gnus-sum.el (gnus-summary-refer-parent-article): Bugout. - - * nndb.el (nndb-request-accept-article): Use new nntp functions. - - * pop3.el: Make MD5 defined when compiling. - - * article.el (article-strip-blank-lines): Called Gnus functions. - - * nnweb.el (nnweb-init): Create a better buffer name. - (nnweb-altavista-search): Wasn't defined. - (nnweb-reference-search): Use advanced search. - - * nnfolder.el (nnfolder-request-accept-article): Wrong params to - `save-mail'. - * nnbabyl.el (nnbabyl-request-accept-article): Ditto. - * nnmbox.el (nnmbox-request-accept-article): Ditto. - * nnmh.el (nnmh-request-accept-article): Ditto. - * nnml.el (nnml-request-accept-article): Ditto. - -Sat Aug 24 23:53:32 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-get-new-mail): Tried calling nonexisting - functions. - -Sat Aug 24 23:30:07 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-enter-directory): Temporarily bound - `nneething-read-only'. - -Fri Aug 23 23:22:16 1996 Katsumi Yamaoka - - * gnus-ems.el (gnus-ems-redefine): Set - `gnus-summary-display-table' to nil. - -Fri Aug 23 22:55:09 1996 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-summary-save-in-file): Didn't check before - creating dir. - (gnus-summary-save-in-rmail): Ditto. - (gnus-summary-save-body-in-file): Ditto. - - * message.el (message-check-news-syntax): Faulty Newsgroups - regexp. - -Thu Aug 22 20:47:48 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-split-hook): New variable. - - * nnmh.el (nnmh-update-gnus-unreads): cl-nged. - (nnmh-active-number): Find the largest article number. - -Thu Aug 22 20:39:10 1996 Sam Falkner - - * nnmh.el (nnmh-update-gnus-unreads): Check all articles. - -Thu Aug 22 16:49:35 1996 Lars Magne Ingebrigtsen - - * gnus-kill.el (gnus-execute): Ignored read articles. - - * gnus-sum.el (gnus-summary-execute-command): Give a form, not a - function. - - * gnus-kill.el (gnus-execute-1): Evaled functions instead of - calling them. - - * nnmail.el (nnmail-move-inbox): Allow continuation after error. - - * gnus-score.el (gnus-adaptive-word-syntax-table): New variable. - (gnus-score-adaptive): Use it. - - * nnbabyl.el (nnbabyl-request-scan): Change group. - - * nnmbox.el (nnmbox-request-scan): Change group. - - * gnus-score.el (gnus-ignored-adaptive-words): Renamed. - (gnus-ignored-adaptive-words): New variable. - (gnus-score-adaptive): Use it. - (gnus-score-adaptive): Bugged out on undefined symbols. - (gnus-summary-score-entry): Accept numerical DATE. - (gnus-score-adaptive): Pos in wrong buf. - (gnus-score-string): Didn't accept word matches. - (gnus-enter-score-words-into-hashtb): Wrong sequence. - (gnus-score-string): Word matches inflooped. - -Wed Aug 21 15:06:47 1996 - - * smiley.el (smiley-buffer): Added some additional extent parameters. - (smiley-toggle-extent): rewrote to use above. - -Mon Aug 19 20:19:59 1996 Lars Magne Ingebrigtsen - - * gnus-spec.el (gnus-tilde-cut-form): Cut off wrong part. - -Mon Aug 19 20:09:44 1996 Samuel Tardieu - - * gnus-cache.el (gnus-cache-write-active): Would try to create - existing directory. - -Mon Aug 19 00:12:11 1996 Lars Magne Ingebrigtsen - - * article.el (article-strip-multiple-blank-lines): New command and - keystroke. - (article-strip-blank-lines): New command and keystroke. - - * nnmail.el (nnmail-move-inbox): Set file permissions on the - Incoming files. - - * gnus-group.el (gnus-group-fetch-faq): Go through the FAQ dirs - until we manage to open one. - - * nntp.el (nntp-send-authinfo-function): New variable. - (nntp-wait-for): Handle authinfo requests better. - - * gnus-sum.el (gnus-summary-article-posted-p): New command and - keystroke. - - * gnus-topic.el (gnus-topic-display-empty-topics): New variable. - - * gnus-msg.el (gnus-setup-message): Make `gnus-newsgroup-name' - local to the message buffers. - - * gnus-int.el (gnus-remove-denial): New function. - - * gnus-sum.el (gnus-summary-refer-parent-article): Allow negative - prefixes. - (gnus-summary-refer-parent-article): Allow skipping past canceled - articles. - - * gnus-util.el (gnus-parent-id): Take an optional N ancestor - param. - - * gnus-async.el (gnus-async-prefetch-article): Don't clobber async - fetches already in progress. - - * nnmail.el (nnmail-check-duplication): Allow /dev/null mail - filing. - - * gnus-sum.el (gnus-summary-catchup): Didn't do suppression. - (gnus-summary-limit-children): Never hide ticked articles. - (gnus-highlight-selected-summary): Selected face spans the entire - %(-%) area. - -Sun Aug 18 22:05:00 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-restart): Better prompt. - - * gnus-async.el (gnus-async-prefetch-article): Don't try to fetch - old-fetched articles. - -Sun Aug 18 22:02:17 1996 Raja R. Harinath - - * gnus-gl.el (gnus-grouplens-mode): Make hooks local. - -Sun Aug 18 16:53:19 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-get-new-news): Don't move point. - - * nnweb.el (nndejagnus): Renamed from nndejagnus. - (nnweb-remove-markup): New function. - -Sun Aug 18 14:53:55 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.13 is released. - -Tue Aug 20 17:30:00 1996 - - * smiley.el (smiley-map): New keymap for smileys. - (smiley-toggle-extent): New function to toggle smiley invisibility. - (smiley-buffer): Use them. - -Sun Aug 18 12:46:12 1996 Lars Magne Ingebrigtsen - - * nnoo.el (nnoo-define-skeleton-1): Defined too many functions. - -Sat Aug 17 18:43:22 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-make-dejanews-group): New command and - keystroke. - - * gnus-start.el (gnus-site-init-file): New variable. - (gnus-read-init-file): Use it. - - * nndejanews.el: New file. - - * nnheader.el (make-full-mail-header): New function. - - * nngateway.el (nngateway-open-server): Used nntp vars. - -Sat Aug 17 15:35:28 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.12 is released. - -Sat Aug 17 12:58:28 1996 Lars Magne Ingebrigtsen - - * gnus-win.el (gnus-window-configuration-element): New function. - (gnus-windows-old-to-new): Use it. - (gnus-windows-old-to-new): Produced bogus results. - - * message.el (message-cancel-message): New variable. - - * gnus-srvr.el (gnus-server-mode-map): Buggy keymap. - - * gnus-group.el (gnus-group-get-new-news-this-group): Illegal - gnus-error value. - -Fri Aug 16 21:22:12 1996 Lars Magne Ingebrigtsen - - * nnmail.el (nnmail-replace-status, nnmail-decode-status, - nnmail-encode-status): New variables. - - * nnml.el (nnml-article-to-file): New function. - -Fri Aug 16 20:26:12 1996 Kurt Swanson - - * nnfolder.el (nnfolder-generate-active-file): Test the right - files. - -Fri Aug 16 19:30:57 1996 Lars Magne Ingebrigtsen - - * gnus-salt.el (gnus-possibly-generate-tree): Would bug out on - unthreaded buffers. - - * gnus-xmas.el (gnus-xmas-modeline-right-extent): Disabled. - (gnus-xmas-modeline-left-extent): Ditto. - - * gnus-group.el (gnus-group-make-menu-bar): Bugged out on - undefined variable. - - * gnus.el (gnus-read-method): Return the virtual server name if - possible. - -Thu Aug 15 18:15:58 1996 Lars Magne Ingebrigtsen - - * nngateway.el: New file. - - * nnoo.el (nnoo-define-skeleton): New macro. - (nnoo-define-skeleton-1): New function. - - * gnus-start.el (gnus-strip-killed-list): New function. - (gnus-gnus-to-quick-newsrc-format): Use it. - - * gnus-sum.el (gnus-summary-process-mark-set): New function. - (gnus-summary-yank-process-mark, gnus-summary-kill-process-mark, - gnus-summary-save-process-mark): New commands and keystrokes. - - * nnml.el (nnml-generate-nov-file): Set modes. - - * nnmail.el (nnmail-default-file-modes): New variable. - (nnmail-write-region): New function. - - * gnus-score.el (gnus-score-score-files-1): Bind case-fold-search - to nil. - -Wed Aug 14 21:20:07 1996 Lars Magne Ingebrigtsen - - * gnus-soup.el (gnus-soup-send-packet): Disable syntax checks. - -Wed Aug 14 20:28:09 1996 Fred Johansen - - * gnus-logic.el (gnus-advanced-score-rule): `and' rules were - treated improperly. - -Wed Aug 14 15:29:39 1996 Lars Magne Ingebrigtsen - - * gnus-salt.el (gnus-mouse-pick-article): New command. - - * gnus-art.el (gnus-button-url): Call with one argument. - - * gnus-start.el (gnus-set-default-directory): New function. - - * gnus-load.el (gnus-default-directory): New variable. - -Wed Aug 14 15:03:01 1996 Sudish Joseph - - * gnus-score.el (gnus-home-score-file): Changed syntax. - -Tue Aug 13 22:07:11 1996 Jan Vroonhof - - * nndoc.el (nndoc-dissect-buffer): Went into infinite loop if end - of file token wasn't properly detected. - (nndoc-type-alist): Better end-of-header regexp for - lanl.gov preprints - (nndoc-article-type): Updated doc string - -Mon Aug 12 21:01:25 1996 Sudish Joseph - - * nntp.el (nntp-request-newgroups): Switch to nntp-server-buffer - first. - -Tue Aug 13 09:44:46 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-group-sort-by-real-name): New function. - - * gnus-sum.el (gnus-summary-save-article): Pass on number of - articles to be saved. - - * gnus-art.el (gnus-article-edit-article): Remove all text props. - (gnus-read-save-file-name): Take an optional defaultish parameter. - - * nntp.el (nntp-retrieve-groups): Saved. - - * message.el (message-forward): Didn't work well with multi-line - separators. - - * gnus-msg.el (gnus-summary-mail-crosspost-complaint): Check - wheteher followup-to was restricted. - - * nnsoup.el (nnsoup-store-reply): Would insert double courtesy - headers. - - * gnus-group.el (gnus-group-highlight-line): New `total' number. - -Mon Aug 12 06:25:00 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.11 is released. - -Mon Aug 12 03:51:57 1996 Lars Magne Ingebrigtsen - - * gnus-async.el (gnus-make-async-article-function): New function. - (gnus-async-prefetch-article): Use it. - -Sat Aug 10 07:16:29 1996 Greg Stark - - * gnus-start.el (gnus-activate-level): Doc fix. - -Sun Aug 11 03:33:02 1996 Lars Magne Ingebrigtsen - - * gnus-msg.el (gnus-summary-mail-crosspost-complaint): New command. - (gnus-crosspost-message): New variable. - - * gnus-vis.el: Removed file -- functions spread out over - gnus-group.el, gnus-sum.el and gnus-art.el. - - * gnus-util.el (gnus-turn-off-edit-menu): Renamed function. - - * gnus-salt.el (gnus-carpal-mode): Moved to this file. - - * gnus-vis.el (gnus-score-set-default): Removed. - (gnus-visual-score-map): Removed. - - * nntp.el (nntp-send-nosy-authinfo): Don't echo password. - - * gnus-srvr.el (gnus-server-open-all-servers): New command and - keystroke. - (gnus-server-close-all-servers): Ditto. - - * gnus-async.el (gnus-async-get-semaphore): New function. - (gnus-async-release-semaphore): New function. - (gnus-async-prefetch-article): Use them. - - * nntp.el (nntp-make-process-buffer): New function. - (nntp-retrieve-data): Use after-change instead of filter. - (nntp-after-change-function): New function. - - * gnus.el (gnus-read-method): Intern method. - - * gnus-cache.el (gnus-cache-save-buffers): Didn't check before - making dir. - -Sat Aug 10 14:55:33 1996 Sudish Joseph - - * gnus-win.el (gnus-buffer-configuration): Don't create picon - frame if gnus-picons-display-where is 'article. - -Sun Aug 11 02:47:30 1996 Lars Magne Ingebrigtsen - - * gnus-vis.el (gnus-highlight-selected-summary): Would bug out on - some lines. - - * gnus-spec.el (gnus-tilde-cut-form): Typo. - (gnus-parse-simple-format): Forgot to check `max-right' and - `max-left'. - (gnus-compile): Don't issue warnings. - -Fri Aug 2 14:53:02 1996 Christoph Wedler - - * smiley.el (smiley-buffer): `smiley-regexp-alist' can be a symbol - now. - -Sun Aug 11 02:37:57 1996 Greg Stark - - * gnus-msg.el (gnus-post-method): Tested the wrong variable. - -Sun Aug 11 02:28:30 1996 Lars Magne Ingebrigtsen - - * message.el (message-check-news-syntax): Messaged wrong number. - -Sat Aug 10 11:26:56 1996 Lars Magne Ingebrigtsen - - * message.el (message-y-or-n-p): Moved to before usage. - -Fri Aug 9 16:42:52 1996 Danny Siu - - * gnus-picon.el (gnus-article-display-picons): display picon even if - From line doesn't have full domain name. - -Sat Aug 10 10:11:21 1996 Lars Magne Ingebrigtsen - - * message.el (message-reply): Didn't narrow properly to the head. - (message-indent-citation): Remove all blank lines at the start. - -Sat Aug 10 07:00:34 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.9 is released. - -Sat Aug 10 06:03:07 1996 Lars Magne Ingebrigtsen - - * gnus-soup.el (gnus-soup-write-prefixes): Protect against - existing dirs. - - * gnus-topic.el (gnus-topic-parameters): Third parameter instead - of second. - (gnus-topic-set-parameters): Ditto. - -Sat Aug 10 05:22:43 1996 Lee Iverson - - * message.el (message-send-mail-with-mh): Didn't work. - -Sat Aug 10 03:57:42 1996 Lars Magne Ingebrigtsen - - * gnus-dup.el (gnus-dup-unsuppress-article): Data instead of - ingo. - (gnus-dup-unsuppress-article): Set the wrong variable. - -Sat Aug 10 00:52:26 1996 Jack Vinson - - * gnus.el (gnus-short-group-name): Bug in dotless names. - -Sat Aug 10 00:45:32 1996 Jens Lautenbacher - - * gnus-msg.el (gnus-inews-insert-archive-gcc): Use the `gcc-self' - parameter. - -Sat Aug 10 00:28:41 1996 François Pinard - - * gnus-load.el (gnus-info-nodes): Add info node for - `mime/viewer-mode'. - -Sat Aug 10 00:25:51 1996 Lars Magne Ingebrigtsen - - * message.el (message-reply): Don't include first empty line. - -Sat Aug 10 00:11:52 1996 François Pinard - - * gnus-sum.el (gnus-summary-prev-unread-article): Doc fix. - -Sat Aug 10 00:08:42 1996 Lars Magne Ingebrigtsen - - * gnus-util.el (gnus-date-iso8601): Protect against buggy Dates. - -Fri Aug 9 06:39:22 1996 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-mode): Hook into parameter thingies. - (gnus-topic-parameters): Buggy definition. - - * gnus-group.el (gnus-group-get-parameter-function): New - variable. - - * gnus.el (gnus-group-find-parameter): New function. - - * gnus-sum.el (gnus-summary-read-document): New command and - keystroke. - - * gnus-group.el (gnus-group-clear-data-on-native-groups): New - command. - (gnus-group-read-ephemeral-group): Accept an ACTIVATE-ONLY - parameter. - - * gnus-score.el (gnus-decay-score): New function. - (gnus-decay-scores): New function. - (gnus-decay-score-function): New variable. - (gnus-score-date): Accept a `regexp' match. - - * gnus-util.el (gnus-time-to-day): New function. - - * gnus-score.el (gnus-decay-scores): New variable. - (gnus-score-decay-constant): New variable. - (gnus-score-decay-scale): New variable. - - * gnus-sum.el (gnus-group-make-articles-read): Register undo. - - * gnus-group.el (gnus-update-read-articles): Register undo. - - * gnus-undo.el (gnus-undo-register-1): Renamed. - (gnus-undo-register): New macro. - - * gnus-group.el (gnus-group-yank-group): Be undoable. - (gnus-group-kill-group): Be undoable. - (gnus-undo): Required. - (gnus-group-clear-data): New keystroke. - - * gnus-undo.el (gnus-undo-last-command): New variable. - (gnus-undo): Didn't work. - (gnus-undo-boundary): Keep track of whether the last command did a - boundary. - (gnus-undo): Set boundary. - -Thu Aug 8 19:43:02 1996 Lars Magne Ingebrigtsen - - * gnus-spec.el (gnus-tilde-cut-form): New function. - (gnus-tilde-max-form): New definition. - (gnus-tilde-ignore-form): New function. - (gnus-parse-format): Rewrite to accept extended syntax. - - * gnus-topic.el (gnus-topic-goto-missing-group): Try to be a bit - faster. - - * gnus-group.el (gnus-group-goto-group): Accept optional FAR - parameter. - - * gnus-int.el (gnus-request-newgroups): Don't bug out on servers - that don't support this. - - * gnus.el (gnus-server-extend-method): Would bug out on non-known - methods. - - * gnus-group.el (gnus-group-get-new-news): Put point in the group - buffer. - -Wed Aug 7 15:40:44 1996 Jan Vroonhof - - * nntp.el (nntp-open-rlogin): Now can be used as - nntp-open-connection function - (nntp-open-telnet): Ditto - (nntp-open-rlogin): Needed to remove telnet junk from nntp buffer - to make new nntp-wait-for happy - all: required carriage return for end of line - -Tue Aug 6 21:58:26 1996 Jan Vroonhof - - * nndoc.el (nndoc-generate-lanl-gov-head): New function - (nndoc-transform-lanl-gov-announce): New function - (nndoc-lanl-gov-announce-type-p): New function - (nndoc-type-alist): Added support for preprint announcements - (nndoc-type-alist): Only use 'slack-digests' if forced to. - -Tue Aug 6 20:41:02 1996 Jan Vroonhof - - * nndoc.el (nndoc-type-alist): tried to call nndoc-guess-type-p - -Thu Aug 8 05:40:28 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-walk-group-buffer): Put cursor in echo - area. - - * gnus-dup.el (gnus-dup-unsuppress-article): New function. - - * gnus-sum.el (gnus-mark-article-as-unread): Unsuppress - duplicates. - - * gnus-msg.el (gnus-debug): Scan gnus-load.el. - -Thu Aug 8 01:48:57 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.8 is released. - -Thu Aug 8 01:36:34 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.7 is released. - -Thu Aug 8 01:29:56 1996 Lars Magne Ingebrigtsen - - * message.el (message-deletable-headers): Have Lines be - deletable. - -Wed Aug 7 23:41:26 1996 Richard Pieri - - * gnus.el (gnus-short-group-name): New version. - -Wed Aug 7 19:55:25 1996 Lars Magne Ingebrigtsen - - * gnus-start.el (gnus-declare-backend): New function. - - * gnus-xmas.el (gnus-xmas-pointer-glyph): New variable. - (gnus-xmas-modeline-glyph): New variable. - (gnus-xmas-mode-line-buffer-identification): New definition. - - * nntp.el (nntp-request-article): Would sometimes return nil - falsely. - (nntp-find-group-and-number): Saved function. - (nntp-request-article): Use it. - (nntp-request-head): Saved. - - * gnus-dup.el (gnus-dup-suppress-articles): Message. - - * gnus-group.el (gnus-group-mark-group): Used string instead of - char. - -Wed Aug 7 02:52:55 1996 Lars Magne Ingebrigtsen - - * gnus-util.el: Use `format-time-string'. - - * gnus-sum.el (gnus-summary-edit-article-postpone): Defined - again. - - * article.el (article-make-date-line): Would say "unknown" on - "now" dates. - -Wed Aug 7 02:48:12 1996 Katsumi Yamaoka - - * message.el (message-rename-buffer): Set proper outsave name. - -Wed Aug 7 00:28:44 1996 Lars Magne Ingebrigtsen - - * nnheader.el (nnheader-temp-write): Always use - `fundamental-mode'. - - * gnus-util.el (gnus-date-iso8601): Illegal format. - - * gnus-group.el (gnus-group-make-doc-group): Full name in server - name. - - * gnus-undo.el (gnus-undo): Typo. - - * gnus-group.el (gnus-group-mark-group): Don't touch props. - - * gnus-score.el (gnus-score-headers): Don't root out 0 scores when - saving. - - * gnus-art.el (gnus-narrow-to-page): Don't do a "next-page" if - `^L' is the last char. - - * gnus.el (gnus): Autoload. - -Tue Aug 6 23:00:01 1996 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-score-string): Wouldn't do word and fuzzy - matching properly. - -Mon Aug 5 22:23:03 1996 Raja R. Harinath - - * gnus-gl.el (gnus-grouplens-mode): Clear proper variables. - -Mon Aug 5 20:27:11 1996 Lars Magne Ingebrigtsen - - * gnus-art.el (gnus-article-edit-exit): Would move point. - (gnus-article-edit): New command. - - * nnml.el (nnml-request-rename-group): Copy over .overview file. - (nnml-request-group): Better error message. - -Sat Aug 3 17:52:01 1996 Steven L Baur - - * gnus-setup.el (message): Can't require 'message until we know - where the Gnus .elcs are. - -Mon Aug 5 20:07:11 1996 François Pinard - - * gnus-util.el (gnus-date-iso8601): New function. - -Mon Aug 5 19:14:12 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-search-article-forward): Show thread - when finding matches. - - * nnmail.el (nnmail-get-spool-files): Sort procmail files. - -Mon Aug 5 02:25:06 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.6 is released. - -Mon Aug 5 01:12:24 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-request-type): Defined again. - -Mon Aug 5 01:01:15 1996 Ralph Schleicher - - * gnus-score.el (gnus-ignored-adaptive-words): New value. - -Mon Aug 5 00:12:54 1996 Lars Magne Ingebrigtsen - - * gnus-util.el (gnus-group-real-name): Tweaked definition. - - * gnus-eform.el (gnus-edit-form-done): Didn't call the right - function. - -Sun Aug 4 23:30:52 1996 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-score-load-files): Returned nil. - -Sun Aug 4 06:11:02 1996 Lars Magne Ingebrigtsen - - * gnus-load.el (gnus-use-undo): New variable. - - * gnus-undo.el: New file. - - * gnus-score.el (gnus-default-adaptive-word-score-alist): New - variable. - (gnus-score-adaptive): Adaptivity on words. - (gnus-ignored-adaptive-words): New variable. - (gnus-all-score-files): Made into own function. - (gnus-score-load-files): Ditto. - (gnus-score-find-favourite-words): New command and keystroke. - - * gnus-load.el (gnus-use-adaptive-scoring): Doc fix. - - * gnus-score.el (gnus-enter-score-words-into-hashtb): New - function. - (gnus-score-build-cons): Removed. - (gnus-score-string): Score words. - -Sun Aug 4 01:33:31 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.5 is released. - -Sun Aug 4 00:17:51 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-wait-for): Goto point-max before inserting. - (nntp-retrieve-headers): Didn't inhibit Erasure. - - * gnus-eform.el (gnus-edit-form-mode-map): Buggy. - - * nntp.el (nntp-send-command-nodelete): New function. - -Sat Aug 3 22:21:24 1996 Lars Magne Ingebrigtsen - - * article.el (article-date-ut): Wouldn't do anything much. - - * nntp.el (nntp-wait-for): Wouldn't allow posting. - - * nnmail.el (nnmail-delete-incoming): Set to nil. - -Sat Aug 3 01:31:24 1996 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-home-score-file): New variable. - (gnus-home-score-file): New function. - (gnus-hierarchial-home-score-file): New function. - (gnus-possibly-score-headers): Use `adapt-file' param. - (gnus-home-adapt-file): New variable. - (gnus-hierarchial-home-adapt-file): New function. - - * gnus-load.el (gnus-original-article-buffer): Moved here. - - * gnus-sum.el (gnus-article-mark): New macro. - (gnus-summary-prepare-unthreaded): Use it. - (gnus-summary-prepare-threads): Ditto. - - * gnus-win.el (gnus-buffer-configuration): New `edit-article' - setting. - - * gnus-sum.el (gnus-summary-edit-article): Don't move point in the - article buffer. - (gnus-summary-edit-article-done): Don't move point after editing. - (gnus-summary-edit-article-postpone): Removed. - (gnus-summary-update-article-line): New function. - - * gnus-art.el (gnus-article-edit-mode-map): Buggy map. - -Fri Aug 2 22:36:40 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.4 is released. - -Wed Jul 31 15:23:54 1996 Ken Olstad - - * gnus-xmas.el (gnus-xmas-redefine): Disable XFace when running - under tty. - -Wed Jul 31 14:21:38 1996 Lars Magne Ingebrigtsen - - * gnus.el (gnus-group-read-group): Use `gnus-range-length' instead - of `length'. - -Fri Aug 2 21:48:17 1996 Lars Magne Ingebrigtsen - - * gnus-dup.el (gnus-dup-suppress-articles): Wouldn't mark articles - properly. - -Fri Aug 2 21:40:33 1996 Glenn Coombs - - * gnus-vis.el (gnus-button-url): New definition. - -Fri Aug 2 19:08:55 1996 Lars Magne Ingebrigtsen - - * gnus-group.el (gnus-update-read-articles): Moved here. - - * gnus-sum.el (gnus-update-read-articles): Moved here. - - * gnus-async.el (gnus-async-request-fetched-article): Would bug - out on Message-IDs. - - * gnus-score.el (gnus-score-save): Would kill wrong buffer. - - * nntp.el (nntp-process-filter): Insert at point-max. - - * nnheader.el (nnheader-set-temp-buffer): Accept a noerase param. - -Fri Aug 2 00:14:16 1996 Lars Magne Ingebrigtsen - - * gnus-topic.el (gnus-topic-edit-parameters): New command. - (gnus-group-topic-parameters): New function. - (gnus-topic-set-parameters): New function. - (gnus-topic-parameters): New function. - - * gnus-group.el (gnus-group-edit-group-done): Newish definition. - - * gnus-srvr.el (gnus-server-edit-server): Use new edit function. - (gnus-server-edit-server-done): Removed. - - * gnus-group.el: Use new edit function. - - * gnus-eform.el (gnus-eform): New file. - - * gnus-group.el (gnus-group-goto-group): Tippy-toe around some - more to find the most likely instance of the group. - (gnus-edit-form): New function. - (gnus-edit-form-mode): New command. - (gnus-edit-form-make-menu-bar): New function. - (gnus-edit-form-mode-hook): New variable. - (gnus-edit-form-exit): New command and keystroke. - (gnus-edit-form-done): Ditto. - - * gnus-topic.el: Moved functions around. - (gnus-current-topic): Renamed. - (gnus-current-topics): New function. - (gnus-group-parent-topic): New function. - - * article.el (gnus-signature-separator): New default. - (gnus-signature-limit): Extended value. - (article-narrow-to-signature): Use it. - - * gnus-cite.el (gnus-cite-parse): Use new signature functions. - - * article.el (article-search-signature): New function. - (gnus-signature-separator): Allow wider syntax. - - * gnus-async.el (gnus-use-header-prefetch): New variable. - (gnus-async-set-article-buffer): Removed. - (gnus-async-prefetch-headers): New function. - (gnus-async-retrieve-fetched-headers): New function. - (gnus-async-prefetch-headers-buffer): New variable. - - * gnus-salt.el (gnus-summary-pick-line-format): New variable. - (gnus-pick-mode): Use it. - (gnus-pick-line-number): New function. - (gnus-pick-article): New command and keystroke. - (gnus-pick-mode-map): Changed " " to `gnus-pick-next-page'. - (gnus-pick-next-page): New command and keystroke. - (gnus-mark-unpicked-articles-as-read): New variable. - (gnus-pick-start-reading): Use it. - - * gnus-sum.el (gnus-summary-line-format-alist): Add pick line - number. - -Thu Aug 1 23:32:15 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-request-list): Decode. - (nntp-request-list-newsgroups): Ditto. - - * gnus-gl.el (gnus-grouplens-mode): Update summary line specs. - - * gnus-msg.el (gnus-debug): Would bug out. - -Thu Aug 1 23:24:48 1996 Glenn Coombs - - * gnus-sum.el (gnus-summary-update-mark): Work on hidden threads. - -Thu Aug 1 00:00:16 1996 Lars Magne Ingebrigtsen - - * gnus-score.el (gnus-score-save): Wouldn't save scores. - - * gnus-load.el (gnus-summary-line-format): Moved here. - - * gnus.el (gnus-alive-p): More thorough definition. - (gnus-info-set-entry): New macro. - - * gnus-move.el: New file. - (gnus-move-group-to-server): New function. - (gnus-change-server): New command. - (gnus-group-move-group-to-server): New command. - - * gnus-start.el (gnus-parse-active): New function. - - * gnus.el (gnus-read-method): Mew function. - * gnus-group.el: Use it. - - * gnus-load.el (gnus-suppress-duplicates): New variable. - - * gnus-dup.el: New file. - - * gnus-sum.el (gnus-data-read-p): New macro. - (gnus-duplicate-mark): New variable. - -Wed Jul 31 23:09:35 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.3 is released. - -Wed Jul 31 21:38:08 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-retrieve-headers-with-xover): Didn't work. - - * gnus-load.el (gnus-suppress-keymap): New function. - -Wed Jul 31 01:20:58 1996 Sudish Joseph - - * gnus-picon.el (gnus-group-display-picons): Delete just the live - extents. - -Wed Jul 31 21:15:01 1996 Lars Magne Ingebrigtsen - - * gnus.el ((load)): Only eval splash when loading. - - * gnus-group.el (gnus-group-quit): Always kill group buffer. - - * nntp.el (nntp-open-connection): Escape errors. - -Wed Jul 31 16:09:22 1996 Lars Magne Ingebrigtsen - - * nnml.el (nnml-request-rename-group): Would move subgroups as - well. - * nnmh.el: Ditto. - - * gnus-group.el (gnus-group-rename-group): Use current group name - as default. - (gnus-group-rename-group): Added doc string. - - * gnus-sum.el (gnus-general-simplify-subject): Renamed. - -Wed Jul 31 16:05:06 1996 Paul Franklin - - * gnus-sum.el (gnus-pdf-simplify-subject): New version. - -Wed Jul 31 15:59:04 1996 Raja R. Harinath - - * nntp.el (nntp-retrieve-headers-with-xover): `last' returns cdr. - -Wed Jul 31 15:18:33 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-retrieve-headers-with-xover): Put the result in - the right buffer. - (nntp-request-body): Decode. - - * gnus.el (gnus-no-server): Would bug out when gnus-start wasn't - loaded. - - * gnus-art.el (gnus-article-edit-mode): New command. - (gnus-article-edit-mode-hook): New variable. - (gnus-article-edit-mode-map): New variable. - -Wed Jul 31 15:18:26 1996 François Pinard - - * gnus-art.el (gnus-article-edit-full-stops): New command. - -Wed Jul 31 13:03:48 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-edit-wash): New command and keystroke. - - * message.el (message-sort-headers-1): Sort properly on totally - empty headers. - - * article.el (article-hide-boring-headers): Didn't hide completely - empty headers. - - * nntp.el (nntp-encode-text): Rescued. - (nntp-send-buffer): New function. - (nntp-request-post): New function. - - * gnus-util.el (gnus-define-keys-safe): New macro. - (gnus-define-keys-1): Accept `safe' param. - - * gnus-load.el (gnus-summary-mode-map): Define the main three - keymaps prematurely here. - -Wed Jul 31 12:48:23 1996 Steven L. Baur - - * gnus-load.el (gnus-default-nntp-server): Moved. - -Wed Jul 31 03:15:02 1996 Lars Magne Ingebrigtsen - - * nndoc.el (nndoc-add-type): Remove old type definition. - - * article.el: Changed variable names back to `gnus-'. - -Tue Jul 30 23:07:04 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-connection-alist): Define as oo. - - * nndoc.el (nndoc-add-type): Wrong number of args. - (nndoc-set-delims): Free var. - -Tue Jul 30 23:02:51 1996 Lars Magne Ingebrigtsen - - * gnus.el: Red Gnus v0.1 is released. - -Tue Jul 30 22:34:11 1996 Lars Magne Ingebrigtsen - - * nntp.el (nntp-find-connection-buffer): New function. - (nntp-retrieve-headers): Use it. - -Tue Jul 30 00:00:28 1996 Lars Magne Ingebrigtsen - - * nndoc.el (nndoc-add-type): New function. - (nndoc-guess-type): New function. - (nndoc-set-delims): New definition. - - * nntp.el (nntp-open-server): Init server buffer. - - * gnus.el (gnus-group-prefixed-name): Do the right thing with nil - methods. - (gnus-group-rename-group): Would act oddly when renaming native - groups. - -Mon Jul 29 14:17:30 1996 Lars Magne Ingebrigtsen - - * gnus-load.el (gnus-startup-hook): Removed hilit removal. - - * gnus-async.el: New file. - - * gnus-int.el (gnus-asynchronous-p): New function. - - * nntp.el: Replaced with new, asynchronous version. - -Mon Jul 29 11:48:07 1996 Paul Franklin - - * gnus-sum.el (gnus-pdf-simplify-subject): New function. - (gnus-summary-simplify-subject-query): New command. - -Mon Jul 29 10:05:30 1996 Lars Magne Ingebrigtsen - - * gnus-sum.el (gnus-summary-mode-map): Command for emphasis. - - * gnus-art.el (gnus-article-wash-status): Report emphasis. - - * article.el (article-unhide-text-type): New function. - (article-emphasize): New function. - (article-emphasis-alist): New variable. - - * gnus-score.el (gnus-score-headers): Hook into advanced scoring. - - * gnus-logic.el: New file. - - * article.el (article-treat-overstrike): Mark hiding type. - -Mon Jul 29 10:00:52 1996 d. hall - - * gnus-art.el (gnus-article-wash-status): New function. - -Sun Jul 28 15:20:19 1996 Lars Magne Ingebrigtsen - - * article.el (article-hidden-arg): Renamed all variables and - functions to `article-'. - - * gnus.el: Split file into gnus-start.el, gnus-group.el, - gnus-sum.el, gnus-art.el, gnus-win.el, gnus-load.el, gnus-util.el, - gnus-bcklg.el, gnus-spec.el, article.el, and gnus-int.el. + * gnus.el: Quassia Gnus v0.1 is released. diff --git a/lisp/gnus-agent.el b/lisp/gnus-agent.el new file mode 100644 index 000000000..daa286860 --- /dev/null +++ b/lisp/gnus-agent.el @@ -0,0 +1,1187 @@ +;;; gnus-agent.el --- unplugged support for Gnus +;; Copyright (C) 1997 Free Software Foundation, Inc. + +;; Author: Lars Magne Ingebrigtsen +;; Keywords: news + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;; (add-hook 'gnus-before-startup-hook 'gnus-open-agent) + +;;; Code: + +(require 'gnus) +(require 'gnus-cache) +(require 'nnvirtual) +(require 'gnus-sum) + +(defcustom gnus-agent-directory (nnheader-concat gnus-directory "agent/") + "Where the Gnus agent will store its files." + :group 'gnus-agent + :type 'directory) + +(defcustom gnus-agent-plugged-hook nil + "Hook run when plugging into the network." + :group 'gnus-agent + :type 'hook) + +(defcustom gnus-agent-unplugged-hook nil + "Hook run when unplugging from the network." + :group 'gnus-agent + :type 'hook) + +;;; Internal variables + +(defvar gnus-agent-history-buffers nil) +(defvar gnus-agent-buffer-alist nil) +(defvar gnus-agent-article-alist nil) +(defvar gnus-agent-group-alist nil) +(defvar gnus-agent-covered-methods nil) +(defvar gnus-category-alist nil) +(defvar gnus-agent-current-history nil) +(defvar gnus-agent-overview-buffer nil) +(defvar gnus-category-predicate-cache nil) +(defvar gnus-category-group-cache nil) +(defvar gnus-agent-spam-hashtb nil) +(defvar gnus-agent-file-name nil) + +(defvar gnus-plugged t + "Whether Gnus is plugged or not.") + +;; Dynamic variables +(defvar gnus-headers) +(defvar gnus-score) + +;;; +;;; Setup +;;; + +(defun gnus-open-agent () + (setq gnus-agent t) + (gnus-agent-read-servers) + (gnus-category-read) + (setq gnus-agent-overview-buffer + (get-buffer-create " *Gnus agent overview*")) + (add-hook 'gnus-group-mode-hook 'gnus-agent-mode) + (add-hook 'gnus-summary-mode-hook 'gnus-agent-mode) + (add-hook 'gnus-server-mode-hook 'gnus-agent-mode)) + +(gnus-add-shutdown 'gnus-close-agent 'gnus) + +(defun gnus-close-agent () + (setq gnus-agent-covered-methods nil + gnus-category-predicate-cache nil + gnus-category-group-cache nil + gnus-agent-spam-hashtb nil) + (gnus-kill-buffer gnus-agent-overview-buffer)) + +;;; +;;; Utility functions +;;; + +(defun gnus-agent-read-file (file) + "Load FILE and do a `read' there." + (nnheader-temp-write nil + (ignore-errors + (insert-file-contents file) + (goto-char (point-min)) + (read (current-buffer))))) + +(defsubst gnus-agent-method () + (concat (symbol-name (car gnus-command-method)) "/" + (if (equal (cadr gnus-command-method) "") + "unnamed" + (cadr gnus-command-method)))) + +(defsubst gnus-agent-directory () + "Path of the Gnus agent directory." + (nnheader-concat gnus-agent-directory (gnus-agent-method) "/")) + +(defun gnus-agent-lib-file (file) + "The full path of the Gnus agent library FILE." + (concat (gnus-agent-directory) "lib/" file)) + +;;; +;;; Mode infestation +;;; + +(defvar gnus-agent-mode-hook nil + "Hook run when installing agent mode.") + +(defvar gnus-agent-mode nil) +(defvar gnus-agent-mode-status '(gnus-agent-mode " Plugged")) + +(defun gnus-agent-mode () + "Minor mode for providing a agent support in Gnus buffers." + (let* ((buffer (progn (string-match "^gnus-\\(.*\\)-mode$" + (symbol-name major-mode)) + (match-string 1 (symbol-name major-mode)))) + (mode (intern (format "gnus-agent-%s-mode" buffer)))) + (set (make-local-variable 'gnus-agent-mode) t) + (set mode nil) + (set (make-local-variable mode) t) + ;; Set up the menu. + (when (gnus-visual-p 'agent-menu 'menu) + (funcall (intern (format "gnus-agent-%s-make-menu-bar" buffer)))) + (unless (assq 'gnus-agent-mode minor-mode-alist) + (push gnus-agent-mode-status minor-mode-alist)) + (unless (assq mode minor-mode-map-alist) + (push (cons mode (symbol-value (intern (format "gnus-agent-%s-mode-map" + buffer)))) + minor-mode-map-alist)) + (gnus-agent-toggle-plugged gnus-plugged) + (run-hooks 'gnus-agent-mode-hook))) + +(defvar gnus-agent-group-mode-map (make-sparse-keymap)) +(gnus-define-keys gnus-agent-group-mode-map + "Ju" gnus-agent-fetch-group + "Jc" gnus-enter-category-buffer + "Jj" gnus-agent-toggle-plugged + "Js" gnus-agent-fetch-session + "Ja" gnus-agent-add-group) + +(defun gnus-agent-group-make-menu-bar () + (unless (boundp 'gnus-agent-group-menu) + (easy-menu-define + gnus-agent-group-menu gnus-agent-group-mode-map "" + '("Agent" + ["Toggle plugged" gnus-agent-toggle-plugged t] + ["List categories" gnus-enter-category-buffer t] + ("Fetch" + ["Group" gnus-agent-fetch-group t]))))) + +(defvar gnus-agent-summary-mode-map (make-sparse-keymap)) +(gnus-define-keys gnus-agent-summary-mode-map + "Jj" gnus-agent-toggle-plugged + "J#" gnus-agent-mark-article + "J\M-#" gnus-agent-unmark-article + "@" gnus-agent-toggle-mark + "Jc" gnus-agent-catchup) + +(defun gnus-agent-summary-make-menu-bar () + (unless (boundp 'gnus-agent-summary-menu) + (easy-menu-define + gnus-agent-summary-menu gnus-agent-summary-mode-map "" + '("Agent" + ["Toggle plugged" gnus-agent-toggle-plugged t] + ["Mark as downloadable" gnus-agent-mark-article t] + ["Unmark as downloadable" gnus-agent-unmark-article t] + ["Toggle mark" gnus-agent-toggle-mark t] + ["Catchup undownloaded" gnus-agent-catchup t])))) + +(defvar gnus-agent-server-mode-map (make-sparse-keymap)) +(gnus-define-keys gnus-agent-server-mode-map + "Jj" gnus-agent-toggle-plugged + "Ja" gnus-agent-add-server + "Jr" gnus-agent-remove-server) + +(defun gnus-agent-server-make-menu-bar () + (unless (boundp 'gnus-agent-server-menu) + (easy-menu-define + gnus-agent-server-menu gnus-agent-server-mode-map "" + '("Agent" + ["Toggle plugged" gnus-agent-toggle-plugged t] + ["Add" gnus-agent-add-server t] + ["Remove" gnus-agent-remove-server t])))) + +(defun gnus-agent-toggle-plugged (plugged) + "Toggle whether Gnus is unplugged or not." + (interactive (list (not gnus-plugged))) + (if plugged + (progn + (run-hooks 'gnus-agent-plugged-hook) + (setcar (cdr gnus-agent-mode-status) " Plugged")) + (gnus-agent-close-connections) + (run-hooks 'gnus-agent-unplugged-hook) + (setcar (cdr gnus-agent-mode-status) " Unplugged")) + (setq gnus-plugged plugged) + (set-buffer-modified-p t)) + +(defun gnus-agent-close-connections () + "Close all methods covered by the Gnus agent." + (let ((methods gnus-agent-covered-methods)) + (while methods + (gnus-close-server (pop methods))))) + +;;;###autoload +(defun gnus-unplugged () + "Start Gnus unplugged." + (interactive) + (setq gnus-plugged nil) + (gnus)) + +;;; +;;; Group mode commands +;;; + +(defun gnus-agent-fetch-group (group) + "Put all new articles in GROUP into the agent." + (interactive (list (gnus-group-group-name))) + (unless group + (error "No group on the current line")) + (let ((articles (gnus-list-of-unread-articles group)) + (gnus-command-method (gnus-find-method-for-group group))) + (gnus-agent-with-fetch + (gnus-agent-fetch-articles group articles)))) + +(defun gnus-agent-add-group (category arg) + "Add the current group to an agent category." + (interactive + (list + (intern + (completing-read + "Add to category: " + (mapcar (lambda (cat) (list (symbol-name (car cat)))) + gnus-category-alist) + nil t)) + current-prefix-arg)) + (let ((cat (assq category gnus-category-alist)) + c groups) + (gnus-group-iterate arg + (lambda (group) + (when (cadddr (setq c (gnus-group-category group))) + (setf (cadddr c) (delete group (cadddr c)))) + (push group groups))) + (setf (cadddr cat) (nconc (cadddr cat) groups)) + (gnus-category-write))) + +;;; +;;; Server mode commands +;;; + +(defun gnus-agent-add-server (server) + "Enroll SERVER in the agent program." + (interactive (list (gnus-server-server-name))) + (unless server + (error "No server on the current line")) + (let ((method (gnus-server-get-method nil (gnus-server-server-name)))) + (when (member method gnus-agent-covered-methods) + (error "Server already in the agent program")) + (push method gnus-agent-covered-methods) + (gnus-agent-write-servers) + (message "Entered %s into the agent" server))) + +(defun gnus-agent-remove-server (server) + "Remove SERVER from the agent program." + (interactive (list (gnus-server-server-name))) + (unless server + (error "No server on the current line")) + (let ((method (gnus-server-get-method nil (gnus-server-server-name)))) + (unless (member method gnus-agent-covered-methods) + (error "Server not in the agent program")) + (setq gnus-agent-covered-methods + (delete method gnus-agent-covered-methods)) + (gnus-agent-write-servers) + (message "Removed %s from the agent" server))) + +(defun gnus-agent-read-servers () + "Read the alist of covered servers." + (setq gnus-agent-covered-methods + (gnus-agent-read-file + (nnheader-concat gnus-agent-directory "lib/servers")))) + +(defun gnus-agent-write-servers () + "Write the alist of covered servers." + (nnheader-temp-write (nnheader-concat gnus-agent-directory "lib/servers") + (prin1 gnus-agent-covered-methods (current-buffer)))) + +;;; +;;; Summary commands +;;; + +(defun gnus-agent-mark-article (n &optional unmark) + "Mark the next N articles as downloadable. +If N is negative, mark backward instead. If UNMARK is non-nil, remove +the mark instead. The difference between N and the actual number of +articles marked is returned." + (interactive "p") + (gnus-set-global-variables) + (let ((backward (< n 0)) + (n (abs n))) + (while (and + (> n 0) + (progn + (gnus-summary-set-agent-mark + (gnus-summary-article-number) unmark) + (zerop (gnus-summary-next-subject (if backward -1 1) nil t)))) + (setq n (1- n))) + (when (/= 0 n) + (gnus-message 7 "No more articles")) + (gnus-summary-recenter) + (gnus-summary-position-point) + n)) + +(defun gnus-agent-unmark-article (n) + "Remove the downloadable mark from the next N articles. +If N is negative, unmark backward instead. The difference between N and +the actual number of articles unmarked is returned." + (interactive "p") + (gnus-set-global-variables) + (gnus-agent-mark-article n t)) + +(defun gnus-agent-toggle-mark (n) + "Toggle the downloadable mark from the next N articles. +If N is negative, toggle backward instead. The difference between N and +the actual number of articles toggled is returned." + (interactive "p") + (gnus-set-global-variables) + (gnus-agent-mark-article n 'toggle)) + +(defun gnus-summary-set-agent-mark (article &optional unmark) + "Mark ARTICLE as downloadable." + (let ((unmark (if (and (not (null unmark)) (not (eq t unmark))) + (memq article gnus-newsgroup-downloadable) + unmark))) + (setq gnus-newsgroup-downloadable + (delq article gnus-newsgroup-downloadable)) + (unless unmark + (push article gnus-newsgroup-downloadable)) + (gnus-summary-update-mark + (if unmark gnus-undownloaded-mark gnus-downloadable-mark) + 'unread))) + +(defun gnus-agent-get-undownloaded-list () + "Mark all unfetched articles as read." + (let ((gnus-command-method (gnus-find-method-for-group gnus-newsgroup-name))) + (when (and (not gnus-plugged) + (gnus-agent-method-p gnus-command-method)) + (gnus-agent-load-alist gnus-newsgroup-name) + (let ((articles gnus-newsgroup-unreads) + article) + (while (setq article (pop articles)) + (unless (or (cdr (assq article gnus-agent-article-alist)) + (memq article gnus-newsgroup-downloadable)) + (push article gnus-newsgroup-undownloaded))))))) + +(defun gnus-agent-catchup () + "Mark all undownloaded articles as read." + (interactive) + (save-excursion + (while gnus-newsgroup-undownloaded + (gnus-summary-mark-article + (pop gnus-newsgroup-undownloaded) gnus-catchup-mark))) + (gnus-summary-position-point)) + +;;; +;;; Internal functions +;;; + +(defun gnus-agent-save-active (method) + (when (gnus-agent-method-p method) + (let* ((gnus-command-method method) + (file (gnus-agent-lib-file "active"))) + (gnus-make-directory (file-name-directory file)) + (write-region (point-min) (point-max) file nil 'silent) + (when (file-exists-p (gnus-agent-lib-file "groups")) + (delete-file (gnus-agent-lib-file "groups")))))) + +(defun gnus-agent-save-groups (method) + (let* ((gnus-command-method method) + (file (gnus-agent-lib-file "groups"))) + (gnus-make-directory (file-name-directory file)) + (write-region (point-min) (point-max) file nil 'silent)) + (when (file-exists-p (gnus-agent-lib-file "active")) + (delete-file (gnus-agent-lib-file "active")))) + +(defun gnus-agent-group-path (group) + "Translate GROUP into a path." + (nnheader-replace-chars-in-string group ?. ?/)) + + + +(defun gnus-agent-method-p (method) + "Say whether METHOD is covered by the agent." + (member method gnus-agent-covered-methods)) + +(defun gnus-agent-get-function (method) + (if (and (not gnus-plugged) + (gnus-agent-method-p method)) + (progn + (require 'nnagent) + 'nnagent) + (car method))) + +;;; History functions + +(defun gnus-agent-history-buffer () + (cdr (assoc (gnus-agent-method) gnus-agent-history-buffers))) + +(defun gnus-agent-open-history () + (save-excursion + (push (cons (gnus-agent-method) + (set-buffer (get-buffer-create + (format " *Gnus agent %s history*" + (gnus-agent-method))))) + gnus-agent-history-buffers) + (erase-buffer) + (insert "\n") + (let ((file (gnus-agent-lib-file "history"))) + (when (file-exists-p file) + (insert-file file)) + (set (make-local-variable 'gnus-agent-file-name) file)))) + +(defun gnus-agent-save-history () + (save-excursion + (set-buffer gnus-agent-current-history) + (gnus-make-directory (file-name-directory gnus-agent-file-name)) + (write-region (1+ (point-min)) (point-max) + gnus-agent-file-name nil 'silent))) + +(defun gnus-agent-close-history () + (when (gnus-buffer-live-p gnus-agent-current-history) + (kill-buffer gnus-agent-current-history) + (setq gnus-agent-history-buffers + (delq (assoc (gnus-agent-method) gnus-agent-history-buffers) + gnus-agent-history-buffers)))) + +(defun gnus-agent-enter-history (id group-arts date) + (save-excursion + (set-buffer gnus-agent-current-history) + (goto-char (point-max)) + (insert id "\t" (number-to-string date) "\t") + (while group-arts + (insert (caar group-arts) "/" (number-to-string (cdr (pop group-arts))) + " ")) + (insert "\n"))) + +(defun gnus-agent-article-in-history-p (id) + (save-excursion + (set-buffer (gnus-agent-history-buffer)) + (goto-char (point-min)) + (search-forward (concat "\n" id "\t") nil t))) + +(defun gnus-agent-history-path (id) + (save-excursion + (set-buffer (gnus-agent-history-buffer)) + (goto-char (point-min)) + (when (search-forward (concat "\n" id "\t") nil t) + (let ((method (gnus-agent-method))) + (let (paths group) + (while (not (numberp (setq group (read (current-buffer))))) + (push (concat method "/" group) paths)) + (nreverse paths)))))) + +;;; +;;; Fetching +;;; + +(defun gnus-agent-start-fetch () + "Initialize data structures for efficient fetching." + (gnus-agent-open-history) + (setq gnus-agent-current-history (gnus-agent-history-buffer))) + +(defun gnus-agent-stop-fetch () + "Save all data structures and clean up." + (gnus-agent-save-history) + (gnus-agent-close-history) + (setq gnus-agent-spam-hashtb nil) + (save-excursion + (set-buffer nntp-server-buffer) + (widen))) + +(defmacro gnus-agent-with-fetch (&rest forms) + "Do FORMS safely." + `(unwind-protect + (progn + (gnus-agent-start-fetch) + ,@forms) + (gnus-agent-stop-fetch))) + +(put 'gnus-agent-with-fetch 'lisp-indent-function 0) +(put 'gnus-agent-with-fetch 'edebug-form-spec '(body)) + +(defun gnus-agent-fetch-articles (group articles) + "Fetch ARTICLES from GROUP and put them into the agent." + (when articles + ;; Prune off articles that we have already fetched. + (while (and articles + (cdr (assq (car articles) gnus-agent-article-alist))) + (pop articles)) + (let ((arts articles)) + (while (cdr arts) + (if (cdr (assq (cadr arts) gnus-agent-article-alist)) + (setcdr arts (cddr arts)) + (setq arts (cdr arts))))) + (when articles + (let ((dir (concat + (gnus-agent-directory) + (gnus-agent-group-path group) "/")) + (date (gnus-time-to-day (current-time))) + (case-fold-search t) + pos alists crosses id elem) + (gnus-make-directory dir) + (gnus-message 7 "Fetching articles for %s..." group) + ;; Fetch the articles from the backend. + (if (gnus-check-backend-function 'retrieve-articles group) + (setq pos (gnus-retrieve-articles articles group)) + (nnheader-temp-write nil + (let ((buf (current-buffer)) + article) + (while (setq article (pop articles)) + (when (gnus-request-article article group) + (goto-char (point-max)) + (push (cons article (point)) pos) + (insert-buffer-substring nntp-server-buffer))) + (copy-to-buffer nntp-server-buffer (point-min) (point-max)) + (setq pos (nreverse pos))))) + ;; Then save these articles into the agent. + (save-excursion + (set-buffer nntp-server-buffer) + (while pos + (narrow-to-region (cdar pos) (or (cdadr pos) (point-max))) + (goto-char (point-min)) + (when (search-forward "\n\n" nil t) + (when (search-backward "\nXrefs: " nil t) + ;; Handle crossposting. + (skip-chars-forward "^ ") + (skip-chars-forward " ") + (setq crosses nil) + (while (looking-at "\\([^: \n]+\\):\\([0-9]+\\) +") + (push (cons (buffer-substring (match-beginning 1) + (match-end 1)) + (buffer-substring (match-beginning 2) + (match-end 2))) + crosses) + (goto-char (match-end 0))) + (gnus-agent-crosspost crosses (caar pos)))) + (goto-char (point-min)) + (if (not (re-search-forward "^Message-ID: *<\\([^>\n]+\\)>" nil t)) + (setq id "No-Message-ID-in-article") + (setq id (buffer-substring (match-beginning 1) (match-end 1)))) + (write-region (point-min) (point-max) + (concat dir (number-to-string (caar pos))) + nil 'silent) + (when (setq elem (assq (caar pos) gnus-agent-article-alist)) + (setcdr elem t)) + (gnus-agent-enter-history + id (or crosses (list (cons group (caar pos)))) date) + (widen) + (pop pos))) + (gnus-agent-save-alist group))))) + +(defun gnus-agent-crosspost (crosses article) + (let (gnus-agent-article-alist group alist beg end) + (save-excursion + (set-buffer gnus-agent-overview-buffer) + (when (nnheader-find-nov-line article) + (forward-word 1) + (setq beg (point)) + (setq end (progn (forward-line 1) (point))))) + (while crosses + (setq group (caar crosses)) + (unless (setq alist (assoc group gnus-agent-group-alist)) + (push (setq alist (list group (gnus-agent-load-alist (caar crosses)))) + gnus-agent-group-alist)) + (setcdr alist (cons (cons (cdar crosses) t) (cdr alist))) + (save-excursion + (set-buffer (get-buffer-create (format " *Gnus agent overview %s*" + group))) + (when (= (point-max) (point-min)) + (push (cons group (current-buffer)) gnus-agent-buffer-alist) + (ignore-errors + (insert-file-contents + (gnus-agent-article-name ".overview" group)))) + (nnheader-find-nov-line (string-to-number (cdar crosses))) + (insert (string-to-number (cdar crosses))) + (insert-buffer-substring gnus-agent-overview-buffer beg end)) + (pop crosses)))) + +(defun gnus-agent-flush-cache () + (save-excursion + (while gnus-agent-buffer-alist + (set-buffer (cdar gnus-agent-buffer-alist)) + (write-region (point-min) (point-max) + (gnus-agent-article-name ".overview" + (caar gnus-agent-buffer-alist)) + nil 'silent) + (pop gnus-agent-buffer-alist)) + (while 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 articles &optional force) + (gnus-agent-load-alist group) + ;; Find out what headers we need to retrieve. + (when articles + (while (and articles + (assq (car articles) gnus-agent-article-alist)) + (pop articles)) + (let ((arts articles)) + (while (cdr arts) + (if (assq (cadr arts) gnus-agent-article-alist) + (setcdr arts (cddr arts)) + (setq arts (cdr arts))))) + ;; 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 (file-name-directory file)) + (write-region (point-min) (point-max) file nil 'silent) + (gnus-agent-save-alist group articles nil)) + t)))) + +(defsubst gnus-agent-copy-nov-line (article) + (let (b e) + (set-buffer gnus-agent-overview-buffer) + (setq b (point)) + (if (eq article (read (current-buffer))) + (setq e (progn (forward-line 1) (point))) + (setq e b)) + (set-buffer nntp-server-buffer) + (insert-buffer-substring gnus-agent-overview-buffer b e))) + +(defun gnus-agent-braid-nov (group articles file) + (let (beg end) + (set-buffer gnus-agent-overview-buffer) + (goto-char (point-min)) + (set-buffer nntp-server-buffer) + (erase-buffer) + (insert-file-contents file) + (goto-char (point-min)) + (if (or (= (point-min) (point-max)) + (progn + (forward-line -1) + (< (read (current-buffer)) (car articles)))) + ;; We have only headers that are after the older headers, + ;; so we just append them. + (progn + (goto-char (point-max)) + (insert-buffer-substring gnus-agent-overview-buffer)) + ;; We do it the hard way. + (nnheader-find-nov-line (car articles)) + (gnus-agent-copy-nov-line (car articles)) + (pop articles) + (while (and articles + (not (eobp))) + (while (and (not (eobp)) + (< (read (current-buffer)) (car articles))) + (forward-line 1)) + (beginning-of-line) + (unless (eobp) + (gnus-agent-copy-nov-line (car articles)) + (setq articles (cdr articles)))) + (when articles + (let (b e) + (set-buffer gnus-agent-overview-buffer) + (setq b (point) + e (point-max)) + (set-buffer nntp-server-buffer) + (insert-buffer-substring gnus-agent-overview-buffer b e)))))) + +(defun gnus-agent-load-alist (group &optional dir) + "Load the article-state alist for GROUP." + (setq gnus-agent-article-alist + (gnus-agent-read-file + (if dir + (concat dir ".agentview") + (gnus-agent-article-name ".agentview" group))))) + +(defun gnus-agent-save-alist (group &optional articles state dir) + "Load the article-state alist for 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)) + articles))) + (current-buffer)) + (insert "\n"))) + +(defun gnus-agent-article-name (article group) + (concat (gnus-agent-directory) (gnus-agent-group-path group) "/" + (if (stringp article) article (string-to-number article)))) + +(defun gnus-agent-fetch-session () + "Fetch all articles and headers that are eligible for fetching." + (interactive) + (unless gnus-agent-covered-methods + (error "No servers are covered by the Gnus agent")) + (unless gnus-plugged + (error "Can't fetch articles while Gnus is unplugged")) + (let ((methods gnus-agent-covered-methods) + gnus-newsgroup-dependencies gnus-newsgroup-headers + gnus-newsgroup-scored + gnus-headers gnus-score + gnus-use-cache + gnus-command-method groups group articles score arts + category predicate info marks score-param) + (save-excursion + (while methods + (setq gnus-command-method (car methods) + groups (gnus-groups-from-server (pop methods))) + (gnus-agent-with-fetch + (while (setq group (pop groups)) + ;; Fetch headers. + (when (and (setq articles (gnus-list-of-unread-articles group)) + (gnus-agent-fetch-headers group articles)) + ;; Parse them and see which articles we want to fetch. + (setq gnus-newsgroup-dependencies + (make-vector (length articles) 0)) + (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 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))) + ;; Perhaps we have some additional articles to fetch. + (setq arts (assq 'download (gnus-info-marks + (setq info (gnus-get-info group))))) + (when (cdr arts) + (gnus-agent-fetch-articles + group (gnus-uncompress-range (cdr arts))) + (setq marks (delq arts (gnus-info-marks info))) + (gnus-info-set-marks info marks))))) + (gnus-message 6 "Finished fetching articles into the Gnus agent")))) + +;;; +;;; Agent Category Mode +;;; + +(defvar gnus-category-mode-hook nil + "Hook run in `gnus-category-mode' buffers.") + +(defvar gnus-category-line-format " %(%20c%): %g\n" + "Format of category lines.") + +(defvar gnus-category-mode-line-format "Gnus: %%b" + "The format specification for the category mode line.") + +;;; Internal variables. + +(defvar gnus-category-buffer "*Agent Category*") + +(defvar gnus-category-line-format-alist + `((?c name ?s) + (?g groups ?d))) + +(defvar gnus-category-mode-line-format-alist + `((?u user-defined ?s))) + +(defvar gnus-category-line-format-spec nil) +(defvar gnus-category-mode-line-format-spec nil) + +(defvar gnus-category-mode-map nil) +(put 'gnus-category-mode 'mode-class 'special) + +(unless gnus-category-mode-map + (setq gnus-category-mode-map (make-sparse-keymap)) + (suppress-keymap gnus-category-mode-map) + + (gnus-define-keys gnus-category-mode-map + "q" gnus-category-exit + "k" gnus-category-kill + "c" gnus-category-copy + "a" gnus-category-add + "p" gnus-category-edit-predicate + "g" gnus-category-edit-groups + "s" gnus-category-edit-score + "l" gnus-category-list + + "\C-c\C-i" gnus-info-find-node + "\C-c\C-b" gnus-bug)) + +(defvar gnus-category-menu-hook nil + "*Hook run after the creation of the menu.") + +(defun gnus-category-make-menu-bar () + (gnus-turn-off-edit-menu 'category) + (unless (boundp 'gnus-category-menu) + (easy-menu-define + gnus-category-menu gnus-category-mode-map "" + '("Categories" + ["Add" gnus-category-add t] + ["Kill" gnus-category-kill t] + ["Copy" gnus-category-copy t] + ["Edit predicate" gnus-category-edit-predicate t] + ["Edit score" gnus-category-edit-score t] + ["Edit groups" gnus-category-edit-groups t] + ["Exit" gnus-category-exit t])) + + (run-hooks 'gnus-category-menu-hook))) + +(defun gnus-category-mode () + "Major mode for listing and editing agent categories. + +All normal editing commands are switched off. +\\ +For more in-depth information on this mode, read the manual +(`\\[gnus-info-find-node]'). + +The following commands are available: + +\\{gnus-category-mode-map}" + (interactive) + (when (gnus-visual-p 'category-menu 'menu) + (gnus-category-make-menu-bar)) + (kill-all-local-variables) + (gnus-simplify-mode-line) + (setq major-mode 'gnus-category-mode) + (setq mode-name "Category") + (gnus-set-default-directory) + (setq mode-line-process nil) + (use-local-map gnus-category-mode-map) + (buffer-disable-undo (current-buffer)) + (setq truncate-lines t) + (setq buffer-read-only t) + (run-hooks 'gnus-category-mode-hook)) + +(defalias 'gnus-category-position-point 'gnus-goto-colon) + +(defun gnus-category-insert-line (category) + (let* ((name (car category)) + (groups (length (cadddr category)))) + (beginning-of-line) + (gnus-add-text-properties + (point) + (prog1 (1+ (point)) + ;; Insert the text. + (eval gnus-category-line-format-spec)) + (list 'gnus-category name)))) + +(defun gnus-enter-category-buffer () + "Go to the Category buffer." + (interactive) + (gnus-category-setup-buffer) + (gnus-configure-windows 'category) + (gnus-category-prepare)) + +(defun gnus-category-setup-buffer () + (unless (get-buffer gnus-category-buffer) + (save-excursion + (set-buffer (get-buffer-create gnus-category-buffer)) + (gnus-add-current-to-buffer-list) + (gnus-category-mode)))) + +(defun gnus-category-prepare () + (gnus-set-format 'category-mode) + (gnus-set-format 'category t) + (let ((alist gnus-category-alist) + (buffer-read-only nil)) + (erase-buffer) + (while alist + (gnus-category-insert-line (pop alist))) + (goto-char (point-min)) + (gnus-category-position-point))) + +(defun gnus-category-name () + (or (get-text-property (gnus-point-at-bol) 'gnus-category) + (error "No category on the current line"))) + +(defun gnus-category-read () + "Read the category alist." + (setq gnus-category-alist + (or (gnus-agent-read-file + (nnheader-concat gnus-agent-directory "lib/categories")) + (list (list 'default 'true nil nil))))) + +(defun gnus-category-write () + "Write the category alist." + (setq gnus-category-predicate-cache nil + gnus-category-group-cache nil) + (nnheader-temp-write (nnheader-concat gnus-agent-directory "lib/categories") + (prin1 gnus-category-alist (current-buffer)))) + +(defun gnus-category-edit-predicate (category) + "Edit the predicate for CATEGORY." + (interactive (list (gnus-category-name))) + (let ((info (assq category gnus-category-alist))) + (gnus-edit-form + (cadr info) (format "Editing the predicate for category %s" category) + `(lambda (predicate) + (setf (cadr (assq ',category gnus-category-alist)) predicate) + (gnus-category-write) + (gnus-category-list))))) + +(defun gnus-category-edit-score (category) + "Edit the score expression for CATEGORY." + (interactive (list (gnus-category-name))) + (let ((info (assq category gnus-category-alist))) + (gnus-edit-form + (caddr info) + (format "Editing the score expression for category %s" category) + `(lambda (groups) + (setf (caddr (assq ',category gnus-category-alist)) groups) + (gnus-category-write) + (gnus-category-list))))) + +(defun gnus-category-edit-groups (category) + "Edit the group list for CATEGORY." + (interactive (list (gnus-category-name))) + (let ((info (assq category gnus-category-alist))) + (gnus-edit-form + (cadddr info) (format "Editing the group list for category %s" category) + `(lambda (groups) + (setf (cadddr (assq ',category gnus-category-alist)) groups) + (gnus-category-write) + (gnus-category-list))))) + +(defun gnus-category-kill (category) + "Kill the current category." + (interactive (list (gnus-category-name))) + (let ((info (assq category gnus-category-alist)) + (buffer-read-only nil)) + (gnus-delete-line) + (gnus-category-write) + (setq gnus-category-alist (delq info gnus-category-alist)))) + +(defun gnus-category-copy (category to) + "Copy the current category." + (interactive (list (gnus-category-name) (intern (read-string "New name: ")))) + (let ((info (assq category gnus-category-alist))) + (push (list to (gnus-copy-sequence (cadr info)) + (gnus-copy-sequence (caddr info)) nil) + gnus-category-alist) + (gnus-category-write) + (gnus-category-list))) + +(defun gnus-category-add (category) + "Create a new category." + (interactive "SCategory name: ") + (when (assq category gnus-category-alist) + (error "Category %s already exists" category)) + (push (list category 'true nil nil) + gnus-category-alist) + (gnus-category-write) + (gnus-category-list)) + +(defun gnus-category-list () + "List all categories." + (interactive) + (gnus-category-prepare)) + +(defun gnus-category-exit () + "Return to the group buffer." + (interactive) + (kill-buffer (current-buffer)) + (gnus-configure-windows 'group t)) + +;; To avoid having 8-bit characters in the source file. +(defvar gnus-category-not (list '! 'not (intern (format "%c" 172)))) + +(defvar gnus-category-predicate-alist + '((spam . gnus-agent-spam-p) + (short . gnus-agent-short-p) + (long . gnus-agent-long-p) + (low . gnus-agent-low-scored-p) + (high . gnus-agent-high-scored-p) + (true . gnus-agent-true) + (false . gnus-agent-false)) + "Mapping from short score predicate symbols to predicate functions.") + +(defun gnus-agent-spam-p () + "Say whether an article is spam or not." + (unless gnus-agent-spam-hashtb + (setq gnus-agent-spam-hashtb (gnus-make-hashtable 1000))) + (if (not (equal (mail-header-references gnus-headers) "")) + nil + (let ((string (gnus-simplify-subject (mail-header-subject gnus-headers)))) + (prog1 + (gnus-gethash string gnus-agent-spam-hashtb) + (gnus-sethash string t gnus-agent-spam-hashtb))))) + +(defun gnus-agent-short-p () + "Say whether an article is short (less than 100 lines) or not." + (< (mail-header-lines gnus-headers) 100)) + +(defun gnus-agent-long-p () + "Say whether an article is long (more than 200 lines) or not." + (> (mail-header-lines gnus-headers) 200)) + +(defun gnus-agent-low-scored-p () + "Say whether an article has a low score or not." + (< gnus-score gnus-summary-default-score)) + +(defun gnus-agent-high-scored-p () + "Say whether an article has a high score or not." + (> gnus-score gnus-summary-default-score)) + +(defun gnus-category-make-function (cat) + "Make a function from category CAT." + `(lambda () ,(gnus-category-make-function-1 cat))) + +(defun gnus-agent-true () + "Return t." + t) + +(defun gnus-agent-false () + "Return nil." + nil) + +(defun gnus-category-make-function-1 (cat) + "Make a function from category CAT." + (cond + ;; Functions are just returned as is. + ((or (symbolp cat) + (gnus-functionp cat)) + `(,(or (cdr (assq cat gnus-category-predicate-alist)) + cat))) + ;; More complex category. + ((consp cat) + `(,(cond + ((memq (car cat) '(& and)) + 'and) + ((memq (car cat) '(| or)) + 'or) + ((memq (car cat) gnus-category-not) + 'not)) + ,@(mapcar 'gnus-category-make-function-1 (cdr cat)))) + (t + (error "Unknown category type: %s" cat)))) + +(defun gnus-get-predicate (predicate) + "Return the predicate for CATEGORY." + (or (cdr (assoc predicate gnus-category-predicate-cache)) + (cdar (push (cons predicate + (gnus-category-make-function predicate)) + gnus-category-predicate-cache)))) + +(defun gnus-group-category (group) + "Return the category GROUP belongs to." + (unless gnus-category-group-cache + (setq gnus-category-group-cache (gnus-make-hashtable 1000)) + (let ((cs gnus-category-alist) + groups cat) + (while (setq cat (pop cs)) + (setq groups (cadddr cat)) + (while groups + (gnus-sethash (pop groups) cat gnus-category-group-cache))))) + (or (gnus-gethash group gnus-category-group-cache) + (assq 'default gnus-category-alist))) + +(defun gnus-agent-expire () + "Expire all old articles." + (interactive) + (let ((methods gnus-agent-covered-methods) + (alist (cdr gnus-newsrc-alist)) + gnus-command-method ofiles info method file group) + (while (setq gnus-command-method (pop methods)) + (setq ofiles (nconc ofiles (gnus-agent-expire-directory + (gnus-agent-directory))))) + (while (setq info (pop alist)) + (when (and (gnus-agent-method-p + (setq gnus-command-method + (gnus-find-method-for-group + (setq group (gnus-info-group info))))) + (member + (setq file + (concat + (gnus-agent-directory) + (gnus-agent-group-path group) "/.overview")) + ofiles)) + (setq ofiles (delete file ofiles)) + (gnus-agent-expire-group file group))) + (while ofiles + (gnus-agent-expire-group (pop ofiles))))) + +(defun gnus-agent-expire-directory (dir) + "Expire all groups in DIR recursively." + (when (file-directory-p dir) + (let ((files (directory-files dir t)) + file ofiles) + (while (setq file (pop files)) + (cond + ((member (file-name-nondirectory file) '("." "..")) + ;; Do nothing. + ) + ((file-directory-p file) + ;; Recurse. + (setq ofiles (nconc ofiles (gnus-agent-expire-directory file)))) + ((string-match "\\.overview$" file) + ;; Expire group. + (push file ofiles)))) + ofiles))) + +(defun gnus-agent-expire-group (overview &optional group) + "Expire articles in OVERVIEW." + (gnus-message 5 "Expiring %s..." overview) + (let ((odate (- (gnus-time-to-day (current-time)) 4)) + (dir (file-name-directory overview)) + (info (when group (gnus-get-info group))) + headers article file point unreads) + (gnus-agent-load-alist nil dir) + (when info + (setq unreads + (nconc + (gnus-list-of-unread-articles group) + (gnus-uncompress-range + (cdr (assq 'tick (gnus-info-marks info)))) + (gnus-uncompress-range + (cdr (assq 'dormant (gnus-info-marks info))))))) + (nnheader-temp-write overview + (insert-file-contents overview) + (goto-char (point-min)) + (while (not (eobp)) + (setq point (point)) + (condition-case () + (setq headers (inline (nnheader-parse-nov))) + (error + (goto-char point) + (gnus-delete-line) + (setq headers nil))) + (when headers + (unless (memq (setq article (mail-header-number headers)) unreads) + (if (not (< (inline + (gnus-time-to-day + (inline (nnmail-date-to-time + (mail-header-date headers))))) + odate)) + (forward-line 1) + (gnus-delete-line) + (setq gnus-agent-article-alist + (delq (assq article gnus-agent-article-alist) + gnus-agent-article-alist)) + (when (file-exists-p + (setq file (concat dir (number-to-string article)))) + (delete-file file)))))) + (gnus-agent-save-alist nil nil nil dir)))) + +(provide 'gnus-agent) + +;;; gnus-agent.el ends here diff --git a/lisp/gnus-cite.el b/lisp/gnus-cite.el index 09d688c04..78701d0e2 100644 --- a/lisp/gnus-cite.el +++ b/lisp/gnus-cite.el @@ -107,7 +107,7 @@ The first regexp group should match the Supercite attribution." :type 'regexp) (defcustom gnus-cite-attribution-suffix - "\\(\\(wrote\\|writes\\|said\\|says\\|>\\)\\(:\\|\\.\\.\\.\\)\\)[ ]*$" + "\\(\\(wrote\\|writes\\|said\\|says\\|>\\)\\(:\\|\\.\\.\\.\\)\\)[ \t]*$" "Regexp matching the end of an attribution line. The text matching the first grouping will be used as a button." :group 'gnus-cite @@ -449,9 +449,7 @@ See the documentation for `gnus-article-highlight-citation'. If given a negative prefix, always show; if given a positive prefix, always hide." (interactive (append (gnus-article-hidden-arg) (list 'force))) - (setq gnus-cited-text-button-line-format-spec - (gnus-parse-format gnus-cited-text-button-line-format - gnus-cited-text-button-line-format-alist t)) + (gnus-set-format 'cited-text-button t) (save-excursion (set-buffer gnus-article-buffer) (cond diff --git a/lisp/gnus-demon.el b/lisp/gnus-demon.el index 0900784af..ec1f2bde2 100644 --- a/lisp/gnus-demon.el +++ b/lisp/gnus-demon.el @@ -105,9 +105,8 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's." "Initialize the Gnus daemon." (interactive) (gnus-demon-cancel) - (if (null gnus-demon-handlers) - () ; Nothing to do. - ;; Set up timer. + (when gnus-demon-handlers + ;; Set up the timer. (setq gnus-demon-timer (nnheader-run-at-time gnus-demon-timestep gnus-demon-timestep 'gnus-demon)) @@ -130,7 +129,8 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's." (when gnus-demon-timer (nnheader-cancel-timer gnus-demon-timer)) (setq gnus-demon-timer nil - gnus-use-demon nil) + gnus-use-demon nil + gnus-demon-idle-has-been-called nil) (condition-case () (nnheader-cancel-function-timers 'gnus-demon) (error t))) diff --git a/lisp/gnus-dup.el b/lisp/gnus-dup.el index dd0bce1f0..e0265e359 100644 --- a/lisp/gnus-dup.el +++ b/lisp/gnus-dup.el @@ -118,7 +118,7 @@ seen in the same session." (while (setq datum (pop data)) (when (and (not (gnus-data-pseudo-p datum)) (> (gnus-data-number datum) 0) - (gnus-data-read-p datum) + (not (memq (gnus-data-number datum) gnus-newsgroup-unreads)) (not (= (gnus-data-mark datum) gnus-canceled-mark)) (setq msgid (mail-header-id (gnus-data-header datum))) (not (nnheader-fake-message-id-p msgid)) diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index 6587d909a..70ba0bcea 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -1052,7 +1052,7 @@ If REGEXP, only list groups matching REGEXP." (gnus-tmp-moderated-string (if (eq gnus-tmp-moderated ?m) "(m)" "")) (gnus-tmp-method - (gnus-server-get-method gnus-tmp-group gnus-tmp-method)) + (gnus-server-get-method gnus-tmp-group gnus-tmp-method)) ; (gnus-tmp-news-server (or (cadr gnus-tmp-method) "")) (gnus-tmp-news-method (or (car gnus-tmp-method) "")) (gnus-tmp-news-method-string @@ -1198,10 +1198,7 @@ already." (save-excursion (set-buffer gnus-group-buffer) (let* ((gformat (or gnus-group-mode-line-format-spec - (setq gnus-group-mode-line-format-spec - (gnus-parse-format - gnus-group-mode-line-format - gnus-group-mode-line-format-alist)))) + (gnus-set-format 'group-mode))) (gnus-tmp-news-server (cadr gnus-select-method)) (gnus-tmp-news-method (car gnus-select-method)) (gnus-tmp-colon (if (equal gnus-tmp-news-server "") "" ":")) @@ -1447,20 +1444,21 @@ Take into consideration N (the prefix) and the list of marked groups." (let ((group (gnus-group-group-name))) (and group (list group)))))) -(defun gnus-group-iterate (arg function) +;;;!!! All the variables below should be gensymmed. +(defun gnus-group-iterate (arg gnus-group-iterate-function) "Iterate FUNCTION over all process/prefixed groups. -FUNCTION will be called with the group name as the paremeter -and with point over the group in question." + FUNCTION will be called with the group name as the paremeter + and with point over the group in question." (let ((groups (gnus-group-process-prefix arg)) - (window (selected-window)) - group) + (window (selected-window)) + group) (while (setq group (pop groups)) (select-window window) (gnus-group-remove-mark group) (save-selected-window - (save-excursion - (funcall function group)))))) - + (save-excursion + (funcall function group)))))) + (put 'gnus-group-iterate 'lisp-indent-function 1) ;; Selecting groups. diff --git a/lisp/gnus-int.el b/lisp/gnus-int.el index b11ad1a01..c4e85f18d 100644 --- a/lisp/gnus-int.el +++ b/lisp/gnus-int.el @@ -134,7 +134,10 @@ If it is down, start it up (again)." (error "Attempted use of a nil select method")) (when (stringp method) (setq method (gnus-server-to-method method))) - (let ((func (intern (format "%s-%s" (car method) function)))) + (let ((func (intern (format "%s-%s" (if gnus-agent + (gnus-agent-get-function method) + (car method)) + function)))) ;; If the functions isn't bound, we require the backend in ;; question. (unless (fboundp func) @@ -150,11 +153,11 @@ If it is down, start it up (again)." ;;; Interface functions to the backends. ;;; -(defun gnus-open-server (method) - "Open a connection to METHOD." - (when (stringp method) - (setq method (gnus-server-to-method method))) - (let ((elem (assoc method gnus-opened-servers))) +(defun gnus-open-server (gnus-command-method) + "Open a connection to GNUS-COMMAND-METHOD." + (when (stringp gnus-command-method) + (setq gnus-command-method (gnus-server-to-method gnus-command-method))) + (let ((elem (assoc gnus-command-method gnus-opened-servers))) ;; If this method was previously denied, we just return nil. (if (eq (nth 1 elem) 'denied) (progn @@ -162,137 +165,160 @@ If it is down, start it up (again)." nil) ;; Open the server. (let ((result - (funcall (gnus-get-function method 'open-server) - (nth 1 method) (nthcdr 2 method)))) + (funcall (gnus-get-function gnus-command-method 'open-server) + (nth 1 gnus-command-method) + (nthcdr 2 gnus-command-method)))) ;; If this hasn't been opened before, we add it to the list. (unless elem - (setq elem (list method nil) + (setq elem (list gnus-command-method nil) gnus-opened-servers (cons elem gnus-opened-servers))) ;; Set the status of this server. (setcar (cdr elem) (if result 'ok 'denied)) ;; Return the result from the "open" call. result)))) -(defun gnus-close-server (method) - "Close the connection to METHOD." - (when (stringp method) - (setq method (gnus-server-to-method method))) - (funcall (gnus-get-function method 'close-server) (nth 1 method))) - -(defun gnus-request-list (method) - "Request the active file from METHOD." - (when (stringp method) - (setq method (gnus-server-to-method method))) - (funcall (gnus-get-function method 'request-list) (nth 1 method))) - -(defun gnus-request-list-newsgroups (method) - "Request the newsgroups file from METHOD." - (when (stringp method) - (setq method (gnus-server-to-method method))) - (funcall (gnus-get-function method 'request-list-newsgroups) (nth 1 method))) - -(defun gnus-request-newgroups (date method) - "Request all new groups since DATE from METHOD." - (when (stringp method) - (setq method (gnus-server-to-method method))) - (let ((func (gnus-get-function method 'request-newgroups t))) +(defun gnus-close-server (gnus-command-method) + "Close the connection to GNUS-COMMAND-METHOD." + (when (stringp gnus-command-method) + (setq gnus-command-method (gnus-server-to-method gnus-command-method))) + (funcall (gnus-get-function gnus-command-method 'close-server) + (nth 1 gnus-command-method))) + +(defun gnus-request-list (gnus-command-method) + "Request the active file from GNUS-COMMAND-METHOD." + (when (stringp gnus-command-method) + (setq gnus-command-method (gnus-server-to-method gnus-command-method))) + (funcall (gnus-get-function gnus-command-method 'request-list) + (nth 1 gnus-command-method))) + +(defun gnus-request-list-newsgroups (gnus-command-method) + "Request the newsgroups file from GNUS-COMMAND-METHOD." + (when (stringp gnus-command-method) + (setq gnus-command-method (gnus-server-to-method gnus-command-method))) + (funcall (gnus-get-function gnus-command-method 'request-list-newsgroups) + (nth 1 gnus-command-method))) + +(defun gnus-request-newgroups (date gnus-command-method) + "Request all new groups since DATE from GNUS-COMMAND-METHOD." + (when (stringp gnus-command-method) + (setq gnus-command-method (gnus-server-to-method gnus-command-method))) + (let ((func (gnus-get-function gnus-command-method 'request-newgroups t))) (when func - (funcall func date (nth 1 method))))) - -(defun gnus-server-opened (method) - "Check whether a connection to METHOD has been opened." - (when (stringp method) - (setq method (gnus-server-to-method method))) - (funcall (inline (gnus-get-function method 'server-opened)) (nth 1 method))) - -(defun gnus-status-message (method) - "Return the status message from METHOD. -If METHOD is a string, it is interpreted as a group name. The method + (funcall func date (nth 1 gnus-command-method))))) + +(defun gnus-server-opened (gnus-command-method) + "Check whether a connection to GNUS-COMMAND-METHOD has been opened." + (when (stringp gnus-command-method) + (setq gnus-command-method (gnus-server-to-method gnus-command-method))) + (funcall (inline (gnus-get-function gnus-command-method 'server-opened)) + (nth 1 gnus-command-method))) + +(defun gnus-status-message (gnus-command-method) + "Return the status message from GNUS-COMMAND-METHOD. +If GNUS-COMMAND-METHOD is a string, it is interpreted as a group name. The method this group uses will be queried." - (let ((method (if (stringp method) (gnus-find-method-for-group method) - method))) - (funcall (gnus-get-function method 'status-message) (nth 1 method)))) - -(defun gnus-request-regenerate (method) - "Request a data generation from METHOD." - (when (stringp method) - (setq method (gnus-server-to-method method))) - (funcall (gnus-get-function method 'request-regenerate) (nth 1 method))) - -(defun gnus-request-group (group &optional dont-check method) + (let ((gnus-command-method + (if (stringp gnus-command-method) + (gnus-find-method-for-group gnus-command-method) + gnus-command-method))) + (funcall (gnus-get-function gnus-command-method 'status-message) + (nth 1 gnus-command-method)))) + +(defun gnus-request-regenerate (gnus-command-method) + "Request a data generation from GNUS-COMMAND-METHOD." + (when (stringp gnus-command-method) + (setq gnus-command-method (gnus-server-to-method gnus-command-method))) + (funcall (gnus-get-function gnus-command-method 'request-regenerate) + (nth 1 gnus-command-method))) + +(defun gnus-request-group (group &optional dont-check gnus-command-method) "Request GROUP. If DONT-CHECK, no information is required." - (let ((method (or method (inline (gnus-find-method-for-group group))))) - (when (stringp method) - (setq method (inline (gnus-server-to-method method)))) - (funcall (inline (gnus-get-function method 'request-group)) - (gnus-group-real-name group) (nth 1 method) dont-check))) + (let ((gnus-command-method + (or gnus-command-method (inline (gnus-find-method-for-group group))))) + (when (stringp gnus-command-method) + (setq gnus-command-method + (inline (gnus-server-to-method gnus-command-method)))) + (funcall (inline (gnus-get-function gnus-command-method 'request-group)) + (gnus-group-real-name group) (nth 1 gnus-command-method) + dont-check))) (defun gnus-list-active-group (group) "Request active information on GROUP." - (let ((method (gnus-find-method-for-group group)) + (let ((gnus-command-method (gnus-find-method-for-group group)) (func 'list-active-group)) (when (gnus-check-backend-function func group) - (funcall (gnus-get-function method func) - (gnus-group-real-name group) (nth 1 method))))) + (funcall (gnus-get-function gnus-command-method func) + (gnus-group-real-name group) (nth 1 gnus-command-method))))) (defun gnus-request-group-description (group) "Request a description of GROUP." - (let ((method (gnus-find-method-for-group group)) + (let ((gnus-command-method (gnus-find-method-for-group group)) (func 'request-group-description)) (when (gnus-check-backend-function func group) - (funcall (gnus-get-function method func) - (gnus-group-real-name group) (nth 1 method))))) + (funcall (gnus-get-function gnus-command-method func) + (gnus-group-real-name group) (nth 1 gnus-command-method))))) (defun gnus-close-group (group) "Request the GROUP be closed." - (let ((method (inline (gnus-find-method-for-group group)))) - (funcall (gnus-get-function method 'close-group) - (gnus-group-real-name group) (nth 1 method)))) + (let ((gnus-command-method (inline (gnus-find-method-for-group group)))) + (funcall (gnus-get-function gnus-command-method 'close-group) + (gnus-group-real-name group) (nth 1 gnus-command-method)))) (defun gnus-retrieve-headers (articles group &optional fetch-old) "Request headers for ARTICLES in GROUP. If FETCH-OLD, retrieve all headers (or some subset thereof) in the group." - (let ((method (gnus-find-method-for-group group))) + (let ((gnus-command-method (gnus-find-method-for-group group))) (if (and gnus-use-cache (numberp (car articles))) (gnus-cache-retrieve-headers articles group fetch-old) - (funcall (gnus-get-function method 'retrieve-headers) - articles (gnus-group-real-name group) (nth 1 method) - fetch-old)))) - -(defun gnus-retrieve-groups (groups method) - "Request active information on GROUPS from METHOD." - (when (stringp method) - (setq method (gnus-server-to-method method))) - (funcall (gnus-get-function method 'retrieve-groups) groups (nth 1 method))) + (funcall (gnus-get-function gnus-command-method 'retrieve-headers) + articles (gnus-group-real-name group) + (nth 1 gnus-command-method) fetch-old)))) + +(defun gnus-retrieve-articles (articles group) + "Request ARTICLES in GROUP." + (let ((gnus-command-method (gnus-find-method-for-group group))) + (funcall (gnus-get-function gnus-command-method 'retrieve-articles) + articles (gnus-group-real-name group) + (nth 1 gnus-command-method)))) + +(defun gnus-retrieve-groups (groups gnus-command-method) + "Request active information on GROUPS from GNUS-COMMAND-METHOD." + (when (stringp gnus-command-method) + (setq gnus-command-method (gnus-server-to-method gnus-command-method))) + (funcall (gnus-get-function gnus-command-method 'retrieve-groups) + groups (nth 1 gnus-command-method))) (defun gnus-request-type (group &optional article) "Return the type (`post' or `mail') of GROUP (and ARTICLE)." - (let ((method (gnus-find-method-for-group group))) - (if (not (gnus-check-backend-function 'request-type (car method))) + (let ((gnus-command-method (gnus-find-method-for-group group))) + (if (not (gnus-check-backend-function + 'request-type (car gnus-command-method))) 'unknown - (funcall (gnus-get-function method 'request-type) + (funcall (gnus-get-function gnus-command-method 'request-type) (gnus-group-real-name group) article)))) (defun gnus-request-update-mark (group article mark) "Return the type (`post' or `mail') of GROUP (and ARTICLE)." - (let ((method (gnus-find-method-for-group group))) - (if (not (gnus-check-backend-function 'request-update-mark (car method))) + (let ((gnus-command-method (gnus-find-method-for-group group))) + (if (not (gnus-check-backend-function + 'request-update-mark (car gnus-command-method))) mark - (funcall (gnus-get-function method 'request-update-mark) + (funcall (gnus-get-function gnus-command-method 'request-update-mark) (gnus-group-real-name group) article mark)))) (defun gnus-request-article (article group &optional buffer) "Request the ARTICLE in GROUP. ARTICLE can either be an article number or an article Message-ID. If BUFFER, insert the article in that group." - (let ((method (gnus-find-method-for-group group))) - (funcall (gnus-get-function method 'request-article) - article (gnus-group-real-name group) (nth 1 method) buffer))) + (let ((gnus-command-method (gnus-find-method-for-group group))) + (funcall (gnus-get-function gnus-command-method 'request-article) + article (gnus-group-real-name group) + (nth 1 gnus-command-method) buffer))) (defun gnus-request-head (article group) "Request the head of ARTICLE in GROUP." - (let* ((method (gnus-find-method-for-group group)) - (head (gnus-get-function method 'request-head t)) + (let* ((gnus-command-method (gnus-find-method-for-group group)) + (head (gnus-get-function gnus-command-method 'request-head t)) res clean-up) (cond ;; Check the cache. @@ -304,7 +330,7 @@ If BUFFER, insert the article in that group." ;; Use `head' function. ((fboundp head) (setq res (funcall head article (gnus-group-real-name group) - (nth 1 method)))) + (nth 1 gnus-command-method)))) ;; Use `article' function. (t (setq res (gnus-request-article article group) @@ -320,60 +346,66 @@ If BUFFER, insert the article in that group." (defun gnus-request-body (article group) "Request the body of ARTICLE in GROUP." - (let ((method (gnus-find-method-for-group group))) - (funcall (gnus-get-function method 'request-body) - article (gnus-group-real-name group) (nth 1 method)))) - -(defun gnus-request-post (method) - "Post the current buffer using METHOD." - (when (stringp method) - (setq method (gnus-server-to-method method))) - (funcall (gnus-get-function method 'request-post) (nth 1 method))) - -(defun gnus-request-scan (group method) - "Request a SCAN being performed in GROUP from METHOD. -If GROUP is nil, all groups on METHOD are scanned." - (let ((method (if group (gnus-find-method-for-group group) method)) + (let ((gnus-command-method (gnus-find-method-for-group group))) + (funcall (gnus-get-function gnus-command-method 'request-body) + article (gnus-group-real-name group) + (nth 1 gnus-command-method)))) + +(defun gnus-request-post (gnus-command-method) + "Post the current buffer using GNUS-COMMAND-METHOD." + (when (stringp gnus-command-method) + (setq gnus-command-method (gnus-server-to-method gnus-command-method))) + (funcall (gnus-get-function gnus-command-method 'request-post) + (nth 1 gnus-command-method))) + +(defun gnus-request-scan (group gnus-command-method) + "Request a SCAN being performed in GROUP from GNUS-COMMAND-METHOD. +If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned." + (let ((gnus-command-method + (if group (gnus-find-method-for-group group) gnus-command-method)) (gnus-inhibit-demon t)) - (funcall (gnus-get-function method 'request-scan) - (and group (gnus-group-real-name group)) (nth 1 method)))) - -(defsubst gnus-request-update-info (info method) - "Request that METHOD update INFO." - (when (stringp method) - (setq method (gnus-server-to-method method))) - (when (gnus-check-backend-function 'request-update-info (car method)) - (funcall (gnus-get-function method 'request-update-info) + (funcall (gnus-get-function gnus-command-method 'request-scan) + (and group (gnus-group-real-name group)) + (nth 1 gnus-command-method)))) + +(defsubst gnus-request-update-info (info gnus-command-method) + "Request that GNUS-COMMAND-METHOD update INFO." + (when (stringp gnus-command-method) + (setq gnus-command-method (gnus-server-to-method gnus-command-method))) + (when (gnus-check-backend-function + 'request-update-info (car gnus-command-method)) + (funcall (gnus-get-function gnus-command-method 'request-update-info) (gnus-group-real-name (gnus-info-group info)) - info (nth 1 method)))) + info (nth 1 gnus-command-method)))) (defun gnus-request-expire-articles (articles group &optional force) - (let ((method (gnus-find-method-for-group group))) - (funcall (gnus-get-function method 'request-expire-articles) - articles (gnus-group-real-name group) (nth 1 method) + (let ((gnus-command-method (gnus-find-method-for-group group))) + (funcall (gnus-get-function gnus-command-method 'request-expire-articles) + articles (gnus-group-real-name group) (nth 1 gnus-command-method) force))) (defun gnus-request-move-article (article group server accept-function &optional last) - (let ((method (gnus-find-method-for-group group))) - (funcall (gnus-get-function method 'request-move-article) + (let ((gnus-command-method (gnus-find-method-for-group group))) + (funcall (gnus-get-function gnus-command-method 'request-move-article) article (gnus-group-real-name group) - (nth 1 method) accept-function last))) + (nth 1 gnus-command-method) accept-function last))) -(defun gnus-request-accept-article (group method &optional last) +(defun gnus-request-accept-article (group gnus-command-method &optional last) ;; Make sure there's a newline at the end of the article. - (when (stringp method) - (setq method (gnus-server-to-method method))) - (when (and (not method) + (when (stringp gnus-command-method) + (setq gnus-command-method (gnus-server-to-method gnus-command-method))) + (when (and (not gnus-command-method) (stringp group)) - (setq method (gnus-group-name-to-method group))) + (setq gnus-command-method (gnus-group-name-to-method group))) (goto-char (point-max)) (unless (bolp) (insert "\n")) - (let ((func (car (or method (gnus-find-method-for-group group))))) + (let ((func (car (or gnus-command-method + (gnus-find-method-for-group group))))) (funcall (intern (format "%s-request-accept-article" func)) (if (stringp group) (gnus-group-real-name group) group) - (cadr method) + (cadr gnus-command-method) last))) (defun gnus-request-replace-article (article group buffer) @@ -382,53 +414,56 @@ If GROUP is nil, all groups on METHOD are scanned." article (gnus-group-real-name group) buffer))) (defun gnus-request-associate-buffer (group) - (let ((method (gnus-find-method-for-group group))) - (funcall (gnus-get-function method 'request-associate-buffer) + (let ((gnus-command-method (gnus-find-method-for-group group))) + (funcall (gnus-get-function gnus-command-method 'request-associate-buffer) (gnus-group-real-name group)))) (defun gnus-request-restore-buffer (article group) "Request a new buffer restored to the state of ARTICLE." - (let ((method (gnus-find-method-for-group group))) - (funcall (gnus-get-function method 'request-restore-buffer) - article (gnus-group-real-name group) (nth 1 method)))) + (let ((gnus-command-method (gnus-find-method-for-group group))) + (funcall (gnus-get-function gnus-command-method 'request-restore-buffer) + article (gnus-group-real-name group) + (nth 1 gnus-command-method)))) -(defun gnus-request-create-group (group &optional method args) - (when (stringp method) - (setq method (gnus-server-to-method method))) - (let ((method (or method (gnus-find-method-for-group group)))) - (funcall (gnus-get-function method 'request-create-group) - (gnus-group-real-name group) (nth 1 method) args))) +(defun gnus-request-create-group (group &optional gnus-command-method args) + (when (stringp gnus-command-method) + (setq gnus-command-method (gnus-server-to-method gnus-command-method))) + (let ((gnus-command-method + (or gnus-command-method (gnus-find-method-for-group group)))) + (funcall (gnus-get-function gnus-command-method 'request-create-group) + (gnus-group-real-name group) (nth 1 gnus-command-method) args))) (defun gnus-request-delete-group (group &optional force) - (let ((method (gnus-find-method-for-group group))) - (funcall (gnus-get-function method 'request-delete-group) - (gnus-group-real-name group) force (nth 1 method)))) + (let ((gnus-command-method (gnus-find-method-for-group group))) + (funcall (gnus-get-function gnus-command-method 'request-delete-group) + (gnus-group-real-name group) force (nth 1 gnus-command-method)))) (defun gnus-request-rename-group (group new-name) - (let ((method (gnus-find-method-for-group group))) - (funcall (gnus-get-function method 'request-rename-group) + (let ((gnus-command-method (gnus-find-method-for-group group))) + (funcall (gnus-get-function gnus-command-method 'request-rename-group) (gnus-group-real-name group) - (gnus-group-real-name new-name) (nth 1 method)))) + (gnus-group-real-name new-name) (nth 1 gnus-command-method)))) (defun gnus-close-backends () ;; Send a close request to all backends that support such a request. (let ((methods gnus-valid-select-methods) (gnus-inhibit-demon t) - func method) - (while (setq method (pop methods)) + func gnus-command-method) + (while (setq gnus-command-method (pop methods)) (when (fboundp (setq func (intern - (concat (car method) "-request-close")))) + (concat (car gnus-command-method) + "-request-close")))) (funcall func))))) -(defun gnus-asynchronous-p (method) - (let ((func (gnus-get-function method 'asynchronous-p t))) +(defun gnus-asynchronous-p (gnus-command-method) + (let ((func (gnus-get-function gnus-command-method 'asynchronous-p t))) (when (fboundp func) (funcall func)))) -(defun gnus-remove-denial (method) - (when (stringp method) - (setq method (gnus-server-to-method method))) - (let* ((elem (assoc method gnus-opened-servers)) +(defun gnus-remove-denial (gnus-command-method) + (when (stringp gnus-command-method) + (setq gnus-command-method (gnus-server-to-method gnus-command-method))) + (let* ((elem (assoc gnus-command-method gnus-opened-servers)) (status (cadr elem))) ;; If this hasn't been opened before, we add it to the list. (when (eq status 'denied) diff --git a/lisp/gnus-picon.el b/lisp/gnus-picon.el index 00bf6cb98..cf511bb43 100644 --- a/lisp/gnus-picon.el +++ b/lisp/gnus-picon.el @@ -130,7 +130,7 @@ Otherwise the cache will be cleared every time you exit Gnus." (defcustom gnus-picons-piconsearch-url nil "*The url to query for picons. Setting this to nil will disable it. -The only plublicly available address currently known is +The only publicly available address currently known is http://www.cs.indiana.edu:800/piconsearch. If you know of any other, please tell me so that we can list it." :type '(choice (const :tag "Disable" :value nil) diff --git a/lisp/gnus-salt.el b/lisp/gnus-salt.el index 1f680e294..955d20304 100644 --- a/lisp/gnus-salt.el +++ b/lisp/gnus-salt.el @@ -70,25 +70,24 @@ It accepts the same format specs that `gnus-summary-line-format' does." (unless gnus-pick-mode-map (setq gnus-pick-mode-map (make-sparse-keymap)) - (gnus-define-keys - gnus-pick-mode-map - "t" gnus-uu-mark-thread - "T" gnus-uu-unmark-thread - " " gnus-pick-next-page - "u" gnus-summary-unmark-as-processable - "U" gnus-summary-unmark-all-processable - "v" gnus-uu-mark-over - "r" gnus-uu-mark-region - "R" gnus-uu-unmark-region - "e" gnus-uu-mark-by-regexp - "E" gnus-uu-mark-by-regexp - "b" gnus-uu-mark-buffer - "B" gnus-uu-unmark-buffer - "." gnus-pick-article - gnus-down-mouse-2 gnus-pick-mouse-pick-region - ;;gnus-mouse-2 gnus-pick-mouse-pick - "X" gnus-pick-start-reading - "\r" gnus-pick-start-reading)) + (gnus-define-keys gnus-pick-mode-map + "t" gnus-uu-mark-thread + "T" gnus-uu-unmark-thread + " " gnus-pick-next-page + "u" gnus-summary-unmark-as-processable + "U" gnus-summary-unmark-all-processable + "v" gnus-uu-mark-over + "r" gnus-uu-mark-region + "R" gnus-uu-unmark-region + "e" gnus-uu-mark-by-regexp + "E" gnus-uu-mark-by-regexp + "b" gnus-uu-mark-buffer + "B" gnus-uu-unmark-buffer + "." gnus-pick-article + gnus-down-mouse-2 gnus-pick-mouse-pick-region + ;;gnus-mouse-2 gnus-pick-mouse-pick + "X" gnus-pick-start-reading + "\r" gnus-pick-start-reading)) (defun gnus-pick-make-menu-bar () (unless (boundp 'gnus-pick-menu) @@ -445,12 +444,8 @@ Two predefined functions are available: (defun gnus-tree-mode () "Major mode for displaying thread trees." (interactive) - (setq gnus-tree-mode-line-format-spec - (gnus-parse-format gnus-tree-mode-line-format - gnus-summary-mode-line-format-alist)) - (setq gnus-tree-line-format-spec - (gnus-parse-format gnus-tree-line-format - gnus-tree-line-format-alist t)) + (gnus-set-format 'tree-mode) + (gnus-set-format 'tree t) (when (gnus-visual-p 'tree-menu 'menu) (gnus-tree-make-menu-bar)) (kill-all-local-variables) diff --git a/lisp/gnus-spec.el b/lisp/gnus-spec.el index df440c97b..33333b41b 100644 --- a/lisp/gnus-spec.el +++ b/lisp/gnus-spec.el @@ -525,6 +525,14 @@ If PROPS, insert the result." (gnus-dribble-enter " ") (gnus-message 7 "Compiling user specs...done")))) +(defun gnus-set-format (type &optional insertable) + (set (intern (format "gnus-%s-line-format-spec" type)) + (gnus-parse-format + (symbol-value (intern (format "gnus-%s-line-format" type))) + (symbol-value (intern (format "gnus-%s-line-format-alist" type))) + insertable))) + + (provide 'gnus-spec) ;;; gnus-spec.el ends here diff --git a/lisp/gnus-srvr.el b/lisp/gnus-srvr.el index 05fb4ae18..d5122fec3 100644 --- a/lisp/gnus-srvr.el +++ b/lisp/gnus-srvr.el @@ -39,9 +39,16 @@ (defconst gnus-server-line-format " {%(%h:%w%)} %s\n" "Format of server lines. It works along the same lines as a normal formatting string, -with some simple extensions.") +with some simple extensions. -(defvar gnus-server-mode-line-format "Gnus List of servers" +The following specs are understood: + +%h backend +%n name +%w address +%s status") + +(defvar gnus-server-mode-line-format "Gnus: %%b" "The format specification for the server mode line.") (defvar gnus-server-exit-hook nil @@ -108,28 +115,27 @@ with some simple extensions.") (setq gnus-server-mode-map (make-sparse-keymap)) (suppress-keymap gnus-server-mode-map) - (gnus-define-keys - gnus-server-mode-map - " " gnus-server-read-server - "\r" gnus-server-read-server - gnus-mouse-2 gnus-server-pick-server - "q" gnus-server-exit - "l" gnus-server-list-servers - "k" gnus-server-kill-server - "y" gnus-server-yank-server - "c" gnus-server-copy-server - "a" gnus-server-add-server - "e" gnus-server-edit-server - "s" gnus-server-scan-server - - "O" gnus-server-open-server - "\M-o" gnus-server-open-all-servers - "C" gnus-server-close-server - "\M-c" gnus-server-close-all-servers - "D" gnus-server-deny-server - "R" gnus-server-remove-denials - - "g" gnus-server-regenerate-server + (gnus-define-keys gnus-server-mode-map + " " gnus-server-read-server + "\r" gnus-server-read-server + gnus-mouse-2 gnus-server-pick-server + "q" gnus-server-exit + "l" gnus-server-list-servers + "k" gnus-server-kill-server + "y" gnus-server-yank-server + "c" gnus-server-copy-server + "a" gnus-server-add-server + "e" gnus-server-edit-server + "s" gnus-server-scan-server + + "O" gnus-server-open-server + "\M-o" gnus-server-open-all-servers + "C" gnus-server-close-server + "\M-c" gnus-server-close-all-servers + "D" gnus-server-deny-server + "R" gnus-server-remove-denials + + "g" gnus-server-regenerate-server "\C-c\C-i" gnus-info-find-node "\C-c\C-b" gnus-bug)) @@ -195,12 +201,8 @@ The following commands are available: (gnus-carpal-setup-buffer 'server))))) (defun gnus-server-prepare () - (setq gnus-server-mode-line-format-spec - (gnus-parse-format gnus-server-mode-line-format - gnus-server-mode-line-format-alist)) - (setq gnus-server-line-format-spec - (gnus-parse-format gnus-server-line-format - gnus-server-line-format-alist t)) + (gnus-set-format 'server-mode) + (gnus-set-format 'server t) (let ((alist gnus-server-alist) (buffer-read-only nil) (opened gnus-opened-servers) @@ -638,7 +640,7 @@ buffer. (defun gnus-browse-read-group (&optional no-article) "Enter the group at the current line." (interactive) - (let ((group (gnus-group-real-name (gnus-browse-group-name)))) + (let ((group (gnus-browse-group-name))) (unless (gnus-group-read-ephemeral-group group gnus-browse-current-method nil (cons (current-buffer) 'browse)) diff --git a/lisp/gnus-start.el b/lisp/gnus-start.el index ad4a43737..44cac3ded 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -337,6 +337,12 @@ This hook is called after Gnus is connected to the NNTP server." :group 'gnus-start :type 'hook) +(defcustom gnus-before-startup-hook nil + "A hook called at before startup. +This hook is called as the first thing when Gnus is started." + :group 'gnus-start + :type 'hook) + (defcustom gnus-started-hook nil "A hook called as the last thing after startup." :group 'gnus-start @@ -642,6 +648,7 @@ prompt the user for the name of an NNTP server to use." (gnus-splash) (gnus-clear-system) + (run-hooks 'gnus-before-startup-hook) (nnheader-init-server-buffer) (setq gnus-slave slave) (gnus-read-init-file) @@ -1621,9 +1628,11 @@ newsgroup." 1.2 "Cannot read partial active file from %s server." (car method))) ((eq list-type 'active) - (gnus-active-to-gnus-format method gnus-active-hashtb)) + (gnus-active-to-gnus-format + method gnus-active-hashtb nil t)) (t - (gnus-groups-to-gnus-format method gnus-active-hashtb)))))) + (gnus-groups-to-gnus-format + method gnus-active-hashtb t)))))) ((null method) t) (t @@ -1632,7 +1641,7 @@ newsgroup." (gnus-error 1 "Cannot read active file from %s server" (car method))) (gnus-message 5 mesg) - (gnus-active-to-gnus-format method gnus-active-hashtb) + (gnus-active-to-gnus-format method gnus-active-hashtb nil t) ;; We mark this active file as read. (push method gnus-have-read-active-file) (gnus-message 5 "%sdone" mesg)))))) @@ -1647,7 +1656,8 @@ newsgroup." gnus-ignored-newsgroups)) ;; Read an active file and place the results in `gnus-active-hashtb'. -(defun gnus-active-to-gnus-format (&optional method hashtb ignore-errors) +(defun gnus-active-to-gnus-format (&optional method hashtb ignore-errors + real-active) (unless method (setq method gnus-select-method)) (let ((cur (current-buffer)) @@ -1676,6 +1686,10 @@ newsgroup." (while (re-search-backward "[][';?()#]" nil t) (insert ?\\)) + ;; Let the Gnus agent save the active file. + (when (and gnus-agent real-active) + (gnus-agent-save-active method)) + ;; If these are groups from a foreign select method, we insert the ;; group prefix in front of the group names. (when (not (gnus-server-equal @@ -1724,7 +1738,7 @@ newsgroup." (widen) (forward-line 1))))) -(defun gnus-groups-to-gnus-format (method &optional hashtb) +(defun gnus-groups-to-gnus-format (method &optional hashtb real-active) ;; Parse a "groups" active file. (let ((cur (current-buffer)) (hashtb (or hashtb @@ -1739,6 +1753,10 @@ newsgroup." (gnus-server-get-method nil gnus-select-method))) (gnus-group-prefixed-name "" method)))) + ;; Let the Gnus agent save the active file. + (when (and gnus-agent real-active) + (gnus-agent-save-groups method)) + (goto-char (point-min)) ;; We split this into to separate loops, one with the prefix ;; and one without to speed the reading up somewhat. diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 1ed79489c..aaafbd294 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -413,6 +413,16 @@ It uses the same syntax as the `gnus-split-methods' variable." :group 'gnus-summary-marks :type 'character) +(defcustom gnus-undownloaded-mark ?@ + "*Mark used for articles that weren't downloaded." + :group 'gnus-summary-marks + :type 'character) + +(defcustom gnus-downloadable-mark ?% + "*Mark used for articles that are to be downloaded." + :group 'gnus-summary-marks + :type 'character) + (defcustom gnus-score-over-mark ?+ "*Score mark used for articles with high scores." :group 'gnus-summary-marks @@ -870,6 +880,12 @@ variable (string, integer, character, etc).") (defvar gnus-newsgroup-processable nil "List of articles in the current newsgroup that can be processed.") +(defvar gnus-newsgroup-downloadable nil + "List of articles in the current newsgroup that can be processed.") + +(defvar gnus-newsgroup-undownloaded nil + "List of articles in the current newsgroup that haven't been downloaded..") + (defvar gnus-newsgroup-bookmarks nil "List of articles in the current newsgroup that have bookmarks.") @@ -909,6 +925,7 @@ variable (string, integer, character, etc).") gnus-newsgroup-reads gnus-newsgroup-saved gnus-newsgroup-replied gnus-newsgroup-expirable gnus-newsgroup-processable gnus-newsgroup-killed + gnus-newsgroup-downloadable gnus-newsgroup-undownloaded gnus-newsgroup-bookmarks gnus-newsgroup-dormant gnus-newsgroup-headers gnus-newsgroup-threads gnus-newsgroup-prepared gnus-summary-highlight-line-function @@ -2153,6 +2170,8 @@ This is all marks except unread, ticked, dormant, and expirable." (defmacro gnus-article-mark (number) `(cond + ((memq ,number gnus-newsgroup-undownloaded) gnus-undownloaded-mark) + ((memq ,number gnus-newsgroup-downloadable) gnus-downloadable-mark) ((memq ,number gnus-newsgroup-unreads) gnus-unread-mark) ((memq ,number gnus-newsgroup-marked) gnus-ticked-mark) ((memq ,number gnus-newsgroup-dormant) gnus-dormant-mark) @@ -2316,11 +2335,13 @@ This is all marks except unread, ticked, dormant, and expirable." (let ((gnus-replied-mark 129) (gnus-score-below-mark 130) (gnus-score-over-mark 130) + (gnus-download-mark 131) (spec gnus-summary-line-format-spec) thread gnus-visual pos) (save-excursion (gnus-set-work-buffer) - (let ((gnus-summary-line-format-spec spec)) + (let ((gnus-summary-line-format-spec spec) + (gnus-newsgroup-downloadable '((0 . t)))) (gnus-summary-insert-line [0 "" "" "" "" "" 0 0 ""] 0 nil 128 t nil "" nil 1) (goto-char (point-min)) @@ -2332,6 +2353,10 @@ This is all marks except unread, ticked, dormant, and expirable." pos) (goto-char (point-min)) (push (cons 'score (and (search-forward "\202" nil t) (- (point) 2))) + pos) + (goto-char (point-min)) + (push (cons 'download + (and (search-forward "\203" nil t) (- (point) 2))) pos))) (setq gnus-summary-mark-positions pos)))) @@ -3704,6 +3729,9 @@ If READ-ALL is non-nil, all articles in the group are selected." ;; Removed marked articles that do not exist. (gnus-update-missing-marks (gnus-sorted-complement fetched-articles articles)) + ;; Let the Gnus agent mark articles as read. + (when gnus-agent + (gnus-agent-get-undownloaded-list)) ;; We might want to build some more threads first. (and gnus-fetch-old-headers (eq gnus-headers-retrieved-by 'nov) @@ -4048,64 +4076,65 @@ The resulting hash table is returned, or nil if no Xrefs were found." (info (nth 2 entry)) (active (gnus-active group)) range) - ;; First peel off all illegal article numbers. - (when active - (let ((ids articles) - id first) - (while (setq id (pop ids)) - (when (and first (> id (cdr active))) - ;; We'll end up in this situation in one particular - ;; obscure situation. If you re-scan a group and get - ;; a new article that is cross-posted to a different - ;; group that has not been re-scanned, you might get - ;; crossposted article that has a higher number than - ;; Gnus believes possible. So we re-activate this - ;; group as well. This might mean doing the - ;; crossposting thingy will *increase* the number - ;; of articles in some groups. Tsk, tsk. - (setq active (or (gnus-activate-group group) active))) - (when (or (> id (cdr active)) - (< id (car active))) - (setq articles (delq id articles)))))) - (save-excursion - (set-buffer gnus-group-buffer) - (gnus-undo-register - `(progn - (gnus-info-set-marks ',info ',(gnus-info-marks info) t) - (gnus-info-set-read ',info ',(gnus-info-read info)) - (gnus-get-unread-articles-in-group ',info (gnus-active ,group)) - (gnus-group-update-group ,group t)))) - ;; If the read list is nil, we init it. - (and active - (null (gnus-info-read info)) - (> (car active) 1) - (gnus-info-set-read info (cons 1 (1- (car active))))) - ;; Then we add the read articles to the range. - (gnus-info-set-read - info - (setq range - (gnus-add-to-range - (gnus-info-read info) (setq articles (sort articles '<))))) - ;; Then we have to re-compute how many unread - ;; articles there are in this group. - (when active - (cond - ((not range) - (setq num (- (1+ (cdr active)) (car active)))) - ((not (listp (cdr range))) - (setq num (- (cdr active) (- (1+ (cdr range)) - (car range))))) - (t - (while range - (if (numberp (car range)) - (setq num (1+ num)) - (setq num (+ num (- (1+ (cdar range)) (caar range))))) - (setq range (cdr range))) - (setq num (- (cdr active) num)))) - ;; Update the number of unread articles. - (setcar entry num) - ;; Update the group buffer. - (gnus-group-update-group group t)))) + (when entry + ;; First peel off all illegal article numbers. + (when active + (let ((ids articles) + id first) + (while (setq id (pop ids)) + (when (and first (> id (cdr active))) + ;; We'll end up in this situation in one particular + ;; obscure situation. If you re-scan a group and get + ;; a new article that is cross-posted to a different + ;; group that has not been re-scanned, you might get + ;; crossposted article that has a higher number than + ;; Gnus believes possible. So we re-activate this + ;; group as well. This might mean doing the + ;; crossposting thingy will *increase* the number + ;; of articles in some groups. Tsk, tsk. + (setq active (or (gnus-activate-group group) active))) + (when (or (> id (cdr active)) + (< id (car active))) + (setq articles (delq id articles)))))) + (save-excursion + (set-buffer gnus-group-buffer) + (gnus-undo-register + `(progn + (gnus-info-set-marks ',info ',(gnus-info-marks info) t) + (gnus-info-set-read ',info ',(gnus-info-read info)) + (gnus-get-unread-articles-in-group ',info (gnus-active ,group)) + (gnus-group-update-group ,group t)))) + ;; If the read list is nil, we init it. + (and active + (null (gnus-info-read info)) + (> (car active) 1) + (gnus-info-set-read info (cons 1 (1- (car active))))) + ;; Then we add the read articles to the range. + (gnus-info-set-read + info + (setq range + (gnus-add-to-range + (gnus-info-read info) (setq articles (sort articles '<))))) + ;; Then we have to re-compute how many unread + ;; articles there are in this group. + (when active + (cond + ((not range) + (setq num (- (1+ (cdr active)) (car active)))) + ((not (listp (cdr range))) + (setq num (- (cdr active) (- (1+ (cdr range)) + (car range))))) + (t + (while range + (if (numberp (car range)) + (setq num (1+ num)) + (setq num (+ num (- (1+ (cdar range)) (caar range))))) + (setq range (cdr range))) + (setq num (- (cdr active) num)))) + ;; Update the number of unread articles. + (setcar entry num) + ;; Update the group buffer. + (gnus-group-update-group group t))))) (defun gnus-methods-equal-p (m1 m2) (let ((m1 (or m1 gnus-select-method)) @@ -4745,7 +4774,7 @@ displayed, no centering will be performed." (push first unread) (setq first (1+ first))) ;; Return the list of unread articles. - (nreverse unread))) + (delq 0 (nreverse unread)))) (defun gnus-list-of-read-articles (group) "Return a list of unread, unticked and non-dormant articles." @@ -7257,8 +7286,8 @@ number of articles marked is returned." (defun gnus-summary-unmark-as-processable (n) "Remove the process mark from the next N articles. -If N is negative, mark backward instead. The difference between N and -the actual number of articles marked is returned." +If N is negative, unmark backward instead. The difference between N and +the actual number of articles unmarked is returned." (interactive "p") (gnus-set-global-variables) (gnus-summary-mark-as-processable n t)) diff --git a/lisp/gnus-topic.el b/lisp/gnus-topic.el index 413a43f53..b802979c3 100644 --- a/lisp/gnus-topic.el +++ b/lisp/gnus-topic.el @@ -181,10 +181,10 @@ with some simple extensions. (beginning-of-line) (get-text-property (point) 'gnus-active))) -(defun gnus-topic-find-groups (topic &optional level all) +(defun gnus-topic-find-groups (topic &optional level all lowest) "Return entries for all visible groups in TOPIC." (let ((groups (cdr (assoc topic gnus-topic-alist))) - info clevel unread group lowest params visible-groups entry active) + info clevel unread group params visible-groups entry active) (setq lowest (or lowest 1)) (setq level (or level 7)) ;; We go through the newsrc to look for matches. @@ -371,7 +371,8 @@ If LOWEST is non-nil, list all newsgroups of level LOWEST or higher." (erase-buffer)) ;; List dead groups? - (when (and (>= level gnus-level-zombie) (<= lowest gnus-level-zombie)) + (when (and (>= level gnus-level-zombie) + (<= lowest gnus-level-zombie)) (gnus-group-prepare-flat-list-dead (setq gnus-zombie-list (sort gnus-zombie-list 'string<)) gnus-level-zombie ?Z @@ -389,20 +390,23 @@ If LOWEST is non-nil, list all newsgroups of level LOWEST or higher." (if list-topic (let ((top (gnus-topic-find-topology list-topic))) (gnus-topic-prepare-topic (cdr top) (car top) - (or topic-level level) all)) + (or topic-level level) all + nil lowest)) (gnus-topic-prepare-topic gnus-topic-topology 0 - (or topic-level level) all))) + (or topic-level level) all + nil lowest))) (gnus-group-set-mode-line) (setq gnus-group-list-mode (cons level all)) (run-hooks 'gnus-group-prepare-hook)))) -(defun gnus-topic-prepare-topic (topicl level &optional list-level all silent) +(defun gnus-topic-prepare-topic (topicl level &optional list-level all silent + lowest) "Insert TOPIC into the group buffer. If SILENT, don't insert anything. Return the number of unread articles in the topic and its subtopics." (let* ((type (pop topicl)) - (entries (gnus-topic-find-groups (car type) list-level all)) + (entries (gnus-topic-find-groups (car type) list-level all lowest)) (visiblep (and (eq (nth 1 type) 'visible) (not silent))) (gnus-group-indentation (make-string (* gnus-topic-indent-level level) ? )) @@ -418,7 +422,7 @@ articles in the topic and its subtopics." (incf unread (gnus-topic-prepare-topic (pop topicl) (1+ level) list-level all - (not visiblep)))) + (not visiblep) lowest))) (setq end (point)) (goto-char beg) ;; Insert all the groups that belong in this topic. @@ -943,13 +947,11 @@ articles in the topic and its subtopics." (if (null arg) (not gnus-topic-mode) (> (prefix-numeric-value arg) 0))) ;; Infest Gnus with topics. - (if (not gnus-topic-mode) - (setq gnus-goto-missing-group-function nil) + (if (not gnus-topic-mode) + (setq gnus-goto-missing-group-function nil) (when (gnus-visual-p 'topic-menu 'menu) (gnus-topic-make-menu-bar)) - (setq gnus-topic-line-format-spec - (gnus-parse-format gnus-topic-line-format - gnus-topic-line-format-alist t)) + (gnus-set-format 'topic t) (gnus-add-minor-mode 'gnus-topic-mode " Topic" gnus-topic-mode-map) (add-hook 'gnus-summary-exit-hook 'gnus-topic-update-topic) (add-hook 'gnus-group-catchup-group-hook 'gnus-topic-update-topic) diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index 3d75515df..6ce52ae95 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -381,7 +381,7 @@ Cache the result as a text property stored in DATE." (defun gnus-date-iso8601 (header) "Convert the date field in HEADER to YYMMDDTHHMMSS" (condition-case () - (gnus-time-iso8601 (gnus-date-get-time (mail-header-date header))) + (gnus-time-iso8601 (gnus-date-get-time header)) (error ""))) (defun gnus-mode-string-quote (string) diff --git a/lisp/gnus-win.el b/lisp/gnus-win.el index 59a80e984..87d7bb15b 100644 --- a/lisp/gnus-win.el +++ b/lisp/gnus-win.el @@ -157,6 +157,9 @@ (vertical 1.0 (summary 0.5 point) ("*Score Words*" 1.0))) + (category + (vertical 1.0 + (category 1.0))) (compose-bounce (vertical 1.0 (article 0.5) @@ -186,6 +189,7 @@ See the Gnus manual for an explanation of the syntax used.") (tree . gnus-tree-buffer) (score-trace . "*Score Trace*") (info . gnus-info-buffer) + (category . gnus-category-buffer) (article-copy . gnus-article-copy) (draft . gnus-draft-buffer)) "Mapping from short symbols to buffer names or buffer variables.") diff --git a/lisp/gnus-xmas.el b/lisp/gnus-xmas.el index 11a992f32..6d7011091 100644 --- a/lisp/gnus-xmas.el +++ b/lisp/gnus-xmas.el @@ -56,7 +56,7 @@ automatically." (september "#bf9900" "#ffcc00")) "Color alist used for the Gnus logo.") -(defcustom gnus-xmas-logo-color-style 'flame +(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) diff --git a/lisp/gnus.el b/lisp/gnus.el index 5c8244cff..d0905fa59 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -203,6 +203,10 @@ :group 'gnus :group 'faces) +(defgroup gnus-agent nil + "Offline support for Gnus." + :group 'gnus) + (defgroup gnus-files nil "Files used by Gnus." :group 'gnus) @@ -240,10 +244,10 @@ is restarted, and sometimes reloaded." :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) -(defconst gnus-version-number "5.4.67" +(defconst gnus-version-number "0.1" "Version number for this version of Gnus.") -(defconst gnus-version (format "Gnus v%s" gnus-version-number) +(defconst gnus-version (format "Quassia Gnus v%s" gnus-version-number) "Version string for this version of Gnus.") (defcustom gnus-inhibit-startup-message nil @@ -636,10 +640,10 @@ be set in `.emacs' instead." (defface gnus-splash-face '((((class color) (background dark)) - (:foreground "red")) + (:foreground "green")) (((class color) (background light)) - (:foreground "red")) + (:foreground "green")) (t ())) "Level 1 newsgroup face.") @@ -1155,7 +1159,8 @@ slower." ("nndraft" post-mail) ("nnfolder" mail respool address) ("nngateway" none address prompt-address physical-address) - ("nnweb" none)) + ("nnweb" none) + ("nnagent" post-mail)) "An alist of valid select methods. The first element of each list lists should be a string with the name of the select method. The other elements may be the category of @@ -1397,6 +1402,12 @@ want." (defvar gnus-original-article-buffer " *Original Article*") (defvar gnus-newsgroup-name nil) +(defvar gnus-agent nil + "Whether we want to use the Gnus agent or not.") + +(defvar gnus-command-method nil + "Dynamically bound variable that says what the current backend is.") + (defvar gnus-current-select-method nil "The current method for selecting a newsgroup.") @@ -1434,7 +1445,7 @@ want." (expirable . expire) (killed . killed) (bookmarks . bookmark) (dormant . dormant) (scored . score) (saved . save) - (cached . cache))) + (cached . cache) (downloadable . download))) (defvar gnus-headers-retrieved-by nil) (defvar gnus-article-reply nil) @@ -1576,7 +1587,8 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") gnus-tree-open gnus-tree-close gnus-carpal-setup-buffer) ("gnus-nocem" gnus-nocem-scan-groups gnus-nocem-close gnus-nocem-unwanted-article-p) - ("gnus-srvr" gnus-enter-server-buffer gnus-server-set-info) + ("gnus-srvr" gnus-enter-server-buffer gnus-server-set-info + gnus-server-server-name) ("gnus-srvr" gnus-browse-foreign-server) ("gnus-cite" :interactive t gnus-article-highlight-citation gnus-article-hide-citation-maybe @@ -1683,6 +1695,10 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.") ("gnus-async" gnus-async-request-fetched-article gnus-async-prefetch-next gnus-async-prefetch-article gnus-async-prefetch-remove-group gnus-async-halt-prefetch) + ("gnus-agent" gnus-open-agent gnus-agent-get-function + gnus-agent-save-groups gnus-agent-save-active) + ("gnus-agent" :interactive t + gnus-unplugged) ("gnus-vm" :interactive t gnus-summary-save-in-vm gnus-summary-save-article-vm)))) @@ -1725,6 +1741,7 @@ with some simple extensions. %l GroupLens score (string). %V Total thread score (number). %P The line number (number). +%O Download mark (character). %u User defined specifier. The next character in the format string should be a letter. Gnus will call the function gnus-user-format-function-X, where X is the letter following %u. The function will be passed the @@ -2246,6 +2263,15 @@ You should probably use `gnus-find-method-for-group' instead." (setq methods (cdr methods))) methods)) +(defun gnus-groups-from-server (server) + "Return a list of all groups that are fetched from SERVER." + (let ((alist (cdr gnus-newsrc-alist)) + info groups) + (while (setq info (pop alist)) + (when (gnus-server-equal (gnus-info-method info) server) + (push (gnus-info-group info) groups))) + (sort groups 'string<))) + (defun gnus-group-foreign-p (group) "Say whether a group is foreign or not." (and (not (gnus-group-native-p group)) diff --git a/lisp/nnagent.el b/lisp/nnagent.el new file mode 100644 index 000000000..b5d967fc5 --- /dev/null +++ b/lisp/nnagent.el @@ -0,0 +1,116 @@ +;;; nnagent.el --- offline backend for Gnus +;; Copyright (C) 1997 Free Software Foundation, Inc. + +;; Author: Lars Magne Ingebrigtsen +;; Keywords: news, mail + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;;; Code: + +(require 'nnheader) +(require 'nnoo) +(require 'cl) +(require 'gnus-agent) +(require 'nnml) + +(nnoo-declare nnagent + nnml) + + + +(defconst nnagent-version "nnagent 1.0") + +(defvoo nnagent-directory nil + "Internal variable." + nnml-directory) + +(defvoo nnagent-active-file nil + "Internal variable." + nnml-active-file) + +(defvoo nnagent-newsgroups-file nil + "Internal variable." + nnml-newsgroups-file) + +(defvoo nnagent-get-new-mail nil + "Internal variable." + nnml-get-new-mail) + +;;; Interface functions. + +(nnoo-define-basics nnagent) + +(deffoo nnagent-open-server (server &optional defs) + (setq defs + `((nnagent-directory ,(gnus-agent-directory)) + (nnagent-active-file ,(gnus-agent-lib-file "active")) + (nnagent-newsgroups-file ,(gnus-agent-lib-file "newsgroups")) + (nnagent-get-new-mail nil))) + (nnoo-change-server 'nnagent server defs) + (let ((dir (gnus-agent-directory)) + err) + (cond + ((not (condition-case arg + (file-exists-p dir) + (ftp-error (setq err (format "%s" arg))))) + (nnagent-close-server) + (nnheader-report + 'nnagent (or err "No such file or directory: %s" dir))) + ((not (file-directory-p (file-truename dir))) + (nnagent-close-server) + (nnheader-report 'nnagent "Not a directory: %s" dir)) + (t + (nnheader-report 'nnagent "Opened server %s using directory %s" + server dir) + t)))) + +(deffoo nnagent-retrieve-groups (groups &optional server) + (save-excursion + (cond + ((file-exists-p (gnus-agent-lib-file "groups")) + (nnmail-find-file (gnus-agent-lib-file "groups")) + 'groups) + ((file-exists-p (gnus-agent-lib-file "active")) + (nnmail-find-file (gnus-agent-lib-file "active")) + 'active) + (t nil)))) + +(defun nnagent-request-type (group article) + (let ((gnus-plugged t)) + (if (not (gnus-check-backend-function + 'request-type (car gnus-command-method))) + 'unknown + (funcall (gnus-get-function gnus-command-method 'request-type) + (gnus-group-real-name group) article)))) + +(deffoo nnagent-request-newgroups (date server) + nil) + +;; Use nnml functions for just about everything. +(nnoo-import nnagent + (nnml)) + + +;;; Internal functions. + +(provide 'nnagent) + +;;; nnagent.el ends here diff --git a/lisp/nnheader.el b/lisp/nnheader.el index 448fb8252..5853aef32 100644 --- a/lisp/nnheader.el +++ b/lisp/nnheader.el @@ -341,7 +341,10 @@ the line could be found." (eobp)) (setq found t) (setq prev (point)) - (cond ((> (setq num (read cur)) article) + (while (and (not (numberp (setq num (read cur)))) + (not (eobp))) + (gnus-delete-line)) + (cond ((> num article) (setq max (point))) ((< num article) (setq min (point))) diff --git a/lisp/nnkiboze.el b/lisp/nnkiboze.el index 971d74a8f..2d8de2e7f 100644 --- a/lisp/nnkiboze.el +++ b/lisp/nnkiboze.el @@ -283,7 +283,8 @@ Finds out what articles are to be part of the nnkiboze groups." (car ginfo))) 0)) (progn - (gnus-group-select-group nil) + (ignore-errors + (gnus-group-select-group nil)) (eq major-mode 'gnus-summary-mode))) ;; We are now in the group where we want to be. (setq method (gnus-find-method-for-group diff --git a/lisp/nnml.el b/lisp/nnml.el index 3cfd12bb3..7a0773e60 100644 --- a/lisp/nnml.el +++ b/lisp/nnml.el @@ -264,10 +264,10 @@ all. This may very well take some time.") (deffoo nnml-request-expire-articles (articles group &optional server force) (nnml-possibly-change-directory group server) - (let* ((active-articles - (nnheader-directory-articles nnml-current-directory)) - (is-old t) - article rest mod-time number) + (let ((active-articles + (nnheader-directory-articles nnml-current-directory)) + (is-old t) + article rest mod-time number) (nnmail-activate 'nnml) (while (and articles is-old) diff --git a/lisp/nnoo.el b/lisp/nnoo.el index d2f271f5c..251fdc99e 100644 --- a/lisp/nnoo.el +++ b/lisp/nnoo.el @@ -96,14 +96,14 @@ (pop functions))))) (defun nnoo-parent-function (backend function args) - (let* ((pbackend (nnoo-backend function))) + (let ((pbackend (nnoo-backend function))) (nnoo-change-server pbackend (nnoo-current-server backend) (cdr (assq pbackend (nnoo-parents backend)))) (apply function args))) (defun nnoo-execute (backend function &rest args) "Execute FUNCTION on behalf of BACKEND." - (let* ((pbackend (nnoo-backend function))) + (let ((pbackend (nnoo-backend function))) (nnoo-change-server pbackend (nnoo-current-server backend) (cdr (assq pbackend (nnoo-parents backend)))) (apply function args))) diff --git a/lisp/nntp.el b/lisp/nntp.el index 0cca4cc32..6be9b150d 100644 --- a/lisp/nntp.el +++ b/lisp/nntp.el @@ -1,5 +1,5 @@ ;;; nntp.el --- nntp access for Gnus -;;; Copyright (C) 1987,88,89,90,92,93,94,95,96,97 Free Software Foundation, Inc. +;;; Copyright (C) 1987-90,92-97 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -339,6 +339,20 @@ server there that you can connect to. See also `nntp-open-connection-function'" (nnoo-define-basics nntp) +(defsubst nntp-next-result-arrived-p () + (let ((point (point))) + (cond + ((eq (following-char) ?2) + (if (re-search-forward "\n\\.\r?\n" nil t) + t + (goto-char point) + nil)) + ((looking-at "[34]") + (forward-line 1) + t) + (t + nil)))) + (deffoo nntp-retrieve-headers (articles &optional group server fetch-old) "Retrieve the headers of ARTICLES." (nntp-possibly-change-group group server) @@ -358,48 +372,37 @@ server there that you can connect to. See also `nntp-open-connection-function'" (last-point (point-min)) (buf (nntp-find-connection-buffer nntp-server-buffer)) (nntp-inhibit-erase t)) - ;; Send HEAD command. - (while articles - (nntp-send-command - nil - "HEAD" (if (numberp (car articles)) - (int-to-string (car articles)) - ;; `articles' is either a list of article numbers - ;; or a list of article IDs. - (car articles))) - (setq articles (cdr articles) - count (1+ count)) - ;; Every 400 header requests we have to read the stream in - ;; order to avoid deadlocks. - (when (or (null articles) ;All requests have been sent. - (zerop (% count nntp-maximum-request))) - (nntp-accept-response) - (while (progn - (progn - (set-buffer buf) - (goto-char last-point)) - ;; Count replies. - (while (re-search-forward "^[0-9]" nil t) - (incf received)) - (setq last-point (point)) - (< received count)) - ;; If number of headers is greater than 100, give - ;; informative messages. - (and (numberp nntp-large-newsgroup) - (> number nntp-large-newsgroup) - (zerop (% received 20)) - (nnheader-message 6 "NNTP: Receiving headers... %d%%" - (/ (* received 100) number))) - (nntp-accept-response)))) - ;; Wait for text of last command. - (goto-char (point-max)) - (re-search-backward "^[0-9]" nil t) - (when (looking-at "^[23]") + ;; Send HEAD commands. + (while (setq article (pop articles)) + (nntp-send-command + nil + "HEAD" (if (numberp article) + (int-to-string article) + ;; `articles' is either a list of article numbers + ;; or a list of article IDs. + article)) + (incf count) + ;; Every 400 requests we have to read the stream in + ;; order to avoid deadlocks. + (when (or (null articles) ;All requests have been sent. + (zerop (% count nntp-maximum-request))) + (nntp-accept-response) (while (progn - (goto-char (point-max)) - (forward-line -1) - (not (looking-at "^\\.\r?\n"))) - (nntp-accept-response))) + (set-buffer buf) + (goto-char last-point) + ;; Count replies. + (while (nntp-next-result-arrived-p) + (setq last-point (point)) + (incf received)) + (< received count)) + ;; If number of headers is greater than 100, give + ;; informative messages. + (and (numberp nntp-large-newsgroup) + (> number nntp-large-newsgroup) + (zerop (% received 20)) + (nnheader-message 6 "NNTP: Receiving headers... %d%%" + (/ (* received 100) number))) + (nntp-accept-response)))) (and (numberp nntp-large-newsgroup) (> number nntp-large-newsgroup) (nnheader-message 6 "NNTP: Receiving headers...done")) @@ -487,7 +490,7 @@ server there that you can connect to. See also `nntp-open-connection-function'" article alist) (set-buffer buf) (erase-buffer) - ;; Send HEAD command. + ;; Send ARTICLE command. (while (setq article (pop articles)) (nntp-send-command nil @@ -503,14 +506,13 @@ server there that you can connect to. See also `nntp-open-connection-function'" (zerop (% count nntp-maximum-request))) (nntp-accept-response) (while (progn - (progn - (set-buffer buf) - (goto-char last-point)) + (set-buffer buf) + (goto-char last-point) ;; Count replies. (while (nntp-next-result-arrived-p) (aset map received (cons (aref map received) (point))) + (setq last-point (point)) (incf received)) - (setq last-point (point)) (< received count)) ;; If number of headers is greater than 100, give ;; informative messages. @@ -522,12 +524,13 @@ server there that you can connect to. See also `nntp-open-connection-function'" (nntp-accept-response)))) (and (numberp nntp-large-newsgroup) (> number nntp-large-newsgroup) - (nnheader-message 6 "NNTP: Receiving headers...done")) - + (nnheader-message 6 "NNTP: Receiving articles...done")) + ;; Now we have all the responses. We go through the results, ;; washes it and copies it over to the server buffer. (set-buffer nntp-server-buffer) (erase-buffer) + (setq last-point (point-min)) (mapcar (lambda (entry) (narrow-to-region @@ -535,25 +538,12 @@ server there that you can connect to. See also `nntp-open-connection-function'" (progn (insert-buffer-substring buf last-point (cdr entry)) (point-max))) + (setq last-point (cdr entry)) (nntp-decode-text) (widen) (cons (car entry) point)) map)))) -(defun nntp-next-result-arrived-p () - (let ((point (point))) - (cond - ((looking-at "2") - (if (re-search-forward "\n.\r?\n" nil t) - t - (goto-char point) - nil)) - ((looking-at "[34]") - (forward-line 1) - t) - (t - nil)))) - (defun nntp-try-list-active (group) (nntp-list-active-group group) (save-excursion @@ -634,7 +624,8 @@ server there that you can connect to. See also `nntp-open-connection-function'" (while (setq process (car (pop nntp-connection-alist))) (when (memq (process-status process) '(open run)) (set-process-sentinel process nil) - (nntp-send-string process "QUIT")) + (ignore-errors + (nntp-send-string process "QUIT"))) (when (buffer-name (process-buffer process)) (kill-buffer (process-buffer process)))) (nnoo-close-server 'nntp))) diff --git a/lisp/nnvirtual.el b/lisp/nnvirtual.el index aece7417c..8682d2686 100644 --- a/lisp/nnvirtual.el +++ b/lisp/nnvirtual.el @@ -560,27 +560,28 @@ If UPDATE-P is not nil, call gnus-group-update-group on the components." (defun nnvirtual-reverse-map-article (group article) "Return the virtual article number corresponding to the given component GROUP and ARTICLE." - (let ((table nnvirtual-mapping-table) - (group-pos 0) - entry) - (while (not (string= group (car (aref nnvirtual-mapping-offsets + (when (numberp article) + (let ((table nnvirtual-mapping-table) + (group-pos 0) + entry) + (while (not (string= group (car (aref nnvirtual-mapping-offsets + group-pos)))) + (setq group-pos (1+ group-pos))) + (setq article (- article (cdr (aref nnvirtual-mapping-offsets group-pos)))) - (setq group-pos (1+ group-pos))) - (setq article (- article (cdr (aref nnvirtual-mapping-offsets - group-pos)))) - (while (and table - (> article (aref (car table) 0))) - (setq table (cdr table))) - (setq entry (car table)) - (when (and entry - (> article 0) - (< group-pos (aref entry 2))) ; article not out of range below - (+ (aref entry 4) - group-pos - (* (- article (aref entry 1)) - (aref entry 2)) - 1)) - )) + (while (and table + (> article (aref (car table) 0))) + (setq table (cdr table))) + (setq entry (car table)) + (when (and entry + (> article 0) + (< group-pos (aref entry 2))) ; article not out of range below + (+ (aref entry 4) + group-pos + (* (- article (aref entry 1)) + (aref entry 2)) + 1)) + ))) (defsubst nnvirtual-reverse-map-sequence (group articles) diff --git a/texi/gnus.texi b/texi/gnus.texi index 8264e714e..793a45b28 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Gnus 5.4.67 Manual +@settitle Quassia Gnus 0.1 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -309,7 +309,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Gnus 5.4.67 Manual +@title Quassia Gnus 0.1 Manual @author by Lars Magne Ingebrigtsen @page @@ -345,7 +345,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local spool or your mbox file. All at the same time, if you want to push your luck. -This manual corresponds to Gnus 5.4.67. +This manual corresponds to Quassia Gnus 0.1. @end ifinfo @@ -984,13 +984,17 @@ A hook run while Gnus is being loaded. Note that this hook will normally be run just once in each Emacs session, no matter how many times you start Gnus. +@item gnus-before-startup-hook +@vindex gnus-before-startup-hook +A hook run after starting up Gnus successfully. + @item gnus-startup-hook @vindex gnus-startup-hook -A hook run after starting up Gnus successfully. +A hook run as the very last thing after starting up Gnus @item gnus-started-hook @vindex gnus-started-hook -A hook run as the very last thing after starting up Gnus +A hook that is run as the very last thing after starting up Gnus successfully. @item gnus-check-bogus-newsgroups @@ -1629,7 +1633,7 @@ Two closely related variables are @code{gnus-level-default-subscribed} (default 3) and @code{gnus-level-default-unsubscribed} (default 6), which are the levels that new groups will be put on if they are (un)subscribed. These two variables should, of course, be inside the -relevant legal ranges. +relevant valid ranges. @vindex gnus-keep-same-level If @code{gnus-keep-same-level} is non-@code{nil}, some movement commands @@ -1776,7 +1780,7 @@ to subscribe to @sc{nntp} groups, @pxref{Browse Foreign Server}. @findex gnus-group-rename-group @cindex renaming groups Rename the current group to something else -(@code{gnus-group-rename-group}). This is legal only on some +(@code{gnus-group-rename-group}). This is valid only on some groups---mail groups mostly. This command might very well be quite slow on some backends. @@ -1871,7 +1875,7 @@ this command without a prefix, Gnus will guess at the file type. Make an ephemeral group based on a web search (@code{gnus-group-make-web-group}). If you give a prefix to this command, make a solid group instead. You will be prompted for the -search engine type and the search string. Legal search engine types +search engine type and the search string. Valid search engine types include @code{dejanews}, @code{altavista} and @code{reference}. @xref{Web Searches}. @@ -2004,14 +2008,14 @@ the symbols @code{never} or @code{immediate}. @item score-file @cindex score file group parameter Elements that look like @code{(score-file . "file")} will make -@file{file} into the current score file for the group in question. This -means that all score commands you issue will end up in that file. +@file{file} into the current adaptive score file for the group in +question. All adaptive score entries will be put into this file. @item adapt-file @cindex adapt file group parameter Elements that look like @code{(adapt-file . "file")} will make -@file{file} into the current adaptive score file for the group in -question. All adaptive score entries will be put into this file. +@file{file} into the current adaptive file for the group in question. +All adaptive score entries will be put into this file. @item admin-address When unsubscribing from a mailing list you should never send the @@ -2021,7 +2025,7 @@ put the admin address somewhere convenient. @item display Elements that look like @code{(display . MODE)} say which articles to -display on entering the group. Legal values are: +display on entering the group. Valid values are: @table @code @item all @@ -2524,7 +2528,7 @@ really neat, I think. @vindex gnus-topic-line-format The topic lines themselves are created according to the @code{gnus-topic-line-format} variable (@pxref{Formatting Variables}). -Legal elements are: +Valid elements are: @table @samp @item i @@ -2781,7 +2785,7 @@ allowed---@code{visible} and @code{invisible}. @cindex topic parameters All groups in a topic will inherit group parameters from the parent (and -ancestor) topic parameters. All legal group parameters are legal topic +ancestor) topic parameters. All valid group parameters are valid topic parameters (@pxref{Group Parameters}). Group parameters (of course) override topic parameters, and topic @@ -3233,6 +3237,8 @@ An @samp{=} (@code{gnus-not-empty-thread-mark}) will be displayed if the article has any children. @item P The line number. +@item O +Download mark. @item u User defined specifier. The next character in the format string should be a letter. Gnus will call the function @@ -3245,7 +3251,7 @@ into the summary just like information from any other summary specifier. The @samp{%U} (status), @samp{%R} (replied) and @samp{%z} (zcore) specs have to be handled with care. For reasons of efficiency, Gnus will compute what column these characters will end up in, and ``hard-code'' -that. This means that it is illegal to have these specs after a +that. This means that it is invalid to have these specs after a variable-length spec. Well, you might not be arrested, but your summary buffer will look strange, which is bad enough. @@ -3518,8 +3524,8 @@ Go to the article with the highest score @findex gnus-summary-goto-last-article Go to the previous article read (@code{gnus-summary-goto-last-article}). -@item G p -@kindex G p (Summary) +@item G o +@kindex G o (Summary) @findex gnus-summary-pop-article Pop an article off the summary history and go to this article (@code{gnus-summary-pop-article}). This command differs from the @@ -5388,6 +5394,7 @@ encoded in some way or other. Gnus can decode them for you. * Uuencoded Articles:: Uudecode articles. * Shared Articles:: Unshar articles. * PostScript Files:: Split PostScript. +* Other Files:: Plain save and binhex. * Decoding Variables:: Variables for a happy decoding. * Viewing Files:: You want to look at the result of the decoding? @end menu @@ -5439,7 +5446,8 @@ Uudecodes and views the current series (@code{gnus-uu-decode-uu-view}). @kindex X v U (Summary) @findex gnus-uu-decode-uu-and-save-view Uudecodes, views and saves the current series -(@code{gnus-uu-decode-uu-and-save-view}). +(@code{gnus-uu-decode-uu-and-save-view}). + @end table Remember that these all react to the presence of articles marked with @@ -5524,6 +5532,24 @@ View and save the current PostScript series @end table +@node Other Files +@subsection Other Files + +@table @kbd +@item X o +@kindex X o (Summary) +@findex gnus-uu-decode-save +Save the current series +(@code{gnus-uu-decode-save}). + +@item X b +@kindex X b (Summary) +@findex gnus-uu-decode-binhex +Unbinhex the current series (@code{gnus-uu-decode-binhex}). This +doesn't really work yet. +@end table + + @node Decoding Variables @subsection Decoding Variables @@ -5993,7 +6019,7 @@ is hidden. Gnus adds buttons to show where the cited text has been hidden, and to allow toggle hiding the text. The format of the variable is specified by this format-like variable (@pxref{Formatting Variables}). These -specs are legal: +specs are valid: @table @samp @item b @@ -6653,7 +6679,7 @@ A hook called in all tree mode buffers. @item gnus-tree-mode-line-format @vindex gnus-tree-mode-line-format A format string for the mode bar in the tree mode buffers. The default -is @samp{Gnus: %%b [%A] %Z}. For a list of legal specs, @pxref{Summary +is @samp{Gnus: %%b [%A] %Z}. For a list of valid specs, @pxref{Summary Buffer Mode Line}. @item gnus-selected-tree-face @@ -6669,7 +6695,7 @@ is @samp{%(%[%3,3n%]%)}, which displays the first three characters of the name of the poster. It is vital that all nodes are of the same length, so you @emph{must} use @samp{%4,4n}-like specifiers. -Legal specs are: +Valid specs are: @table @samp @item n @@ -6777,7 +6803,7 @@ following to your @file{.gnus.el} file: @cindex mail group commands Some commands only make sense in mail groups. If these commands are -illegal in the current group, they will raise hell and let you know. +invalid in the current group, they will raise a hell and let you know. All these commands (except the expiry and edit commands) use the process/prefix convention (@pxref{Process/Prefix}). @@ -10014,7 +10040,7 @@ This should be one of @code{mbox}, @code{babyl}, @code{digest}, @item nndoc-post-type @vindex nndoc-post-type This variable says whether Gnus is to consider the group a news group or -a mail group. There are two legal values: @code{mail} (the default) +a mail group. There are two valid values: @code{mail} (the default) and @code{news}. @end table @@ -10142,7 +10168,7 @@ is of @code{mmdf} type, and so on. These type predicates should return @code{nil} if the document is not of the correct type; @code{t} if it is of the correct type; and a number if the document might be of the correct type. A high number means high probability; a low number means -low probability with @samp{0} being the lowest legal number. +low probability with @samp{0} being the lowest valid number. @node SOUP @@ -10883,7 +10909,7 @@ Score on the head. @end table @item -The third key is the match type. Which match types are legal depends on +The third key is the match type. Which match types are valid depends on what headers you are scoring on. @table @code @@ -11165,7 +11191,7 @@ approach, see @pxref{Advanced Scoring}. Even though this looks much like lisp code, nothing here is actually @code{eval}ed. The lisp reader is used to read this form, though, so it -has to be legal syntactically, if not semantically. +has to be valid syntactically, if not semantically. Six keys are supported by this alist: @@ -12098,7 +12124,7 @@ In either case, GroupLens gives you a few choices for how you would like to see your predictions displayed. The display of predictions is controlled by the @code{grouplens-prediction-display} variable. -The following are legal values for that variable. +The following are valid values for that variable. @table @code @item prediction-spot @@ -12551,7 +12577,7 @@ Padding, limiting, cutting off parts and suppressing certain values can be achieved by using @dfn{tilde modifiers}. A typical tilde spec might look like @samp{%~(cut 3)~(ignore "0")y}. -These are the legal modifiers: +These are the valid modifiers: @table @code @item pad @@ -12759,7 +12785,7 @@ For each split, there @emph{must} be one element that has the 100% tag. The splitting is never accurate, and this buffer will eat any leftover lines from the splits. -To be slightly more formal, here's a definition of what a legal split +To be slightly more formal, here's a definition of what a valid split may look like: @example @@ -12972,7 +12998,7 @@ colors or fonts. This will also inhibit loading the @file{gnus-vis.el} file. This variable can be a list of visual properties that are enabled. The -following elements are legal, and are all included by default: +following elements are valid, and are all included by default: @table @code @item group-highlight @@ -13621,7 +13647,6 @@ The name of the buffer that @code{picons} points to. Defaults to @end table - @node Smileys @subsection Smileys @cindex smileys @@ -13766,6 +13791,8 @@ default. @end table + + @node Fuzzy Matching @section Fuzzy Matching @cindex fuzzy matching @@ -13813,7 +13840,7 @@ This is annoying. The way to deal with this is having Gnus split out all spam into a @samp{spam} mail group (@pxref{Splitting Mail}). -First, pick one (1) legal mail address that you can be reached at, and +First, pick one (1) valid mail address that you can be reached at, and put it in your @code{From} header of all your news articles. (I've chosen @samp{larsi@@trym.ifi.uio.no}, but for many addresses on the form @samp{larsi+usenet@@ifi.uio.no} will be a better choice. Ask your @@ -13934,10 +13961,10 @@ read when doing the operation described above. @item nnheader-file-name-translation-alist @vindex nnheader-file-name-translation-alist @cindex file names -@cindex illegal characters in file names +@cindex invalid characters in file names @cindex characters in file names This is an alist that says how to translate characters in file names. -For instance, if @samp{:} is illegal as a file character in file names +For instance, if @samp{:} is invalid as a file character in file names on your system (you OS/2 user you), you could say something like: @lisp @@ -15191,7 +15218,7 @@ A machine one can connect to and get news (or mail) from. @item select method @cindex select method A structure that specifies the backend, the server and the virtual -server parameters. +server settings. @item virtual server @cindex virtual server @@ -16478,7 +16505,7 @@ are equal. In fact, any non-descending list is a range: @end example is a perfectly valid range, although a pretty long-winded one. This is -also legal: +also valid: @example (1 . 5) diff --git a/texi/message.texi b/texi/message.texi index 73c8ed161..2f5a127f2 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename message -@settitle Message 5.4.67 Manual +@settitle Message 0.1 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -39,7 +39,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Message 5.4.67 Manual +@title Message 0.1 Manual @author by Lars Magne Ingebrigtsen @page @@ -79,7 +79,7 @@ buffers. * Key Index:: List of Message mode keys. @end menu -This manual corresponds to Message 5.4.67. Message is distributed with +This manual corresponds to Message 0.1. Message is distributed with the Gnus distribution bearing the same version number as this manual has.