Trailing whitespace deleted.
[bpt/emacs.git] / etc / gnus-tut.txt
CommitLineData
a7bfd66f
DL
1From lars Thu Feb 23 23:20:38 1995
2From: larsi@ifi.uio.no (ding)
3Date: Fri Feb 24 13:40:45 1995
4Subject: So you want to use the new Gnus
5Message-ID: <lars-doc1@eyesore.no>
6
7Actually, since you are reading this, chances are you are already
8using the new Gnus. Congratulations.
9
10This entire newsgroup you are reading is, in fact, no real newsgroup
11at all, in the traditional sense. It is an example of one of the
12"foreign" select methods that Gnus may use.
13
14The text you are now reading is stored in the "etc" directory with the
15rest of the Emacs sources. You are using the "nndoc" backend for
16accessing it. Scary, isn't it?
17
18This isn't the real documentation. `M-x info', `m gnus <RET>' to read
19that. This "newsgroup" is intended as a kinder, gentler way of getting
20people started.
21
22Gnus is a rewrite of GNUS 4.1, written by Masanobu Umeda. The rewrite
23was done by moi, yours truly, your humble servant, Lars Magne
24Ingebrigtsen. If you have a WWW browser, you can investigate to your
25heart's delight at <URL:http://www.ifi.uio.no/~larsi/larsi.html>.
26
27;; Copyright (C) 1995 Free Software Foundation, Inc.
28
29;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
30;; Keywords: news
31
32;; This file is part of GNU Emacs.
33
34;; GNU Emacs is free software; you can redistribute it and/or modify
35;; it under the terms of the GNU General Public License as published by
36;; the Free Software Foundation; either version 2, or (at your option)
37;; any later version.
38
39;; GNU Emacs is distributed in the hope that it will be useful,
40;; but WITHOUT ANY WARRANTY; without even the implied warranty of
41;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
42;; GNU General Public License for more details.
43
44;; You should have received a copy of the GNU General Public License
45;; along with GNU Emacs; see the file COPYING. If not, write to the
46;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
47;; Boston, MA 02111-1307, USA.
48
49From lars Thu Feb 23 23:20:38 1995
50From: larsi@ifi.uio.no (ding)
51Date: Fri Feb 24 13:40:45 1995
52Subject: Starting up
53Message-ID: <lars-doc2@eyesore.no>
54
55If you are having problems with Gnus not finding your server, you have
56to set `gnus-select-method'. A "method" is a way of specifying *how*
57the news is to be found, and from *where*.
58
59Say you want to read news from you local, friendly nntp server
177c0ea7 60"news.my.local.server".
a7bfd66f
DL
61
62(setq gnus-select-method '(nntp "news.my.local.server"))
63
64Quite easy, huh?
65
66From the news spool:
67
68(setq gnus-select-method '(nnspool ""))
69
70From your mh-e spool:
71
72(setq gnus-select-method '(nnmh ""))
73
74There's a whole bunch of other methods for reading mail and news, see
75the "Foreign groups" article for that.
76
77
78From lars Thu Feb 23 23:20:38 1995
79From: larsi@ifi.uio.no (ding)
80Date: Fri Feb 24 13:40:45 1995
81Subject: Where are all the groups, then?
82Message-ID: <lars-doc3@eyesore.no>
83
84If this is the first time you have used a newsreader, you won't have a
85.newsrc file. This means that Gnus will think that all the newsgroups
86on the server are "new", and kill them all.
87
88If you have a .newsrc file, the new groups will be processed with the
89function in the `gnus-subscribe-newsgroup-method' variable, which is
90`gnus-subscribe-zombies' by default.
91
92This means that all the groups have been made into "zombies" - not
93quite dead, but not exactly alive, either.
94
95Jump back to the *Group* buffer, and type `A z' to list all the zombie
96groups. Look though the list, and subscribe to the groups you want to
97read by pressing `u' on the one you think look interesting.
98
99If all the groups have been killed, type `A k' to list all the killed
100groups. Subscribe to them the same way.
101
102When you are satisfied, press `S z' to kill all the zombie groups.
103
104Now you should have a nice list of all groups you are interested in.
105
106(If you later want to subscribe to more groups, press `A k' to
107list all the kill groups, and repeat. You can also type `U' and be
108prompted for groups to subscribe to.)
109
110
111From lars Thu Feb 23 23:20:38 1995
112From: larsi@ifi.uio.no (ding)
113Date: Fri Feb 24 13:40:45 1995
114Subject: I want to read my mail!
115Message-ID: <lars-doc4@eyesore.no>
116
117Yes, Virginia, you can read mail with Gnus.
118
119First you have to decide which mail backend you want to use. You have
120nnml, which is a one-file-one-mail backend, which is quite nice, but
121apt to make your systems administrator go crazy and come after you
122with a shotgun.
123
124nnmbox uses a Unix mail box to store mail. Nice, but slow.
125
126nnmh uses mh-e folders, which is also a one-file-one-mail thingie, but
127slower than nnml. (It doesn't support NOV files.)
128
129So if you want to go with nnmbox, you can simply say:
130
131(setq gnus-secondary-select-methods '((nnmbox "")))
132
133(The same for the other methods, kind of.)
134
177c0ea7 135You should also set `nnmail-split-methods' to something sensible:
a7bfd66f 136
177c0ea7 137(setq nnmail-split-methods
a7bfd66f
DL
138 '(("mail.junk" "From:.*Lars")
139 ("mail.misc "")))
140
141This will put all mail from me in you junk mail group, and the rest in
177c0ea7 142"mail.misc".
a7bfd66f
DL
143
144These groups will be subscribe the same way as the normal groups, so
145you will probably find them among the zombie groups after you set
146these variables and re-start Gnus.
147
148
149From lars Thu Feb 23 23:20:38 1995
150From: larsi@ifi.uio.no (ding)
151Date: Fri Feb 24 13:40:45 1995
152Subject: Foreign newsgroups
153Message-ID: <lars-doc5@eyesore.no>
154
177c0ea7 155These are groups that do not come from `gnus-select-method'.
a7bfd66f
DL
156
157Say you want to read "alt.furniture.couches" from "news.funet.fi". You
158can then either type `B news.funet.fi <RET>' to browse that server and
177c0ea7 159subscribe to that group, or you can type
a7bfd66f
DL
160`G m alt.furniture.couches<RET>nntp<RET>news.funet.fi<RET>', if you
161like to type a lot.
162
163If you want to read a directory as a newsgroup, you can create an
164nndir group, much the same way. There's a shorthand for that,
165though. If, for instance, you want to read the (ding) list archives,
166you could type `G d /ftp <RET>'.
167
168There's lots more to know about foreign groups, but you have to read
169the info pages to find out more.
170
171
172From lars Thu Feb 23 23:20:38 1995
173From: larsi@ifi.uio.no (ding)
174Date: Fri Feb 24 13:40:45 1995
175Subject: Low level changes in GNUS, or, Wrong type argument: stringp, nil
176Message-ID: <lars-doc6@eyesore.no>
177
178Gnus really isn't GNUS, even though it looks like it. If you scrape
179the surface, you'll find that most things have changed.
180
177c0ea7 181This means that old code that relies on GNUS internals will fail.
a7bfd66f
DL
182
183In particular, `gnus-newsrc-hashtb', `gnus-newsrc-assoc',
184`gnus-killed-list', the `nntp-header-' macros and the display formats
185have all changed. If you have some code lying around that depend on
186these, or change these, you'll have to re-write your code.
187
188Old hilit19 code does not work at all. In fact, you should probably
189remove all hilit code from all the Gnus hooks
190(`gnus-group-prepare-hook', `gnus-summary-prepare-hook' and
191`gnus-summary-article-hook'). (Well, at the very least the first
192two.) Gnus provides various integrated functions for highlighting,
193which are both faster and more accurated.
194
195There is absolutely no chance, whatsoever, of getting Gnus to work
196with Emacs 18. It won't even work on Emacsen older than Emacs
19719.30/XEmacs 19.13. Upgrade your Emacs or die.
198
177c0ea7 199
a7bfd66f
DL
200From lars Thu Feb 23 23:20:38 1995
201From: larsi@ifi.uio.no (ding)
202Date: Fri Feb 24 13:40:45 1995
203Subject: How do I re-scan my mail groups?
204Message-ID: <lars-doc8@eyesore.no>
205
206Reading the active file from the nntp server is a drag.
207
208Just press `M-g' on the mail groups, and they will be re-scanned.
209
210You can also re-scan all the mail groups by putting them on level 1
211(`S l 1'), and saying `1 g' to re-scan all level 1 groups.
212
213
214From lars Thu Feb 23 23:20:38 1995
215From: larsi@ifi.uio.no (ding)
216Date: Fri Feb 24 13:40:45 1995
217Subject: How do I set up virtual newsgroups?
218Message-ID: <lars-doc9@eyesore.no>
219
220Virtual newsgroups are collections of other newsgroups. Why people
221want this is beyond me, but here goes:
222
223Create the group by saying
224
225`M-a my.virtual.newsgroup<RET>nnvirtual<RET>^rec\.aquaria\.*<RET>'
226
227This will create the group "nnvirtual:my.virtual.newsgroup", which
228will collect all articles from all the groups in the "rec.aquaria"
177c0ea7 229hierarchy.
a7bfd66f
DL
230
231If you want to edit the regular expression, just type `M-e' on the
232group line.
233
234Note that all the groups that are part of the virtual group have to be
235alive. This means that the cannot, absolutely not, be zombie or
236killed. They can be unsubscribed; that's no problem.
237
238You can combine groups from different servers in the same virtual
239newsgroup, something that may actually be useful. Say you have the
240group "comp.headers" on the server "news.server.no" and the same group
241on "news.server.edu". If people have posted articles with Distribution
242headers that stop propagation of their articles, combining these two
243newsgroups into one virtual newsgroup should give you a better view of
244what's going on.
245
246One caveat, though: The virtual group article numbers from the first
247source group (group A) will always be lower than the article numbers
248from the second (group B). This means that Gnus will believe that
249articles from group A are older than articles from group B. Threading
250will lessen these problems, but it might be a good idea to sort the
251threads over the date of the articles to get a correct feel for the
252flow of the groups:
253
254(setq gnus-thread-sort-functions '(gnus-thread-sort-by-date))
255
256If you only want this in virtual groups, you could say something along
257the lines of:
258
259(setq gnus-select-group-hook
260 (lambda ()
177c0ea7 261 (if (eq 'nnvirtual (car (gnus-find-method-for-group
a7bfd66f
DL
262 gnus-newsgroup-name)))
263 (progn
264 (make-local-variable 'gnus-thread-sort-functions)
265 (setq gnus-thread-sort-functions '(gnus-thread-sort-by-date))))))
266
267
268From lars Thu Feb 23 23:20:38 1995
269From: larsi@ifi.uio.no (ding)
270Date: Fri Feb 24 13:40:45 1995
271Subject: Bugs & stuff
272Message-ID: <lars-doc7@eyesore.no>
273
274If you want to report a bug, please type `M-x gnus-bug'. This will
275give me a precise overview of your Gnus and Emacs version numbers,
276along with a look at all Gnus variables you have changed.
277
278Du not expect a reply back, but your bug should be fixed in the next
279version. If the bug persists, please re-submit your bug report.
280
281When a bug occurs, I need a recipe for how to trigger the bug. You
282have to tell me exactly what you do to uncover the bug, and you should
283(setq debug-on-error t) and send me the backtrace along with the bug
177c0ea7 284report.
a7bfd66f
DL
285
286If I am not able to reproduce the bug, I won't be able to fix it.
287
288I would, of course, prefer that you locate the bug, fix it, and mail
289me the patches, but one can't have everything.
290
291If you have any questions on usage, the "ding@ifi.uio.no" mailing list
292is where to post the questions.
293
294