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