From bf9b4cc66a85379d1118de9752c3bf85bba1ec2d Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Tue, 4 Mar 1997 07:36:14 +0000 Subject: [PATCH] *** empty log message *** --- lisp/ChangeLog | 24 ++- lisp/doc.txt | 374 +++++++++++++++++++++++++++++++++++++++++++++ lisp/gnus-msg.el | 8 +- lisp/gnus-topic.el | 2 + lisp/gnus-xmas.el | 4 +- lisp/gnus.el | 30 ++-- lisp/nnmail.el | 6 +- texi/ChangeLog | 4 + texi/Makefile | 25 ++- texi/gnus.texi | 48 +++--- 10 files changed, 480 insertions(+), 45 deletions(-) create mode 100644 lisp/doc.txt diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ac4155d0d..972dcecfb 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,7 +1,27 @@ +Sun Feb 11 04:49:16 1996 Mark Borges + + * gnus-xmas.el (gnus-xmas-define): Conditionally redefine + `set-text-properties'. + +Sun Feb 11 04:40:39 1996 Lars Ingebrigtsen + + * gnus.el (gnus-summary-limit-to-subject): Limit to any header. + +Sat Feb 10 03:26:10 1996 Lars Ingebrigtsen + + * nnmail.el (nnmail-days-to-time): Don't bug out on large + numbers. + +Fri Feb 9 22:17:55 1996 Lars Ingebrigtsen + + * gnus-msg.el (gnus-forward-included-headers): Include Message-ID + and References. + (gnus-post-news): Make sure the parent group is a news group. + Fri Feb 9 09:56:45 1996 Lars Magne Ingebrigtsen * gnus-picon.el (gnus-picons-convert-x-face): Changed to use - pbmplus, + pbmplus. * gnus.el (gnus-buffer-configuration): One quote too many. @@ -9,6 +29,8 @@ Fri Feb 9 09:56:45 1996 Lars Magne Ingebrigtsen * gnus.el (gnus-summary-execute-command): Accept "Body" searches. + * gnus.el: 0.37 is released. + Fri Feb 9 09:44:04 1996 Lars Magne Ingebrigtsen * nnmail.el (nnmail-time-since): Reversed time. diff --git a/lisp/doc.txt b/lisp/doc.txt new file mode 100644 index 000000000..90e6eca8d --- /dev/null +++ b/lisp/doc.txt @@ -0,0 +1,374 @@ +From lars Thu Feb 23 23:20:38 1995 +From: larsi@ifi.uio.no (ding) +Date: Fri Feb 24 13:40:45 1995 +Subject: This is a test version of this group +Message-ID: + +This group will look something like this, but the stuff in here is of +little worth right now. + +For real documentation, you'll have to read the source code. Or you +can read the info file, which is pretty comprehensive, if somewhat out +of date. + +Gnus is currently in beta. + +When you happen upon a bug, please drop me a note. + + +From lars Thu Feb 23 23:20:38 1995 +From: larsi@ifi.uio.no (ding) +Date: Fri Feb 24 13:40:45 1995 +Subject: So you want to use the new Gnus +Message-ID: + +Actually, since you are reading this, chances are you are already +using the new Gnus. Congratulations. + +This entire newsgroup you are reading is, in fact, no real newsgroup +at all, in the traditional sense. It is an example of one of the +"foreign" select methods that Gnus may use. + +The text you are now reading is stored in the "etc" directory with the +rest of the Emacs sources. You are using the "nndir" backend for +accessing it. Scary, isn't it? + +This isn't the real documentation. `M-x info', `m gnus ' to read +that. This "newsgroup" is intended as a kinder, gentler way of getting +people started. + +Gnus is a rewrite of GNUS 4.1, written by Masanobu Umeda. The rewrite +was done by moi, yours truly, your humble servant, Lars Magne +Ingebrigtsen. If you have a WWW browser, you can investigate to your +heart's delight at "http://www.ifi.uio.no/~larsi/larsi.html". + +Much code (especially the score code) was written by Per Abrahamsen. + +;; Copyright (C) 1995 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, 675 Mass Ave, Cambridge, MA 02139, USA. + +From lars Thu Feb 23 23:20:38 1995 +From: larsi@ifi.uio.no (ding) +Date: Fri Feb 24 13:40:45 1995 +Subject: Starting up +Message-ID: + +If you are having problems with Gnus not finding your server, you have +to set `gnus-select-method'. A "method" is a way of specifying *how* +the news is to be found, and from *where*. + +Say you want to read news from you local, friendly nntp server +"news.my.local.server". + +(setq gnus-select-method '(nntp "news.my.local.server")) + +Quite easy, huh? + +From the news spool: + +(setq gnus-select-method '(nnspool "")) + +From your mh-e spool: + +(setq gnus-select-method '(nnmh "")) + +There's a whole bunch of other methods for reading mail and news, see +the "Foreign groups" article for that. + + +From lars Thu Feb 23 23:20:38 1995 +From: larsi@ifi.uio.no (ding) +Date: Fri Feb 24 13:40:45 1995 +Subject: Where are all the groups, then? +Message-ID: + +If this is the first time you have used a newsreader, you won't have a +.newsrc file. This means that Gnus will think that all the newsgroups +on the server are "new", and kill them all. + +If you have a .newsrc file, the new groups will be processed with the +function in the `gnus-subscribe-newsgroup-method' variable, which is +`gnus-subscribe-zombies' by default. + +This means that all the groups have been made into "zombies" - not +quite dead, but not exactly alive, either. + +Jump back to the *Group* buffer, and type `C-c C-z' to list all the +zombie groups. Look though the list, and subscribe to the groups you +want to read by pressing `u' on the one you think look interesting. + +If all the groups have been killed, type `C-c C-k' to list all the +killed groups. Subscribe to them the same way. + +When you are satisfied, press `M-z' to kill all the zombie groups. + +Now you should have a nice list of all groups you are interested in. + +(If you later want to subscribe to more groups, press `C-c C-k' to +list all the kill groups, and repeat. You can also type `U' and be +prompted for groups to subscribe to.) + + +From lars Thu Feb 23 23:20:38 1995 +From: larsi@ifi.uio.no (ding) +Date: Fri Feb 24 13:40:45 1995 +Subject: I want to read my mail! +Message-ID: + +Yes, Virginia, you can read mail with Gnus. + +First you have to decide which mail backend you want to use. You have +nnml, which is a one-file-one-mail backend, which is quite nice, but +apt to make your systems administrator go crazy and come after you +with a shotgun. + +nnmbox uses a Unix mail box to store mail. Nice, but slow. + +nnmh uses mh-e folders, which is also a one-file-one-mail thingie, but +slower than nnml. (It doesn't support NOV files.) + +So if you want to go with nnmbox, you can simply say: + +(setq gnus-secondary-select-methods '((nnmbox ""))) + +(The same for the other methods, kind of.) + +You should also set `nnmail-split-methods' to something sensible: + +(setq nnmail-split-methods + '(("mail.junk" "From:.*Lars") + ("mail.misc ""))) + +This will put all mail from me in you junk mail group, and the rest in +"mail.misc". + +These groups will be subscribe the same way as the normal groups, so +you will probably find them among the zombie groups after you set +these variables and re-start Gnus. + + +From lars Thu Feb 23 23:20:38 1995 +From: larsi@ifi.uio.no (ding) +Date: Fri Feb 24 13:40:45 1995 +Subject: Foreign newsgroups +Message-ID: + +These are groups that do not come from `gnus-select-method'. + +Say you want to read "alt.furniture.couches" from "news.funet.fi". You +can then either type `B news.funet.fi ' to browse that server and +subscribe to that group, or you can type +`M-a alt.furniture.couchesnntpnews.funet.fi', if you +like to type a lot. + +If you want to read a directory as a newsgroup, you can create an +nndir group, much the same way. There's a shorthand for that, +though. If, for instance, you want to read the (ding) list archives, +you could type `D /ftp '. + +There's lots more to know about foreign groups, but you have to read +the info pages to find out more. + + +From lars Thu Feb 23 23:20:38 1995 +From: larsi@ifi.uio.no (ding) +Date: Fri Feb 24 13:40:45 1995 +Subject: Low level changes in GNUS, or, Wrong type argument: stringp, nil +Message-ID: + +Gnus really isn't GNUS, even though it looks like it. If you scrape +the surface, you'll find that most things have changed. + +This means that old code that relies on GNUS internals will fail. + +In particular, `gnus-newsrc-hashtb', `gnus-newsrc-assoc', +`gnus-killed-list', the `nntp-header-' macros and the display formats +have all changed. If you have some code lying around that depend on +these, or change these, you'll have to re-write your code. + +Old hilit19 code does not work at all. In fact, you should probably +remove all hihit code from all the Gnus hooks +(`gnus-group-prepare-hook', `gnus-summary-prepare-hook' and +`gnus-summary-article-hook'). (Well, at the very least the first +two.) Gnus provides various integrated functions for highlighting, +which are both faster and more accurated. + +There is absolutely no chance, whatsoever, of getting Gnus to work +with Emacs 18. + + +From lars Thu Feb 23 23:20:38 1995 +From: larsi@ifi.uio.no (ding) +Date: Fri Feb 24 13:40:45 1995 +Subject: Bugs & stuff +Message-ID: + +If you want to report a bug, please type `M-x gnus-bug'. This will +give me a precice overview of your Gnus and Emacs version numbers, +along with a look at all Gnus variables you have changed. + +Du not expect a reply back, but your bug should be fixed in the next +version. If the bug persists, please re-submit your bug report. + +When a bug occurs, I need a recipe for how to trigger the bug. You +have to tell me exactly what you do to uncover the bug, and you should +(setq debug-on-error t) and send me the backtrace along with the bug +report. + +If I am not able to reproduce the bug, I won't be able to fix it. + +I would, of course, prefer that you locate the bug, fix it, and mail +me the patches, but one can't have everything. + +If you have any questions on usage, the "ding@ifi.uio.no" mailing list +is where to post the questions. + + +From lars Thu Feb 23 23:20:38 1995 +From: larsi@ifi.uio.no (ding) +Date: Fri Feb 24 13:40:45 1995 +Subject: How do I re-scan my mail groups? +Message-ID: + +Reading the active file from the nntp server is a drag. + +Just press `M-g' on the mail groups, and they will be re-scanned. + +You can also re-scan all the mail groups by putting them on level 1 +(`1 S'), and saying `1 g' to re-scan all level 1 groups. + + +From lars Thu Feb 23 23:20:38 1995 +From: larsi@ifi.uio.no (ding) +Date: Fri Feb 24 13:40:45 1995 +Subject: How do I set up virtual newsgroups? +Message-ID: + +Virtual newsgroups are collections of other newsgroups. Why people +want this is beyond me, but here goes: + +Create the group by saying + +`M-a my.virtual.newsgroupnnvirtual^rec\.aquaria\.*' + +This will create the group "nnvirtual:my.virtual.newsgroup", which +will collect all articles from all the groups in the "rec.aquaria" +hierarchy. + +If you want to edit the regular expression, just type `M-e' on the +group line. + +Note that all the groups that are part of the virtual group have to be +alive. This means that the cannot, absolutely not, be zombie or +killed. They can be unsubscribed; that's no problem. + +You can combine groups from different servers in the same virtual +newsgroup, something that may actually be useful. Say you have the +group "comp.headers" on the server "news.server.no" and the same group +on "news.server.edu". If people have posted articles with Distribution +headers that stop propagation of their articles, combining these two +newsgroups into one virtual newsgroup should give you a better view of +what's going on. + +One caveat, though: The virtual group article numbers from the first +source group (group A) will always be lower than the article numbers +from the second (group B). This means that Gnus will believe that +articles from group A are older than articles from group B. Threading +will lessen these problems, but it might be a good idea to sort the +threads over the date of the articles to get a correct feel for the +flow of the groups: + +(setq gnus-thread-sort-functions '(gnus-thread-sort-by-date)) + +If you only want this in virtual groups, you could say something along +the lines of: + +(setq gnus-select-group-hook + (lambda () + (if (eq 'nnvirtual (car (gnus-find-method-for-group + gnus-newsgroup-name))) + (progn + (make-local-variable 'gnus-thread-sort-functions) + (setq gnus-thread-sort-functions '(gnus-thread-sort-by-date)))))) + + +From lars Thu Feb 23 23:20:38 1995 +From: larsi@ifi.uio.no (ding) +Date: Fri Feb 24 13:40:45 1995 +Subject: I want to kiboze everything in sight! +Message-ID: + +The nnkiboze backend collects articles that you are interested in from +groups you are interested in. Below is a description for how you can +gather all posts from me, and all posts about Gnus in the gnu.emacs +hierarchy in one handy, easy to read group. + +Gnus will let you eat up all available machine resources, grinding +everything to a halt. Including your nntp server. Who says Gnus isn't +friendly? + +You want to do this, of course. + +Create an nnkiboze group the normal way: + +`M-a my.groupnnkiboze^gnu.emacs.*' + +You now have a shiny new group that you can't enter. How... +practical. + +But just wait, it gets worse. + +You now have to create a score file. + +`C-x C-f ~/News/nnkiboze:my.group.SCORE' + +Put something like the following in this file: + +(setq gnus-score-alist + '(("from" + ("Ingebrigtsen" nil 1000) + ("lmi" nil 5000)) + ("subject" + ("Gnus" nil 10000)) + (touched))) + +Save the file, and go to a shell window. + +Type: + +$ emacs -batch -l ~/.emacs -l nnkiboze -f nnkiboze-generate-groups + +Wait a few hours, and all articles from me, or articles about Gnus, +will appear, as if by magic, in the nnkiboze group. You really want +that, of course. + +Gnus actually grabs the headers of all the groups that supply the +nnkiboze group with articles, so this isn't very kind. Pleasy only do +it at night (`at' is a fine command), and please, *please*, limit the +number of groups that supply articles to the group. If you specify "" +as the address of this group, nnkiboze will ask for headers from *all* +groups, and this is megs and megs and megs of data. + +Use it, don't abuse it. Be nice. + + + + diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index 29622af4a..13ab3a471 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -214,7 +214,8 @@ be used instead.") (defvar gnus-signature-before-forwarded-message t "*If non-nil, put the signature before any included forwarded message.") -(defvar gnus-forward-included-headers gnus-visible-headers +(defvar gnus-forward-included-headers + "^From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^Followup-To:\\|^Reply-To:\\|^Organization:\\|^Summary:\\|^Keywords:\\|^To:\\|^Cc:\\|^Posted-To:\\|^Mail-Copies-To:\\|^Apparently-To:\\|^Gnus-Warning:\\|^Resent-\\:^Message-ID:\\|^References:" "*Regexp matching headers to be included in forwarded messages.") (defvar gnus-required-headers @@ -539,7 +540,8 @@ Type \\[describe-mode] in the buffer to get a list of commands." mailing-list (when gnus-mailing-list-groups (string-match gnus-mailing-list-groups group)) group (gnus-group-real-name group))) - (if (or to-group + (if (or (and to-group + (gnus-news-group-p to-group)) (and (gnus-news-group-p (or pgroup gnus-newsgroup-name) (if header (mail-header-number header) gnus-current-article)) @@ -2683,7 +2685,7 @@ Headers will be generated before sending." (when gcc (nnheader-remove-header "gcc") (widen) - (setq groups (gnus-tokenize-header gcc " ")) + (setq groups (gnus-tokenize-header gcc " ,")) ;; Copy the article over to some group(s). (while (setq group (pop groups)) (gnus-check-server diff --git a/lisp/gnus-topic.el b/lisp/gnus-topic.el index 215bfc90d..81e383662 100644 --- a/lisp/gnus-topic.el +++ b/lisp/gnus-topic.el @@ -162,10 +162,12 @@ articles in the topic and its subtopics." (while (setq entry (pop entries)) (when visiblep (if (stringp entry) + ;; Dead groups. (gnus-group-insert-group-line entry (if (member entry gnus-zombie-list) 8 9) nil (- (1+ (cdr (setq active (gnus-active entry)))) (car active)) nil) + ;; Living groups. (when (setq info (nth 2 entry)) (gnus-group-insert-group-line (gnus-info-group info) diff --git a/lisp/gnus-xmas.el b/lisp/gnus-xmas.el index abc67553b..cdfe3b5a7 100644 --- a/lisp/gnus-xmas.el +++ b/lisp/gnus-xmas.el @@ -302,7 +302,9 @@ call it with the value of the `gnus-data' text property." (fset 'gnus-overlay-end 'extent-end-position) (fset 'gnus-extent-detached-p 'extent-detached-p) - (fset 'set-text-properties 'gnus-xmas-set-text-properties) + (require 'text-props) + (if (< emacs-minor-version 14) + (fset 'set-text-properties 'gnus-xmas-set-text-properties)) (fset 'nnheader-find-file-noselect 'gnus-xmas-find-file-noselect) diff --git a/lisp/gnus.el b/lisp/gnus.el index 5f1b56d79..0ca3666b0 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -1684,7 +1684,7 @@ variable (string, integer, character, etc).") "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)" "The mail address of the Gnus maintainers.") -(defconst gnus-version "September Gnus v0.37" +(defconst gnus-version "September Gnus v0.38" "Version number for this version of Gnus.") (defvar gnus-info-nodes @@ -5782,20 +5782,22 @@ or nil if no action could be taken." (assq 'expire (gnus-info-marks info)))) (expiry-wait (gnus-group-get-parameter group 'expiry-wait))) (when expirable - (setcdr expirable - (gnus-compress-sequence - (if expiry-wait - (let ((nnmail-expiry-wait-function nil) - (nnmail-expiry-wait expiry-wait)) - (gnus-request-expire-articles - (gnus-uncompress-sequence (cdr expirable)) group)) - (gnus-request-expire-articles - (gnus-uncompress-sequence (cdr expirable)) - group))))) + (setcdr + expirable + (gnus-compress-sequence + (if expiry-wait + ;; We set the expiry variables to the groupp + ;; parameter. + (let ((nnmail-expiry-wait-function nil) + (nnmail-expiry-wait expiry-wait)) + (gnus-request-expire-articles + (gnus-uncompress-sequence (cdr expirable)) group)) + ;; Just expire using the normal expiry values. + (gnus-request-expire-articles + (gnus-uncompress-sequence (cdr expirable)) group))))) (gnus-message 6 "Expiring articles in %s...done" group))) (gnus-group-position-point)))) - (defun gnus-group-expire-all-groups () "Expire all expirable articles in all newsgroups." (interactive) @@ -10192,7 +10194,8 @@ If given a prefix, remove all limits." (setq header "subject")) (when (not (equal "" subject)) (prog1 - (let ((articles (gnus-summary-find-matching "subject" subject 'all))) + (let ((articles (gnus-summary-find-matching + (or header "subject") subject 'all))) (or articles (error "Found no matches for \"%s\"" subject)) (gnus-summary-limit articles)) (gnus-summary-position-point)))) @@ -10323,7 +10326,6 @@ If ALL, mark even excluded ticked and dormants as read." (memq article gnus-newsgroup-marked)) (push (cons article gnus-catchup-mark) gnus-newsgroup-reads)))))) - (defun gnus-summary-limit (articles &optional pop) (if pop ;; We pop the previous limit off the stack and use that. diff --git a/lisp/nnmail.el b/lisp/nnmail.el index c21203b41..1643e08b4 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -313,8 +313,10 @@ parameter. It should return nil, `warn' or `delete'.") "Convert DAYS into time." (let* ((seconds (* 1.0 days 60 60 24)) (rest (expt 2 16)) - (ms (round (/ seconds rest)))) - (list ms (round (- seconds (* ms rest)))))) + (ms (condition-case nil (round (/ seconds rest)) + (range-error (expt 2 16))))) + (list ms (condition-case nil (round (- seconds (* ms rest))) + (range-error (expt 2 16)))))) (defun nnmail-time-since (time) "Return the time since TIME, which is either an internal time or a date." diff --git a/texi/ChangeLog b/texi/ChangeLog index 0f7e91a7a..a618c2180 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,7 @@ +Sun Feb 11 04:39:52 1996 Lars Magne Ingebrigtsen + + * gnus.texi (Censorship): New. + Thu Feb 8 17:34:33 1996 Lars Ingebrigtsen * gnus.texi (Topic Commands): Addition. diff --git a/texi/Makefile b/texi/Makefile index 32d184885..c1b7f0665 100644 --- a/texi/Makefile +++ b/texi/Makefile @@ -7,11 +7,14 @@ DVIPS=dvips all: gnus.info refcard.dvi +most: texi2latexi.elc latex latexps + gnus.info: gnus.texi $(MAKEINFO) dvi: gnus.texi - $(TEXI2DVI) gnus.texi + perl -n -e ' if (/@iflatex/) { $$latex=1; } if (!$$latex) { print; } if (/@end iflatex/) { $$latex=0; }' gnus.texi > gnus.tmptexi + $(TEXI2DVI) gnus.tmptexi refcard.dvi: refcard.tex $(LATEX) refcard.tex @@ -22,11 +25,27 @@ clean: makeinfo: makeinfo -o gnus.info gnus.texi +texi2latexi.elc: + $(EMACS) -batch -l bytecomp -f batch-byte-recompile-directory + latex: gnus.texi $(EMACS) -batch -q -no-site-file gnus.texi -l ./texi2latex.elc -f latexi-translate latexps: gnus.latexi - $(LATEX) gnus.latexi ; $(DVIPS) -f gnus.dvi > gnus.ps + $(LATEX) gnus.latexi + splitindex + makeindex -o gnus.kind gnus.kidx + makeindex -o gnus.cind gnus.cidx + egrep -v "end{document}|label.*Index|chapter.*Index" gnus.latexi > gnus.tmplatexi + cat postamble.latexi >> gnus.tmplatexi + $(LATEX) gnus.tmplatexi + $(DVIPS) -f gnus.dvi > gnus.ps latexboth: gnus.latexi - rm -f gnus-manual-a4.ps.gz gnus-manual-standard.ps.gz ; $(LATEX) gnus.latexi ; $(DVIPS) -f gnus.dvi > gnus-manual-a4.ps ; gzip gnus-manual-a4.ps ; sed 's/,a4paper//' gnus.latexi > gnus-standard.latexi ; $(LATEX) gnus.latexi ; $(DVIPS) -f gnus.dvi > gnus-manual-standard.ps ; gzip gnus-manual-standard.ps + rm -f gnus-manual-a4.ps.gz gnus-manual-standard.ps.gz + $(LATEX) gnus.latexi ; $(DVIPS) -f gnus.dvi > gnus-manual-a4.ps + gzip gnus-manual-a4.ps + sed 's/,a4paper//' gnus.latexi > gnus-standard.latexi + $(LATEX) gnus.latexi + $(DVIPS) -f gnus.dvi > gnus-manual-standard.ps + gzip gnus-manual-standard.ps diff --git a/texi/gnus.texi b/texi/gnus.texi index 98509caa3..250131ae4 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,6 +1,4 @@ -@tex \input texinfo @c -*-texinfo-*- -@end tex @setfilename gnus.info @settitle September Gnus Manual @@ -56,8 +54,8 @@ \newcommand{\gnusampersand}{\&} \newcommand{\gnuspercent}{\%} \newcommand{\gnushash}{\#} -\newcommand{\gnushat}{\%} -\newcommand{\gnustilde}{\%} +\newcommand{\gnushat}{\symbol{"5E}} +\newcommand{\gnustilde}{\symbol{"7E}} \newcommand{\gnusless}{{$<$}} \newcommand{\gnusgreater}{{$>$}} @@ -67,6 +65,7 @@ } \newcommand{\gnuschapter}[1]{ +\renewcommand{\gnussectionname}{} \chapter{#1} \renewcommand{\gnuschaptername}{#1} \thispagestyle{empty} @@ -117,13 +116,6 @@ } }{\end{list}} -\newlength{\headrulewidth} -\setlength{\headrulewidth}{\headtextwidth} -\addtolength{\headrulewidth}{-2.6ex} -\newlength{\headwrule} -\setlength{\headwrule}{\headrulewidth} -\addtolength{\headwrule}{-0ex} - \newpagestyle{gnus}% { { @@ -132,24 +124,18 @@ \hspace*{-2ex} \underline{ \makebox[\headtextwidth]{ -\hspace*{-2.1ex} -%\ifnum chapter=0\else +\hspace*{-2.3ex} \textbf{\arabic{chapter}.\arabic{section}} -%\fi \textbf{\gnussectionname\hfill\arabic{page}} }} -%\hspace*{-\headrulewidth} -%\raisebox{-3pt}{\rule{\headwrule}{0.5pt}} } \else { -\hspace*{-2.1cm} +\hspace*{-2.25cm} \underline{ -\hspace*{-2ex} +\hspace*{-2.3ex} \makebox[\headtextwidth]{ \textbf{\arabic{page}\hfill\gnuschaptername} -%\hspace*{-\headrulewidth} -%\raisebox{-3pt}{\rule{\headwrule}{0.5pt}} }} } \fi @@ -282,6 +268,10 @@ luck. @iftex +@iflatex +\thispagestyle{empty} +@end iflatex + Gnus is the advanced, self-documenting, customizable, extensible unreal-time newsreader for GNU Emacs. @@ -357,6 +347,7 @@ and won't be released until February. Confused? You will be. * Contributors:: Oodles of people. * New Features:: Pointers to some of the new stuff in Gnus. * Newest Features:: Features so new that they haven't been written yet. +* Censorship:: This manual has been censored. @end menu @@ -764,6 +755,21 @@ up-to-the-second todo list is located, so if you're really curious, you could point your Web browser over that-a-way. +@node Censorship +@section Censorship +@cindex censorship + +This version of the Gnus manual (as well as Gnus itself) has been +censored in accord with the Communications Decency Act. This law was +described by its proponents as a ban on pornography---which was a +deception, since it prohibits far more than that. This manual did not +contain pornography, but part of it was prohibited nonetheless. + +For information on US government censorship of the Internet, and +what you can do to bring back freedom of the press, see the web +site @samp{http://www.vtw.org/}. + + @node Terminology @chapter Terminology @@ -1400,7 +1406,7 @@ ticked articles, in @samp{alt.fan.andrea-dworkin} (see that little asterisk at the beginning of the line?) @vindex gnus-group-line-format -You can fuck that up to your heart's delight by fiddling with the +You can change that format to whatever you want by fiddling with the @code{gnus-group-line-format} variable. This variable works along the lines of a @code{format} specification, which is pretty much the same as a @code{printf} specifications, for those of you who use (feh!) C. -- 2.34.1