*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 07:36:14 +0000 (07:36 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 07:36:14 +0000 (07:36 +0000)
lisp/ChangeLog
lisp/doc.txt [new file with mode: 0644]
lisp/gnus-msg.el
lisp/gnus-topic.el
lisp/gnus-xmas.el
lisp/gnus.el
lisp/nnmail.el
texi/ChangeLog
texi/Makefile
texi/gnus.texi

index ac4155d..972dcec 100644 (file)
@@ -1,7 +1,27 @@
+Sun Feb 11 04:49:16 1996  Mark Borges  <mdb@cdc.noaa.gov>
+
+       * gnus-xmas.el (gnus-xmas-define): Conditionally redefine
+       `set-text-properties'. 
+
+Sun Feb 11 04:40:39 1996  Lars Ingebrigtsen  <lars@eyesore.no>
+
+       * gnus.el (gnus-summary-limit-to-subject): Limit to any header. 
+
+Sat Feb 10 03:26:10 1996  Lars Ingebrigtsen  <lars@eyesore.no>
+
+       * nnmail.el (nnmail-days-to-time): Don't bug out on large
+       numbers. 
+
+Fri Feb  9 22:17:55 1996  Lars Ingebrigtsen  <lars@eyesore.no>
+
+       * 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  <larsi@ifi.uio.no>
 
        * 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  <larsi@ifi.uio.no>
 
        * 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  <larsi@eistla.ifi.uio.no>
 
        * nnmail.el (nnmail-time-since): Reversed time.
diff --git a/lisp/doc.txt b/lisp/doc.txt
new file mode 100644 (file)
index 0000000..90e6eca
--- /dev/null
@@ -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: <lars-doc0@eyesore.no>
+
+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: <lars-doc1@eyesore.no>
+
+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 <RET>' 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 <larsi@ifi.uio.no>
+;; 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: <lars-doc2@eyesore.no>
+
+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: <lars-doc3@eyesore.no>
+
+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: <lars-doc4@eyesore.no>
+
+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: <lars-doc5@eyesore.no>
+
+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 <RET>' to browse that server and
+subscribe to that group, or you can type 
+`M-a alt.furniture.couches<RET>nntp<RET>news.funet.fi<RET>', 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 <RET>'.
+
+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: <lars-doc6@eyesore.no>
+
+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: <lars-doc7@eyesore.no>
+
+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: <lars-doc8@eyesore.no>
+
+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: <lars-doc9@eyesore.no>
+
+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.newsgroup<RET>nnvirtual<RET>^rec\.aquaria\.*<RET>'
+
+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: <lars-doc10@eyesore.no>
+
+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.group<RET>nnkiboze<RET>^gnu.emacs.*<RET>'
+
+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<RET>'
+
+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.
+
+
+
+
index 29622af..13ab3a4 100644 (file)
@@ -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 
index 215bfc9..81e3836 100644 (file)
@@ -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)
index abc6755..cdfe3b5 100644 (file)
@@ -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)
 
index 5f1b56d..0ca3666 100644 (file)
@@ -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.
index c21203b..1643e08 100644 (file)
@@ -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."
index 0f7e91a..a618c21 100644 (file)
@@ -1,3 +1,7 @@
+Sun Feb 11 04:39:52 1996  Lars Magne Ingebrigtsen  <larsi@aegir.ifi.uio.no>
+
+       * gnus.texi (Censorship): New.
+
 Thu Feb  8 17:34:33 1996  Lars Ingebrigtsen  <lars@eyesore.no>
 
        * gnus.texi (Topic Commands): Addition.
index 32d1848..c1b7f06 100644 (file)
@@ -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 
index 98509ca..250131a 100644 (file)
@@ -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}
 }
 }{\end{list}}
 
-\newlength{\headrulewidth}
-\setlength{\headrulewidth}{\headtextwidth}
-\addtolength{\headrulewidth}{-2.6ex}
-\newlength{\headwrule}
-\setlength{\headwrule}{\headrulewidth}
-\addtolength{\headwrule}{-0ex}
-
 \newpagestyle{gnus}%
 {
 {
 \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.