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