comparison man/gnus.texi @ 163:0132846995bd r20-3b8

Import from CVS: tag r20-3b8
author cvs
date Mon, 13 Aug 2007 09:43:35 +0200
parents 43dd3413c7c7
children 85ec50267440
comparison
equal deleted inserted replaced
162:4de2936b4e77 163:0132846995bd
1 \input texinfo @c -*-texinfo-*- 1 \input texinfo @c -*-texinfo-*-
2 2
3 @setfilename gnus 3 @setfilename gnus
4 @settitle Gnus 5.4.56 Manual 4 @settitle Gnus 5.4.59 Manual
5 @synindex fn cp 5 @synindex fn cp
6 @synindex vr cp 6 @synindex vr cp
7 @synindex pg cp 7 @synindex pg cp
8 @iftex 8 @iftex
9 @finalout 9 @finalout
10 @end iftex 10 @end iftex
11 @setchapternewpage odd 11 @setchapternewpage odd
12 12
13 @iftex 13 @iftex
14 @iflatex 14 @iflatex
15 \documentclass[twoside,a4paper,openright]{book} 15 \documentclass[twoside,a4paper,openright,11pt]{book}
16 \usepackage[latin1]{inputenc} 16 \usepackage[latin1]{inputenc}
17 \usepackage{pagestyle} 17 \usepackage{pagestyle}
18 \usepackage{epsfig} 18 \usepackage{epsfig}
19 \fontfamily{bembo}\selectfont 19 \usepackage{bembo}
20 20
21 \makeindex 21 \makeindex
22 \begin{document} 22 \begin{document}
23 23
24 \newcommand{\gnuschaptername}{} 24 \newcommand{\gnuschaptername}{}
30 \newcommand{\gnuspxref}[1]{see ``#1'' on page \pageref{#1}} 30 \newcommand{\gnuspxref}[1]{see ``#1'' on page \pageref{#1}}
31 31
32 \newcommand{\gnuskindex}[1]{\index{#1}} 32 \newcommand{\gnuskindex}[1]{\index{#1}}
33 \newcommand{\gnusindex}[1]{\index{#1}} 33 \newcommand{\gnusindex}[1]{\index{#1}}
34 34
35 \newcommand{\gnustt}[1]{{\textbf{\textsf{#1}}}} 35 \newcommand{\gnustt}[1]{{\fontfamily{pfu}\fontsize{10pt}{10}\selectfont #1}}
36 \newcommand{\gnuscode}[1]{\gnustt{#1}} 36 \newcommand{\gnuscode}[1]{\gnustt{#1}}
37 \newcommand{\gnussamp}[1]{``\gnustt{#1}''} 37 \newcommand{\gnussamp}[1]{``{\fontencoding{OT1}\fontfamily{pcr}\fontsize{10pt}{10}\selectfont #1}''}
38 \newcommand{\gnuslisp}[1]{\gnustt{#1}} 38 \newcommand{\gnuslisp}[1]{\gnustt{#1}}
39 \newcommand{\gnuskbd}[1]{`\gnustt{#1}'} 39 \newcommand{\gnuskbd}[1]{`\gnustt{#1}'}
40 \newcommand{\gnusfile}[1]{`\gnustt{#1}'} 40 \newcommand{\gnusfile}[1]{`\gnustt{#1}'}
41 \newcommand{\gnusdfn}[1]{\textit{#1}} 41 \newcommand{\gnusdfn}[1]{\textit{#1}}
42 \newcommand{\gnusi}[1]{\textit{#1}} 42 \newcommand{\gnusi}[1]{\textit{#1}}
43 \newcommand{\gnusstrong}[1]{\textbf{#1}} 43 \newcommand{\gnusstrong}[1]{\textbf{#1}}
44 \newcommand{\gnusemph}[1]{\textit{#1}} 44 \newcommand{\gnusemph}[1]{\textit{#1}}
45 \newcommand{\gnusvar}[1]{\textsl{\textsf{#1}}} 45 \newcommand{\gnusvar}[1]{{\fontsize{10pt}{10}\selectfont\textsl{\textsf{#1}}}}
46 \newcommand{\gnussc}[1]{\textsc{#1}} 46 \newcommand{\gnussc}[1]{\textsc{#1}}
47 \newcommand{\gnustitle}[1]{{\huge\textbf{#1}}} 47 \newcommand{\gnustitle}[1]{{\huge\textbf{#1}}}
48 \newcommand{\gnusauthor}[1]{{\large\textbf{#1}}} 48 \newcommand{\gnusauthor}[1]{{\large\textbf{#1}}}
49 49
50 \newcommand{\gnusbullet}{{${\bullet}$}} 50 \newcommand{\gnusbullet}{{${\bullet}$}}
59 \newcommand{\gnusless}{{$<$}} 59 \newcommand{\gnusless}{{$<$}}
60 \newcommand{\gnusgreater}{{$>$}} 60 \newcommand{\gnusgreater}{{$>$}}
61 61
62 \newcommand{\gnushead}{\raisebox{-1cm}{\epsfig{figure=gnus-head.eps,height=1cm}}} 62 \newcommand{\gnushead}{\raisebox{-1cm}{\epsfig{figure=gnus-head.eps,height=1cm}}}
63 \newcommand{\gnusinteresting}{ 63 \newcommand{\gnusinteresting}{
64 \marginpar[\hspace{2.5cm}\gnushead]{\gnushead} 64 \marginpar[\mbox{}\hfill\gnushead]{\gnushead}
65 } 65 }
66 66
67 \newcommand{\gnuscleardoublepage}{\ifodd\count0\mbox{}\clearpage\thispagestyle{empty}\mbox{}\clearpage\else\clearpage\fi} 67 \newcommand{\gnuscleardoublepage}{\ifodd\count0\mbox{}\clearpage\thispagestyle{empty}\mbox{}\clearpage\else\clearpage\fi}
68 68
69 \newcommand{\gnuspagechapter}[1]{ 69 \newcommand{\gnuspagechapter}[1]{
80 \renewcommand{\gnussectionname}{} 80 \renewcommand{\gnussectionname}{}
81 \renewcommand{\gnuschaptername}{#2} 81 \renewcommand{\gnuschaptername}{#2}
82 \thispagestyle{empty} 82 \thispagestyle{empty}
83 \hspace*{-2cm} 83 \hspace*{-2cm}
84 \begin{picture}(500,500)(0,0) 84 \begin{picture}(500,500)(0,0)
85 \put(0,0){\makebox(480,350)[tr]{#1}} 85 \put(480,350){\makebox(0,0)[tr]{#1}}
86 \put(40,300){\makebox(500,50)[bl]{{\Huge\bf{#2}}}} 86 \put(40,300){\makebox(500,50)[bl]{{\Huge\bf{#2}}}}
87 \end{picture} 87 \end{picture}
88 \clearpage 88 \clearpage
89 } 89 }
90
91 \newcommand{\gnusfigure}[3]{
92 \begin{figure}
93 \mbox{}\ifodd\count0\hspace*{-0.8cm}\else\hspace*{-3cm}\fi\begin{picture}(440,#2)
94 #3
95 \end{picture}
96 \caption{#1}
97 \end{figure}
98 }
99
100 \newcommand{\gnusicon}[1]{
101 \marginpar[\mbox{}\hfill\raisebox{-1.5cm}{\epsfig{figure=tmp/#1-up.ps,height=1.5cm}}]{\raisebox{-1cm}{\epsfig{figure=tmp/#1-up.ps,height=1cm}}}
102 }
103
104 \newcommand{\gnuspicon}[1]{
105 \marginpar[\mbox{}\hfill\epsfig{figure=#1,height=1.5cm}]{\epsfig{figure=#1,height=1.5cm}}
106 }
107
108 \newcommand{\gnusxface}[1]{
109 \marginpar[\mbox{}\hfill\epsfig{figure=#1,height=1cm}]{\epsfig{figure=#1,height=1cm}}
110 }
111
90 112
91 \newcommand{\gnusitemx}[1]{\mbox{}\vspace*{-\itemsep}\vspace*{-\parsep}\item#1} 113 \newcommand{\gnusitemx}[1]{\mbox{}\vspace*{-\itemsep}\vspace*{-\parsep}\item#1}
92 114
93 \newcommand{\gnussection}[1]{ 115 \newcommand{\gnussection}[1]{
94 \renewcommand{\gnussectionname}{#1} 116 \renewcommand{\gnussectionname}{#1}
187 \newpagestyle{gnus}% 209 \newpagestyle{gnus}%
188 { 210 {
189 { 211 {
190 \ifodd\count0 212 \ifodd\count0
191 { 213 {
192 \hspace*{-0.23cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\arabic{chapter}.\arabic{section}} \textbf{\gnussectionname\hfill\arabic{page}}}} 214 \makebox[12cm]{\hspace*{3.1cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\arabic{chapter}.\arabic{section}} \textbf{\gnussectionname\hfill\arabic{page}}}}}
193 } 215 }
194 \else 216 \else
195 { 217 {
196 \hspace*{-3.25cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\arabic{page}\hfill\gnuschaptername}}} 218 \makebox[12cm]{\hspace*{-2.95cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\arabic{page}\hfill\gnuschaptername}}}}
197 } 219 }
198 \fi 220 \fi
199 } 221 }
200 } 222 }
201 { 223 {
225 \addtolength{\textheight}{2cm} 247 \addtolength{\textheight}{2cm}
226 248
227 \gnustitle{\gnustitlename}\\ 249 \gnustitle{\gnustitlename}\\
228 \rule{15cm}{1mm}\\ 250 \rule{15cm}{1mm}\\
229 \vfill 251 \vfill
230 \hspace*{-1cm}\epsfig{figure=gnus-big-logo.eps,height=15cm} 252 \hspace*{0cm}\epsfig{figure=gnus-big-logo.eps,height=15cm}
231 \vfill 253 \vfill
232 \rule{15cm}{1mm}\\ 254 \rule{15cm}{1mm}\\
233 \gnusauthor{by Lars Magne Ingebrigtsen} 255 \gnusauthor{by Lars Magne Ingebrigtsen}
234 \newpage 256 \newpage
235 } 257 }
285 @end ifinfo 307 @end ifinfo
286 308
287 @tex 309 @tex
288 310
289 @titlepage 311 @titlepage
290 @title Gnus 5.4.56 Manual 312 @title Gnus 5.4.59 Manual
291 313
292 @author by Lars Magne Ingebrigtsen 314 @author by Lars Magne Ingebrigtsen
293 @page 315 @page
294 316
295 @vskip 0pt plus 1filll 317 @vskip 0pt plus 1filll
321 You can read news (and mail) from within Emacs by using Gnus. The news 343 You can read news (and mail) from within Emacs by using Gnus. The news
322 can be gotten by any nefarious means you can think of---@sc{nntp}, local 344 can be gotten by any nefarious means you can think of---@sc{nntp}, local
323 spool or your mbox file. All at the same time, if you want to push your 345 spool or your mbox file. All at the same time, if you want to push your
324 luck. 346 luck.
325 347
326 This manual corresponds to Gnus 5.4.56. 348 This manual corresponds to Gnus 5.4.59.
327 349
328 @end ifinfo 350 @end ifinfo
329 351
330 @iftex 352 @iftex
331 353
436 @cindex @sc{nntp} server 458 @cindex @sc{nntp} server
437 If this variable is not set, Gnus will take a look at the 459 If this variable is not set, Gnus will take a look at the
438 @code{NNTPSERVER} environment variable. If that variable isn't set, 460 @code{NNTPSERVER} environment variable. If that variable isn't set,
439 Gnus will see whether @code{gnus-nntpserver-file} 461 Gnus will see whether @code{gnus-nntpserver-file}
440 (@file{/etc/nntpserver} by default) has any opinions on the matter. If 462 (@file{/etc/nntpserver} by default) has any opinions on the matter. If
441 that fails as well, Gnus will will try to use the machine that is 463 that fails as well, Gnus will try to use the machine that is
442 running Emacs as an @sc{nntp} server. That's a long shot, though. 464 running Emacs as an @sc{nntp} server. That's a long shot, though.
443 465
444 @vindex gnus-nntp-server 466 @vindex gnus-nntp-server
445 If @code{gnus-nntp-server} is set, this variable will override 467 If @code{gnus-nntp-server} is set, this variable will override
446 @code{gnus-select-method}. You should therefore set 468 @code{gnus-select-method}. You should therefore set
492 will subscribe you to just those groups in that list, leaving the rest 514 will subscribe you to just those groups in that list, leaving the rest
493 killed. Your system administrator should have set this variable to 515 killed. Your system administrator should have set this variable to
494 something useful. 516 something useful.
495 517
496 Since she hasn't, Gnus will just subscribe you to a few arbitrarily 518 Since she hasn't, Gnus will just subscribe you to a few arbitrarily
497 picked groups (i.e., @samp{*.newusers}). (@dfn{Arbitrary} is here 519 picked groups (i.e., @samp{*.newusers}). (@dfn{Arbitrary} is defined
498 defined as @dfn{whatever Lars thinks you should read}.) 520 here as @dfn{whatever Lars thinks you should read}.)
499 521
500 You'll also be subscribed to the Gnus documentation group, which should 522 You'll also be subscribed to the Gnus documentation group, which should
501 help you with most common problems. 523 help you with most common problems.
502 524
503 If @code{gnus-default-subscribed-newsgroups} is @code{t}, Gnus will just 525 If @code{gnus-default-subscribed-newsgroups} is @code{t}, Gnus will just
569 @node Fetching a Group 591 @node Fetching a Group
570 @section Fetching a Group 592 @section Fetching a Group
571 @cindex fetching a group 593 @cindex fetching a group
572 594
573 @findex gnus-fetch-group 595 @findex gnus-fetch-group
574 It it sometimes convenient to be able to just say ``I want to read this 596 It is sometimes convenient to be able to just say ``I want to read this
575 group and I don't care whether Gnus has been started or not''. This is 597 group and I don't care whether Gnus has been started or not''. This is
576 perhaps more useful for people who write code than for users, but the 598 perhaps more useful for people who write code than for users, but the
577 command @code{gnus-fetch-group} provides this functionality in any case. 599 command @code{gnus-fetch-group} provides this functionality in any case.
578 It takes the group name as a parameter. 600 It takes the group name as a parameter.
579 601
689 mouthful.) If this variable is non-@code{nil}, Gnus will ask you in a 711 mouthful.) If this variable is non-@code{nil}, Gnus will ask you in a
690 hierarchical fashion whether to subscribe to new groups or not. Gnus 712 hierarchical fashion whether to subscribe to new groups or not. Gnus
691 will ask you for each sub-hierarchy whether you want to descend the 713 will ask you for each sub-hierarchy whether you want to descend the
692 hierarchy or not. 714 hierarchy or not.
693 715
694 One common mistake is to set the variable a few paragraphs above to 716 One common mistake is to set the variable a few paragraphs above
717 (@code{gnus-subscribe-newsgroup-method}) to
695 @code{gnus-subscribe-hierarchical-interactive}. This is an error. This 718 @code{gnus-subscribe-hierarchical-interactive}. This is an error. This
696 will not work. This is ga-ga. So don't do it. 719 will not work. This is ga-ga. So don't do it.
697 720
698 721
699 @node Filtering New Groups 722 @node Filtering New Groups
721 @vindex gnus-options-subscribe 744 @vindex gnus-options-subscribe
722 If you don't want to mess with your @file{.newsrc} file, you can just 745 If you don't want to mess with your @file{.newsrc} file, you can just
723 set the two variables @code{gnus-options-subscribe} and 746 set the two variables @code{gnus-options-subscribe} and
724 @code{gnus-options-not-subscribe}. These two variables do exactly the 747 @code{gnus-options-not-subscribe}. These two variables do exactly the
725 same as the @file{.newsrc} @samp{options -n} trick. Both are regexps, 748 same as the @file{.newsrc} @samp{options -n} trick. Both are regexps,
726 and if the the new group matches the former, it will be unconditionally 749 and if the new group matches the former, it will be unconditionally
727 subscribed, and if it matches the latter, it will be ignored. 750 subscribed, and if it matches the latter, it will be ignored.
728 751
729 @vindex gnus-auto-subscribed-groups 752 @vindex gnus-auto-subscribed-groups
730 Yet another variable that meddles here is 753 Yet another variable that meddles here is
731 @code{gnus-auto-subscribed-groups}. It works exactly like 754 @code{gnus-auto-subscribed-groups}. It works exactly like
831 several servers where not all servers support @code{ask-server}. 854 several servers where not all servers support @code{ask-server}.
832 855
833 @vindex gnus-startup-file 856 @vindex gnus-startup-file
834 The @code{gnus-startup-file} variable says where the startup files are. 857 The @code{gnus-startup-file} variable says where the startup files are.
835 The default value is @file{~/.newsrc}, with the Gnus (El Dingo) startup 858 The default value is @file{~/.newsrc}, with the Gnus (El Dingo) startup
836 file being whatever that one is with a @samp{.eld} appended. 859 file being whatever that one is, with a @samp{.eld} appended.
837 860
838 @vindex gnus-save-newsrc-hook 861 @vindex gnus-save-newsrc-hook
839 @vindex gnus-save-quick-newsrc-hook 862 @vindex gnus-save-quick-newsrc-hook
840 @vindex gnus-save-standard-newsrc-hook 863 @vindex gnus-save-standard-newsrc-hook
841 @code{gnus-save-newsrc-hook} is called before saving any of the newsrc 864 @code{gnus-save-newsrc-hook} is called before saving any of the newsrc
1008 @cindex group buffer 1031 @cindex group buffer
1009 1032
1010 The @dfn{group buffer} lists all (or parts) of the available groups. It 1033 The @dfn{group buffer} lists all (or parts) of the available groups. It
1011 is the first buffer shown when Gnus starts, and will never be killed as 1034 is the first buffer shown when Gnus starts, and will never be killed as
1012 long as Gnus is active. 1035 long as Gnus is active.
1036
1037 @iftex
1038 @iflatex
1039 \gnusfigure{The Group Buffer}{320}{
1040 \put(75,50){\epsfig{figure=tmp/group.ps,height=9cm}}
1041 \put(120,37){\makebox(0,0)[t]{Buffer name}}
1042 \put(120,38){\vector(1,2){10}}
1043 \put(40,60){\makebox(0,0)[r]{Mode line}}
1044 \put(40,58){\vector(1,0){30}}
1045 \put(200,28){\makebox(0,0)[t]{Native select method}}
1046 \put(200,26){\vector(-1,2){15}}
1047 }
1048 @end iflatex
1049 @end iftex
1013 1050
1014 @menu 1051 @menu
1015 * Group Buffer Format:: Information listed and how you can change it. 1052 * Group Buffer Format:: Information listed and how you can change it.
1016 * Group Maneuvering:: Commands for moving in the group buffer. 1053 * Group Maneuvering:: Commands for moving in the group buffer.
1017 * Selecting a Group:: Actually reading news. 1054 * Selecting a Group:: Actually reading news.
1059 Quite simple, huh? 1096 Quite simple, huh?
1060 1097
1061 You can see that there are 25 unread articles in 1098 You can see that there are 25 unread articles in
1062 @samp{news.announce.newusers}. There are no unread articles, but some 1099 @samp{news.announce.newusers}. There are no unread articles, but some
1063 ticked articles, in @samp{alt.fan.andrea-dworkin} (see that little 1100 ticked articles, in @samp{alt.fan.andrea-dworkin} (see that little
1064 asterisk at the beginning of the line?) 1101 asterisk at the beginning of the line?).
1065 1102
1066 @vindex gnus-group-line-format 1103 @vindex gnus-group-line-format
1067 You can change that format to whatever you want by fiddling with the 1104 You can change that format to whatever you want by fiddling with the
1068 @code{gnus-group-line-format} variable. This variable works along the 1105 @code{gnus-group-line-format} variable. This variable works along the
1069 lines of a @code{format} specification, which is pretty much the same as 1106 lines of a @code{format} specification, which is pretty much the same as
1162 A string that says when you last read the group (@pxref{Group 1199 A string that says when you last read the group (@pxref{Group
1163 Timestamp}). 1200 Timestamp}).
1164 1201
1165 @item u 1202 @item u
1166 User defined specifier. The next character in the format string should 1203 User defined specifier. The next character in the format string should
1167 be a letter. @sc{gnus} will call the function 1204 be a letter. Gnus will call the function
1168 @code{gnus-user-format-function-}@samp{X}, where @samp{X} is the letter 1205 @code{gnus-user-format-function-}@samp{X}, where @samp{X} is the letter
1169 following @samp{%u}. The function will be passed a single dummy 1206 following @samp{%u}. The function will be passed a single dummy
1170 parameter as argument. The function should return a string, which will 1207 parameter as argument. The function should return a string, which will
1171 be inserted into the buffer just like information from any other 1208 be inserted into the buffer just like information from any other
1172 specifier. 1209 specifier.
1241 The score of the group. 1278 The score of the group.
1242 @item ticked 1279 @item ticked
1243 The number of ticked articles in the group. 1280 The number of ticked articles in the group.
1244 @item total 1281 @item total
1245 The total number of articles in the group. Or rather, MAX-NUMBER minus 1282 The total number of articles in the group. Or rather, MAX-NUMBER minus
1246 MIN-NUMBER. 1283 MIN-NUMBER plus one.
1247 @item topic 1284 @item topic
1248 When using the topic minor mode, this variable is bound to the current 1285 When using the topic minor mode, this variable is bound to the current
1249 topic being inserted. 1286 topic being inserted.
1250 @end table 1287 @end table
1251 1288
1438 @item S t 1475 @item S t
1439 @itemx u 1476 @itemx u
1440 @kindex S t (Group) 1477 @kindex S t (Group)
1441 @kindex u (Group) 1478 @kindex u (Group)
1442 @findex gnus-group-unsubscribe-current-group 1479 @findex gnus-group-unsubscribe-current-group
1480 @c @icon{gnus-group-unsubscribe}
1443 Toggle subscription to the current group 1481 Toggle subscription to the current group
1444 (@code{gnus-group-unsubscribe-current-group}). 1482 (@code{gnus-group-unsubscribe-current-group}).
1445 1483
1446 @item S s 1484 @item S s
1447 @itemx U 1485 @itemx U
1455 @item S k 1493 @item S k
1456 @itemx C-k 1494 @itemx C-k
1457 @kindex S k (Group) 1495 @kindex S k (Group)
1458 @kindex C-k (Group) 1496 @kindex C-k (Group)
1459 @findex gnus-group-kill-group 1497 @findex gnus-group-kill-group
1498 @c @icon{gnus-group-kill-group}
1460 Kill the current group (@code{gnus-group-kill-group}). 1499 Kill the current group (@code{gnus-group-kill-group}).
1461 1500
1462 @item S y 1501 @item S y
1463 @itemx C-y 1502 @itemx C-y
1464 @kindex S y (Group) 1503 @kindex S y (Group)
1508 1547
1509 @item c 1548 @item c
1510 @kindex c (Group) 1549 @kindex c (Group)
1511 @findex gnus-group-catchup-current 1550 @findex gnus-group-catchup-current
1512 @vindex gnus-group-catchup-group-hook 1551 @vindex gnus-group-catchup-group-hook
1552 @c @icon{gnus-group-catchup-current}
1513 Mark all unticked articles in this group as read 1553 Mark all unticked articles in this group as read
1514 (@code{gnus-group-catchup-current}). 1554 (@code{gnus-group-catchup-current}).
1515 @code{gnus-group-catchup-group-hook} is called when catching up a group from 1555 @code{gnus-group-catchup-group-hook} is called when catching up a group from
1516 the group buffer. 1556 the group buffer.
1517 1557
1563 1603
1564 @vindex gnus-level-killed 1604 @vindex gnus-level-killed
1565 @vindex gnus-level-zombie 1605 @vindex gnus-level-zombie
1566 @vindex gnus-level-unsubscribed 1606 @vindex gnus-level-unsubscribed
1567 @vindex gnus-level-subscribed 1607 @vindex gnus-level-subscribed
1568 Gnus considers groups on between levels 1 and 1608 Gnus considers groups from levels 1 to
1569 @code{gnus-level-subscribed} (inclusive) (default 5) to be subscribed, 1609 @code{gnus-level-subscribed} (inclusive) (default 5) to be subscribed,
1570 @code{gnus-level-subscribed} (exclusive) and 1610 @code{gnus-level-subscribed} (exclusive) and
1571 @code{gnus-level-unsubscribed} (inclusive) (default 7) to be 1611 @code{gnus-level-unsubscribed} (inclusive) (default 7) to be
1572 unsubscribed, @code{gnus-level-zombie} to be zombies (walking dead) 1612 unsubscribed, @code{gnus-level-zombie} to be zombies (walking dead)
1573 (default 8) and @code{gnus-level-killed} to be killed (default 9), 1613 (default 8) and @code{gnus-level-killed} to be killed (completely dead)
1574 completely dead. Gnus treats subscribed and unsubscribed groups exactly 1614 (default 9). Gnus treats subscribed and unsubscribed groups exactly the
1575 the same, but zombie and killed groups have no information on what 1615 same, but zombie and killed groups have no information on what articles
1576 articles you have read, etc, stored. This distinction between dead and 1616 you have read, etc, stored. This distinction between dead and living
1577 living groups isn't done because it is nice or clever, it is done purely 1617 groups isn't done because it is nice or clever, it is done purely for
1578 for reasons of efficiency. 1618 reasons of efficiency.
1579 1619
1580 It is recommended that you keep all your mail groups (if any) on quite 1620 It is recommended that you keep all your mail groups (if any) on quite
1581 low levels (e.g. 1 or 2). 1621 low levels (e.g. 1 or 2).
1582 1622
1583 If you want to play with the level variables, you should show some care. 1623 If you want to play with the level variables, you should show some care.
1802 1842
1803 @item G D 1843 @item G D
1804 @kindex G D (Group) 1844 @kindex G D (Group)
1805 @findex gnus-group-enter-directory 1845 @findex gnus-group-enter-directory
1806 @cindex nneething 1846 @cindex nneething
1807 Read an arbitrary directory as if with were a newsgroup with the 1847 Read an arbitrary directory as if it were a newsgroup with the
1808 @code{nneething} backend (@code{gnus-group-enter-directory}). 1848 @code{nneething} backend (@code{gnus-group-enter-directory}).
1809 @xref{Anything Groups}. 1849 @xref{Anything Groups}.
1810 1850
1811 @item G f 1851 @item G f
1812 @kindex G f (Group) 1852 @kindex G f (Group)
1895 1935
1896 @item to-list 1936 @item to-list
1897 @cindex to-list 1937 @cindex to-list
1898 If the group parameter list has an element that looks like 1938 If the group parameter list has an element that looks like
1899 @code{(to-list . "some@@where.com")}, that address will be used when 1939 @code{(to-list . "some@@where.com")}, that address will be used when
1900 doing a @kbd{a} in any group. It is totally ignored when doing a 1940 doing a @kbd{a} in that group. It is totally ignored when doing a
1901 followup---except that if it is present in a news group, you'll get mail 1941 followup---except that if it is present in a news group, you'll get mail
1902 group semantics when doing @kbd{f}. 1942 group semantics when doing @kbd{f}.
1903 1943
1904 If you do an @kbd{a} command in a mail group and you don't have a 1944 If you do an @kbd{a} command in a mail group and you don't have a
1905 @code{to-list} group parameter, one will be added automatically upon 1945 @code{to-list} group parameter, one will be added automatically upon
1906 sending the message. 1946 sending the message.
1947
1948 @item visible
1949 @cindex visible
1950 If the group parameter list has the element @code{(visible . t)},
1951 that group will always be visible in the Group buffer, regardless
1952 of whether it has any unread articles.
1907 1953
1908 @item broken-reply-to 1954 @item broken-reply-to
1909 @cindex broken-reply-to 1955 @cindex broken-reply-to
1910 Elements like @code{(broken-reply-to . t)} signals that @code{Reply-To} 1956 Elements like @code{(broken-reply-to . t)} signals that @code{Reply-To}
1911 headers in this group are to be ignored. This can be useful if you're 1957 headers in this group are to be ignored. This can be useful if you're
1925 useful if you have a mail group that's really a mirror of a news group. 1971 useful if you have a mail group that's really a mirror of a news group.
1926 1972
1927 @item gcc-self 1973 @item gcc-self
1928 @cindex gcc-self 1974 @cindex gcc-self
1929 If this symbol is present in the group parameter list and set to 1975 If this symbol is present in the group parameter list and set to
1930 @code{t}, new composed messages will be @code{Gcc}'d to the current 1976 @code{t}, newly composed messages will be @code{Gcc}'d to the current
1931 group. If it is present and set to @code{none}, no @code{Gcc:} header 1977 group. If it is present and set to @code{none}, no @code{Gcc:} header
1932 will be generated, if it is present and a string, this string will be 1978 will be generated, if it is present and a string, this string will be
1933 inserted literally as a @code{gcc} header (this symbol takes precedence over 1979 inserted literally as a @code{gcc} header (this symbol takes precedence over
1934 any default @code{Gcc} rules as described later). 1980 any default @code{Gcc} rules as described later).
1935 1981
1936 @item auto-expire 1982 @item auto-expire
1937 @cindex auto-expire 1983 @cindex auto-expire
1938 If the group parameter has an element that looks like @code{(auto-expire 1984 If the group parameter has an element that looks like @code{(auto-expire
1939 . t)}, , all articles that are read will be marked as expirable. For an 1985 . t)}, all articles that are read will be marked as expirable. For an
1940 alternative approach, @pxref{Expiring Mail}. 1986 alternative approach, @pxref{Expiring Mail}.
1941 1987
1942 @item total-expire 1988 @item total-expire
1943 @cindex total-expire 1989 @cindex total-expire
1944 If the group parameter has an element that looks like 1990 If the group parameter has an element that looks like
1963 means that all score commands you issue will end up in that file. 2009 means that all score commands you issue will end up in that file.
1964 2010
1965 @item adapt-file 2011 @item adapt-file
1966 @cindex adapt file group parameter 2012 @cindex adapt file group parameter
1967 Elements that look like @code{(adapt-file . "file")} will make 2013 Elements that look like @code{(adapt-file . "file")} will make
1968 @file{file} into the current adaptive file for the group in question. 2014 @file{file} into the current adaptive score file for the group in
1969 All adaptive score entries will be put into this file. 2015 question. All adaptive score entries will be put into this file.
1970 2016
1971 @item admin-address 2017 @item admin-address
1972 When unsubscribing to a mailing list you should never send the 2018 When unsubscribing from a mailing list you should never send the
1973 unsubscription notice to the mailing list itself. Instead, you'd send 2019 unsubscription notice to the mailing list itself. Instead, you'd send
1974 messages to the administrative address. This parameter allows you to 2020 messages to the administrative address. This parameter allows you to
1975 put the admin address somewhere convenient. 2021 put the admin address somewhere convenient.
1976 2022
1977 @item display 2023 @item display
1978 Elements that look like @code{(display . MODE)} says which articles to 2024 Elements that look like @code{(display . MODE)} say which articles to
1979 display on entering the group. Legal values are: 2025 display on entering the group. Legal values are:
1980 2026
1981 @table @code 2027 @table @code
1982 @item all 2028 @item all
1983 Display all articles, both read and unread. 2029 Display all articles, both read and unread.
2009 2055
2010 @end table 2056 @end table
2011 2057
2012 Use the @kbd{G p} command to edit group parameters of a group. 2058 Use the @kbd{G p} command to edit group parameters of a group.
2013 2059
2014 Also @pxref{Topic Parameters}. 2060 @pxref{Topic Parameters}.
2015 2061
2016 Here's an example group parameter list: 2062 Here's an example group parameter list:
2017 2063
2018 @example 2064 @example
2019 ((to-address . "ding@@gnus.org") 2065 ((to-address . "ding@@gnus.org")
2088 @findex gnus-group-list-active 2134 @findex gnus-group-list-active
2089 List absolutely all groups that are in the active file(s) of the 2135 List absolutely all groups that are in the active file(s) of the
2090 server(s) you are connected to (@code{gnus-group-list-active}). This 2136 server(s) you are connected to (@code{gnus-group-list-active}). This
2091 might very well take quite a while. It might actually be a better idea 2137 might very well take quite a while. It might actually be a better idea
2092 to do a @kbd{A M} to list all matching, and just give @samp{.} as the 2138 to do a @kbd{A M} to list all matching, and just give @samp{.} as the
2093 thing to match on. Also note that this command may list group that 2139 thing to match on. Also note that this command may list groups that
2094 don't exist (yet)---these will be listed as if they are killed groups. 2140 don't exist (yet)---these will be listed as if they were killed groups.
2095 Take the output with some grains of salt. 2141 Take the output with some grains of salt.
2096 2142
2097 @item A a 2143 @item A a
2098 @kindex A a (Group) 2144 @kindex A a (Group)
2099 @findex gnus-group-apropos 2145 @findex gnus-group-apropos
2307 (@code{gnus-group-browse-foreign-server}). 2353 (@code{gnus-group-browse-foreign-server}).
2308 @end table 2354 @end table
2309 2355
2310 @findex gnus-browse-mode 2356 @findex gnus-browse-mode
2311 A new buffer with a list of available groups will appear. This buffer 2357 A new buffer with a list of available groups will appear. This buffer
2312 will be use the @code{gnus-browse-mode}. This buffer looks a bit (well, 2358 will use the @code{gnus-browse-mode}. This buffer looks a bit (well,
2313 a lot) like a normal group buffer. 2359 a lot) like a normal group buffer.
2314 2360
2315 Here's a list of keystrokes available in the browse mode: 2361 Here's a list of keystrokes available in the browse mode:
2316 2362
2317 @table @kbd 2363 @table @kbd
2372 is a gain, but then who am I to judge? 2418 is a gain, but then who am I to judge?
2373 2419
2374 @item q 2420 @item q
2375 @kindex q (Group) 2421 @kindex q (Group)
2376 @findex gnus-group-exit 2422 @findex gnus-group-exit
2423 @c @icon{gnus-group-exit}
2377 Quit Gnus (@code{gnus-group-exit}). 2424 Quit Gnus (@code{gnus-group-exit}).
2378 2425
2379 @item Q 2426 @item Q
2380 @kindex Q (Group) 2427 @kindex Q (Group)
2381 @findex gnus-group-quit 2428 @findex gnus-group-quit
2414 them hierarchically according to topics. You put your Emacs groups over 2461 them hierarchically according to topics. You put your Emacs groups over
2415 here, your sex groups over there, and the rest (what, two groups or so?) 2462 here, your sex groups over there, and the rest (what, two groups or so?)
2416 you put in some misc section that you never bother with anyway. You can 2463 you put in some misc section that you never bother with anyway. You can
2417 even group the Emacs sex groups as a sub-topic to either the Emacs 2464 even group the Emacs sex groups as a sub-topic to either the Emacs
2418 groups or the sex groups---or both! Go wild! 2465 groups or the sex groups---or both! Go wild!
2466
2467 @iftex
2468 @iflatex
2469 \gnusfigure{Group Topics}{400}{
2470 \put(75,50){\epsfig{figure=tmp/group-topic.ps,height=9cm}}
2471 }
2472 @end iflatex
2473 @end iftex
2419 2474
2420 Here's an example: 2475 Here's an example:
2421 2476
2422 @example 2477 @example
2423 Gnus 2478 Gnus
2462 2517
2463 @node Topic Variables 2518 @node Topic Variables
2464 @subsection Topic Variables 2519 @subsection Topic Variables
2465 @cindex topic variables 2520 @cindex topic variables
2466 2521
2467 Now, if you select a topic, if will fold/unfold that topic, which is 2522 Now, if you select a topic, it will fold/unfold that topic, which is
2468 really neat, I think. 2523 really neat, I think.
2469 2524
2470 @vindex gnus-topic-line-format 2525 @vindex gnus-topic-line-format
2471 The topic lines themselves are created according to the 2526 The topic lines themselves are created according to the
2472 @code{gnus-topic-line-format} variable (@pxref{Formatting Variables}). 2527 @code{gnus-topic-line-format} variable (@pxref{Formatting Variables}).
2808 2863
2809 @table @code 2864 @table @code
2810 2865
2811 @item gnus-group-mode-hook 2866 @item gnus-group-mode-hook
2812 @vindex gnus-group-mode-hook 2867 @vindex gnus-group-mode-hook
2813 @code{gnus-group-mode-hook} is called after the group buffer has been 2868 is called after the group buffer has been
2814 created. 2869 created.
2815 2870
2816 @item gnus-group-prepare-hook 2871 @item gnus-group-prepare-hook
2817 @vindex gnus-group-prepare-hook 2872 @vindex gnus-group-prepare-hook
2818 @code{gnus-group-prepare-hook} is called after the group buffer is 2873 is called after the group buffer is
2819 generated. It may be used to modify the buffer in some strange, 2874 generated. It may be used to modify the buffer in some strange,
2820 unnatural way. 2875 unnatural way.
2821 2876
2822 @item gnus-permanently-visible-groups 2877 @item gnus-permanently-visible-groups
2823 @vindex gnus-permanently-visible-groups 2878 @vindex gnus-permanently-visible-groups
2835 @table @kbd 2890 @table @kbd
2836 2891
2837 @item g 2892 @item g
2838 @kindex g (Group) 2893 @kindex g (Group)
2839 @findex gnus-group-get-new-news 2894 @findex gnus-group-get-new-news
2895 @c @icon{gnus-group-get-new-news}
2840 Check the server(s) for new articles. If the numerical prefix is used, 2896 Check the server(s) for new articles. If the numerical prefix is used,
2841 this command will check only groups of level @var{arg} and lower 2897 this command will check only groups of level @var{arg} and lower
2842 (@code{gnus-group-get-new-news}). If given a non-numerical prefix, this 2898 (@code{gnus-group-get-new-news}). If given a non-numerical prefix, this
2843 command will force a total rereading of the active file(s) from the 2899 command will force a total re-reading of the active file(s) from the
2844 backend(s). 2900 backend(s).
2845 2901
2846 @item M-g 2902 @item M-g
2847 @kindex M-g (Group) 2903 @kindex M-g (Group)
2848 @findex gnus-group-get-new-news-this-group 2904 @findex gnus-group-get-new-news-this-group
2849 @vindex gnus-goto-next-group-when-activating 2905 @vindex gnus-goto-next-group-when-activating
2906 @c @icon{gnus-group-get-new-news-this-group}
2850 Check whether new articles have arrived in the current group 2907 Check whether new articles have arrived in the current group
2851 (@code{gnus-group-get-new-news-this-group}). 2908 (@code{gnus-group-get-new-news-this-group}).
2852 @code{gnus-goto-next-group-when-activating} says whether this command is 2909 @code{gnus-goto-next-group-when-activating} says whether this command is
2853 to move point to the next group or not. It is @code{t} by default. 2910 to move point to the next group or not. It is @code{t} by default.
2854 2911
2901 If fetching from the first site is unsuccessful, Gnus will attempt to go 2958 If fetching from the first site is unsuccessful, Gnus will attempt to go
2902 through @code{gnus-group-faq-directory} and try to open them one by one. 2959 through @code{gnus-group-faq-directory} and try to open them one by one.
2903 2960
2904 @item H d 2961 @item H d
2905 @itemx C-c C-d 2962 @itemx C-c C-d
2963 @c @icon{gnus-group-describe-group}
2906 @kindex H d (Group) 2964 @kindex H d (Group)
2907 @kindex C-c C-d (Group) 2965 @kindex C-c C-d (Group)
2908 @cindex describing groups 2966 @cindex describing groups
2909 @cindex group description 2967 @cindex group description
2910 @findex gnus-group-describe-group 2968 @findex gnus-group-describe-group
3054 3112
3055 @node Summary Buffer Format 3113 @node Summary Buffer Format
3056 @section Summary Buffer Format 3114 @section Summary Buffer Format
3057 @cindex summary buffer format 3115 @cindex summary buffer format
3058 3116
3117 @iftex
3118 @iflatex
3119 \gnusfigure{The Summary Buffer}{180}{
3120 \put(0,0){\epsfig{figure=tmp/summary.ps,width=7.5cm}}
3121 \put(445,0){\makebox(0,0)[br]{\epsfig{figure=tmp/summary-article.ps,width=7.5cm}}}
3122 }
3123 @end iflatex
3124 @end iftex
3125
3059 @menu 3126 @menu
3060 * Summary Buffer Lines:: You can specify how summary lines should look. 3127 * Summary Buffer Lines:: You can specify how summary lines should look.
3061 * Summary Buffer Mode Line:: You can say how the mode line should look. 3128 * Summary Buffer Mode Line:: You can say how the mode line should look.
3062 * Summary Highlighting:: Making the summary buffer all pretty and nice. 3129 * Summary Highlighting:: Making the summary buffer all pretty and nice.
3063 @end menu 3130 @end menu
3065 @findex mail-extract-address-components 3132 @findex mail-extract-address-components
3066 @findex gnus-extract-address-components 3133 @findex gnus-extract-address-components
3067 @vindex gnus-extract-address-components 3134 @vindex gnus-extract-address-components
3068 Gnus will use the value of the @code{gnus-extract-address-components} 3135 Gnus will use the value of the @code{gnus-extract-address-components}
3069 variable as a function for getting the name and address parts of a 3136 variable as a function for getting the name and address parts of a
3070 @code{From} header. Two pre-defined function exist: 3137 @code{From} header. Two pre-defined functions exist:
3071 @code{gnus-extract-address-components}, which is the default, quite 3138 @code{gnus-extract-address-components}, which is the default, quite
3072 fast, and too simplistic solution; and 3139 fast, and too simplistic solution; and
3073 @code{mail-extract-address-components}, which works very nicely, but is 3140 @code{mail-extract-address-components}, which works very nicely, but is
3074 slower. The default function will return the wrong answer in 5% of the 3141 slower. The default function will return the wrong answer in 5% of the
3075 cases. If this is unacceptable to you, use the other function instead. 3142 cases. If this is unacceptable to you, use the other function instead.
3084 @subsection Summary Buffer Lines 3151 @subsection Summary Buffer Lines
3085 3152
3086 @vindex gnus-summary-line-format 3153 @vindex gnus-summary-line-format
3087 You can change the format of the lines in the summary buffer by changing 3154 You can change the format of the lines in the summary buffer by changing
3088 the @code{gnus-summary-line-format} variable. It works along the same 3155 the @code{gnus-summary-line-format} variable. It works along the same
3089 lines a a normal @code{format} string, with some extensions 3156 lines as a normal @code{format} string, with some extensions
3090 (@pxref{Formatting Variables}). 3157 (@pxref{Formatting Variables}).
3091 3158
3092 The default string is @samp{%U%R%z%I%(%[%4L: %-20,20n%]%) %s\n}. 3159 The default string is @samp{%U%R%z%I%(%[%4L: %-20,20n%]%) %s\n}.
3093 3160
3094 The following format specification characters are understood: 3161 The following format specification characters are understood:
3152 @item D 3219 @item D
3153 @code{Date}. 3220 @code{Date}.
3154 @item d 3221 @item d
3155 The @code{Date} in @code{DD-MMM} format. 3222 The @code{Date} in @code{DD-MMM} format.
3156 @item o 3223 @item o
3157 The @code{Date} in @code{YYYYMMDDTHHMMSS} format. 3224 The @code{Date} in @var{YYYYMMDD}@code{T}@var{HHMMSS} format.
3158 @item M 3225 @item M
3159 @code{Message-ID}. 3226 @code{Message-ID}.
3160 @item r 3227 @item r
3161 @code{References}. 3228 @code{References}.
3162 @item t 3229 @item t
3167 article has any children. 3234 article has any children.
3168 @item P 3235 @item P
3169 The line number. 3236 The line number.
3170 @item u 3237 @item u
3171 User defined specifier. The next character in the format string should 3238 User defined specifier. The next character in the format string should
3172 be a letter. @sc{gnus} will call the function 3239 be a letter. Gnus will call the function
3173 @code{gnus-user-format-function-}@samp{X}, where @samp{X} is the letter 3240 @code{gnus-user-format-function-}@samp{X}, where @samp{X} is the letter
3174 following @samp{%u}. The function will be passed the current header as 3241 following @samp{%u}. The function will be passed the current header as
3175 argument. The function should return a string, which will be inserted 3242 argument. The function should return a string, which will be inserted
3176 into the summary just like information from any other summary specifier. 3243 into the summary just like information from any other summary specifier.
3177 @end table 3244 @end table
3259 highlight the current article in the summary buffer. 3326 highlight the current article in the summary buffer.
3260 3327
3261 @item gnus-summary-highlight 3328 @item gnus-summary-highlight
3262 @vindex gnus-summary-highlight 3329 @vindex gnus-summary-highlight
3263 Summary lines are highlighted according to this variable, which is a 3330 Summary lines are highlighted according to this variable, which is a
3264 list where the elements are on the format @var{(FORM . FACE)}. If you 3331 list where the elements are of the format @var{(FORM . FACE)}. If you
3265 would, for instance, like ticked articles to be italic and high-scored 3332 would, for instance, like ticked articles to be italic and high-scored
3266 articles to be bold, you could set this variable to something like 3333 articles to be bold, you could set this variable to something like
3267 @lisp 3334 @lisp
3268 (((eq mark gnus-ticked-mark) . italic) 3335 (((eq mark gnus-ticked-mark) . italic)
3269 ((> score default) . bold)) 3336 ((> score default) . bold))
3308 (@code{gnus-summary-goto-article}). 3375 (@code{gnus-summary-goto-article}).
3309 3376
3310 @item G g 3377 @item G g
3311 @kindex G g (Summary) 3378 @kindex G g (Summary)
3312 @findex gnus-summary-goto-subject 3379 @findex gnus-summary-goto-subject
3313 Ask for an article number and then go the summary line of that article 3380 Ask for an article number and then go to the summary line of that article
3314 without displaying the article (@code{gnus-summary-goto-subject}). 3381 without displaying the article (@code{gnus-summary-goto-subject}).
3315 @end table 3382 @end table
3316 3383
3317 If Gnus asks you to press a key to confirm going to the next group, you 3384 If Gnus asks you to press a key to confirm going to the next group, you
3318 can use the @kbd{C-n} and @kbd{C-p} keys to move around the group 3385 can use the @kbd{C-n} and @kbd{C-p} keys to move around the group
3391 @item G n 3458 @item G n
3392 @itemx n 3459 @itemx n
3393 @kindex n (Summary) 3460 @kindex n (Summary)
3394 @kindex G n (Summary) 3461 @kindex G n (Summary)
3395 @findex gnus-summary-next-unread-article 3462 @findex gnus-summary-next-unread-article
3463 @c @icon{gnus-summary-next-unread}
3396 Go to next unread article (@code{gnus-summary-next-unread-article}). 3464 Go to next unread article (@code{gnus-summary-next-unread-article}).
3397 3465
3398 @item G p 3466 @item G p
3399 @itemx p 3467 @itemx p
3400 @kindex p (Summary) 3468 @kindex p (Summary)
3401 @findex gnus-summary-prev-unread-article 3469 @findex gnus-summary-prev-unread-article
3470 @c @icon{gnus-summary-prev-unread}
3402 Go to previous unread article (@code{gnus-summary-prev-unread-article}). 3471 Go to previous unread article (@code{gnus-summary-prev-unread-article}).
3403 3472
3404 @item G N 3473 @item G N
3405 @itemx N 3474 @itemx N
3406 @kindex N (Summary) 3475 @kindex N (Summary)
3577 @item S r 3646 @item S r
3578 @itemx r 3647 @itemx r
3579 @kindex S r (Summary) 3648 @kindex S r (Summary)
3580 @kindex r (Summary) 3649 @kindex r (Summary)
3581 @findex gnus-summary-reply 3650 @findex gnus-summary-reply
3651 @c @icon{gnus-summary-mail-reply}
3652 @c @icon{gnus-summary-reply}
3582 Mail a reply to the author of the current article 3653 Mail a reply to the author of the current article
3583 (@code{gnus-summary-reply}). 3654 (@code{gnus-summary-reply}).
3584 3655
3585 @item S R 3656 @item S R
3586 @itemx R 3657 @itemx R
3587 @kindex R (Summary) 3658 @kindex R (Summary)
3588 @kindex S R (Summary) 3659 @kindex S R (Summary)
3589 @findex gnus-summary-reply-with-original 3660 @findex gnus-summary-reply-with-original
3661 @c @icon{gnus-summary-reply-with-original}
3590 Mail a reply to the author of the current article and include the 3662 Mail a reply to the author of the current article and include the
3591 original message (@code{gnus-summary-reply-with-original}). This 3663 original message (@code{gnus-summary-reply-with-original}). This
3592 command uses the process/prefix convention. 3664 command uses the process/prefix convention.
3593 3665
3594 @item S w 3666 @item S w
3595 @kindex S w (Summary) 3667 @kindex S w (Summary)
3596 @findex gnus-summary-wide-reply 3668 @findex gnus-summary-wide-reply
3597 Mail a wide reply to the author of the current article 3669 Mail a wide reply to the author of the current article
3598 (@code{gnus-summary-wide-reply}). 3670 (@code{gnus-summary-wide-reply}). A @dfn{wide reply} is a reply that
3671 goes out to all people listed in the @code{To}, @code{From} (or
3672 @code{Reply-to}) and @code{Cc} headers.
3599 3673
3600 @item S W 3674 @item S W
3601 @kindex S W (Summary) 3675 @kindex S W (Summary)
3602 @findex gnus-summary-wide-reply-with-original 3676 @findex gnus-summary-wide-reply-with-original
3603 Mail a wide reply to the current article and include the original 3677 Mail a wide reply to the current article and include the original
3605 the process/prefix convention. 3679 the process/prefix convention.
3606 3680
3607 @item S o m 3681 @item S o m
3608 @kindex S o m (Summary) 3682 @kindex S o m (Summary)
3609 @findex gnus-summary-mail-forward 3683 @findex gnus-summary-mail-forward
3684 @c @icon{gnus-summary-mail-forward}
3610 Forward the current article to some other person 3685 Forward the current article to some other person
3611 (@code{gnus-summary-mail-forward}). If given a prefix, include the full 3686 (@code{gnus-summary-mail-forward}). If given a prefix, include the full
3612 headers of the forwarded article. 3687 headers of the forwarded article.
3613 3688
3614 @item S m 3689 @item S m
3615 @itemx m 3690 @itemx m
3616 @kindex m (Summary) 3691 @kindex m (Summary)
3617 @kindex S m (Summary) 3692 @kindex S m (Summary)
3618 @findex gnus-summary-mail-other-window 3693 @findex gnus-summary-mail-other-window
3694 @c @icon{gnus-summary-mail-originate}
3619 Send a mail to some other person 3695 Send a mail to some other person
3620 (@code{gnus-summary-mail-other-window}). 3696 (@code{gnus-summary-mail-other-window}).
3621 3697
3622 @item S D b 3698 @item S D b
3623 @kindex S D b (Summary) 3699 @kindex S D b (Summary)
3689 @item S p 3765 @item S p
3690 @itemx a 3766 @itemx a
3691 @kindex a (Summary) 3767 @kindex a (Summary)
3692 @kindex S p (Summary) 3768 @kindex S p (Summary)
3693 @findex gnus-summary-post-news 3769 @findex gnus-summary-post-news
3770 @c @icon{gnus-summary-post-news}
3694 Post an article to the current group 3771 Post an article to the current group
3695 (@code{gnus-summary-post-news}). 3772 (@code{gnus-summary-post-news}).
3696 3773
3697 @item S f 3774 @item S f
3698 @itemx f 3775 @itemx f
3699 @kindex f (Summary) 3776 @kindex f (Summary)
3700 @kindex S f (Summary) 3777 @kindex S f (Summary)
3701 @findex gnus-summary-followup 3778 @findex gnus-summary-followup
3779 @c @icon{gnus-summary-followup}
3702 Post a followup to the current article (@code{gnus-summary-followup}). 3780 Post a followup to the current article (@code{gnus-summary-followup}).
3703 3781
3704 @item S F 3782 @item S F
3705 @itemx F 3783 @itemx F
3706 @kindex S F (Summary) 3784 @kindex S F (Summary)
3707 @kindex F (Summary) 3785 @kindex F (Summary)
3786 @c @icon{gnus-summary-followup-with-original}
3708 @findex gnus-summary-followup-with-original 3787 @findex gnus-summary-followup-with-original
3709 Post a followup to the current article and include the original message 3788 Post a followup to the current article and include the original message
3710 (@code{gnus-summary-followup-with-original}). This command uses the 3789 (@code{gnus-summary-followup-with-original}). This command uses the
3711 process/prefix convention. 3790 process/prefix convention.
3712 3791
3741 process/prefix convention. 3820 process/prefix convention.
3742 3821
3743 @item S u 3822 @item S u
3744 @kindex S u (Summary) 3823 @kindex S u (Summary)
3745 @findex gnus-uu-post-news 3824 @findex gnus-uu-post-news
3825 @c @icon{gnus-uu-post-news}
3746 Uuencode a file, split it into parts, and post it as a series 3826 Uuencode a file, split it into parts, and post it as a series
3747 (@code{gnus-uu-post-news}). (@pxref{Uuencoding and Posting}). 3827 (@code{gnus-uu-post-news}). (@pxref{Uuencoding and Posting}).
3748 @end table 3828 @end table
3749 3829
3750 3830
3758 3838
3759 Well, you can't cancel mail, but you can cancel posts. 3839 Well, you can't cancel mail, but you can cancel posts.
3760 3840
3761 @findex gnus-summary-cancel-article 3841 @findex gnus-summary-cancel-article
3762 @kindex C (Summary) 3842 @kindex C (Summary)
3843 @c @icon{gnus-summary-cancel-article}
3763 Find the article you wish to cancel (you can only cancel your own 3844 Find the article you wish to cancel (you can only cancel your own
3764 articles, so don't try any funny stuff). Then press @kbd{C} or @kbd{S 3845 articles, so don't try any funny stuff). Then press @kbd{C} or @kbd{S
3765 c} (@code{gnus-summary-cancel-article}). Your article will be 3846 c} (@code{gnus-summary-cancel-article}). Your article will be
3766 canceled---machines all over the world will be deleting your article. 3847 canceled---machines all over the world will be deleting your article.
3767 3848
3891 @vindex gnus-kill-file-mark 3972 @vindex gnus-kill-file-mark
3892 Marked as killed by kill files (@code{gnus-kill-file-mark}). 3973 Marked as killed by kill files (@code{gnus-kill-file-mark}).
3893 3974
3894 @item Y 3975 @item Y
3895 @vindex gnus-low-score-mark 3976 @vindex gnus-low-score-mark
3896 Marked as read by having a too low score (@code{gnus-low-score-mark}). 3977 Marked as read by having too low a score (@code{gnus-low-score-mark}).
3897 3978
3898 @item C 3979 @item C
3899 @vindex gnus-catchup-mark 3980 @vindex gnus-catchup-mark
3900 Marked as read by a catchup (@code{gnus-catchup-mark}). 3981 Marked as read by a catchup (@code{gnus-catchup-mark}).
3901 3982
3929 @vindex gnus-expirable-mark 4010 @vindex gnus-expirable-mark
3930 Marked as expirable (@code{gnus-expirable-mark}). 4011 Marked as expirable (@code{gnus-expirable-mark}).
3931 4012
3932 Marking articles as @dfn{expirable} (or have them marked as such 4013 Marking articles as @dfn{expirable} (or have them marked as such
3933 automatically) doesn't make much sense in normal groups---a user doesn't 4014 automatically) doesn't make much sense in normal groups---a user doesn't
3934 control the expiring of news articles, but in mail groups, for instance, 4015 control expiring of news articles, but in mail groups, for instance,
3935 articles that are marked as @dfn{expirable} can be deleted by Gnus at 4016 articles that are marked as @dfn{expirable} can be deleted by Gnus at
3936 any time. 4017 any time.
3937 @end table 4018 @end table
3938 4019
3939 4020
3967 4048
3968 @item 4049 @item
3969 @vindex gnus-saved-mark 4050 @vindex gnus-saved-mark
3970 Articles that are ``saved'' (in some manner or other; not necessarily 4051 Articles that are ``saved'' (in some manner or other; not necessarily
3971 religiously) are marked with an @samp{S} in the second column 4052 religiously) are marked with an @samp{S} in the second column
3972 (@code{gnus-saved-mark}. 4053 (@code{gnus-saved-mark}).
3973 4054
3974 @item 4055 @item
3975 @vindex gnus-not-empty-thread-mark 4056 @vindex gnus-not-empty-thread-mark
3976 @vindex gnus-empty-thread-mark 4057 @vindex gnus-empty-thread-mark
3977 It the @samp{%e} spec is used, the presence of threads or not will be 4058 If the @samp{%e} spec is used, the presence of threads or not will be
3978 marked with @code{gnus-not-empty-thread-mark} and 4059 marked with @code{gnus-not-empty-thread-mark} and
3979 @code{gnus-empty-thread-mark} in the third column, respectively. 4060 @code{gnus-empty-thread-mark} in the third column, respectively.
3980 4061
3981 @item 4062 @item
3982 @vindex gnus-process-mark 4063 @vindex gnus-process-mark
3983 Finally we have the @dfn{process mark} (@code{gnus-process-mark}. A 4064 Finally we have the @dfn{process mark} (@code{gnus-process-mark}). A
3984 variety of commands react to the presence of the process mark. For 4065 variety of commands react to the presence of the process mark. For
3985 instance, @kbd{X u} (@code{gnus-uu-decode-uu}) will uudecode and view 4066 instance, @kbd{X u} (@code{gnus-uu-decode-uu}) will uudecode and view
3986 all articles that have been marked with the process mark. Articles 4067 all articles that have been marked with the process mark. Articles
3987 marked with the process mark have a @samp{#} in the second column. 4068 marked with the process mark have a @samp{#} in the second column.
3988 4069
4051 (@code{gnus-summary-kill-same-subject}). 4132 (@code{gnus-summary-kill-same-subject}).
4052 4133
4053 @item M C 4134 @item M C
4054 @kindex M C (Summary) 4135 @kindex M C (Summary)
4055 @findex gnus-summary-catchup 4136 @findex gnus-summary-catchup
4137 @c @icon{gnus-summary-catchup}
4056 Mark all unread articles as read (@code{gnus-summary-catchup}). 4138 Mark all unread articles as read (@code{gnus-summary-catchup}).
4057 4139
4058 @item M C-c 4140 @item M C-c
4059 @kindex M C-c (Summary) 4141 @kindex M C-c (Summary)
4060 @findex gnus-summary-catchup-all 4142 @findex gnus-summary-catchup-all
4390 @item gnus-build-sparse-threads 4472 @item gnus-build-sparse-threads
4391 @vindex gnus-build-sparse-threads 4473 @vindex gnus-build-sparse-threads
4392 Fetching old headers can be slow. A low-rent similar effect can be 4474 Fetching old headers can be slow. A low-rent similar effect can be
4393 gotten by setting this variable to @code{some}. Gnus will then look at 4475 gotten by setting this variable to @code{some}. Gnus will then look at
4394 the complete @code{References} headers of all articles and try to string 4476 the complete @code{References} headers of all articles and try to string
4395 articles that belong in the same thread together. This will leave 4477 together articles that belong in the same thread. This will leave
4396 @dfn{gaps} in the threading display where Gnus guesses that an article 4478 @dfn{gaps} in the threading display where Gnus guesses that an article
4397 is missing from the thread. (These gaps appear like normal summary 4479 is missing from the thread. (These gaps appear like normal summary
4398 lines. If you select a gap, Gnus will try to fetch the article in 4480 lines. If you select a gap, Gnus will try to fetch the article in
4399 question.) If this variable is @code{t}, Gnus will display all these 4481 question.) If this variable is @code{t}, Gnus will display all these
4400 ``gaps'' without regard for whether they are useful for completing the 4482 ``gaps'' without regard for whether they are useful for completing the
4406 @vindex gnus-summary-gather-subject-limit 4488 @vindex gnus-summary-gather-subject-limit
4407 Loose threads are gathered by comparing subjects of articles. If this 4489 Loose threads are gathered by comparing subjects of articles. If this
4408 variable is @code{nil}, Gnus requires an exact match between the 4490 variable is @code{nil}, Gnus requires an exact match between the
4409 subjects of the loose threads before gathering them into one big 4491 subjects of the loose threads before gathering them into one big
4410 super-thread. This might be too strict a requirement, what with the 4492 super-thread. This might be too strict a requirement, what with the
4411 presence of stupid newsreaders that chop off long subjects lines. If 4493 presence of stupid newsreaders that chop off long subject lines. If
4412 you think so, set this variable to, say, 20 to require that only the 4494 you think so, set this variable to, say, 20 to require that only the
4413 first 20 characters of the subjects have to match. If you set this 4495 first 20 characters of the subjects have to match. If you set this
4414 variable to a really low number, you'll find that Gnus will gather 4496 variable to a really low number, you'll find that Gnus will gather
4415 everything in sight into one thread, which isn't very helpful. 4497 everything in sight into one thread, which isn't very helpful.
4416 4498
4459 @vindex gnus-summary-gather-exclude-subject 4541 @vindex gnus-summary-gather-exclude-subject
4460 Since loose thread gathering is done on subjects only, that might lead 4542 Since loose thread gathering is done on subjects only, that might lead
4461 to many false hits, especially with certain common subjects like 4543 to many false hits, especially with certain common subjects like
4462 @samp{} and @samp{(none)}. To make the situation slightly better, 4544 @samp{} and @samp{(none)}. To make the situation slightly better,
4463 you can use the regexp @code{gnus-summary-gather-exclude-subject} to say 4545 you can use the regexp @code{gnus-summary-gather-exclude-subject} to say
4464 what subjects should be excluded from the gathering process. The 4546 what subjects should be excluded from the gathering process.@*
4465 default is @samp{^ *$\\|^(none)$}. 4547 The default is @samp{^ *$\\|^(none)$}.
4466 4548
4467 @item gnus-summary-thread-gathering-function 4549 @item gnus-summary-thread-gathering-function
4468 @vindex gnus-summary-thread-gathering-function 4550 @vindex gnus-summary-thread-gathering-function
4469 Gnus gathers threads by looking at @code{Subject} headers. This means 4551 Gnus gathers threads by looking at @code{Subject} headers. This means
4470 that totally unrelated articles may end up in the same ``thread'', which 4552 that totally unrelated articles may end up in the same ``thread'', which
4471 is confusing. An alternate approach is to look at all the 4553 is confusing. An alternate approach is to look at all the
4472 @code{Message-ID}s in all the @code{References} headers to find matches. 4554 @code{Message-ID}s in all the @code{References} headers to find matches.
4473 This will ensure that no gathered threads ever includes unrelated 4555 This will ensure that no gathered threads ever include unrelated
4474 articles, but it's also means that people who have posted with broken 4556 articles, but it also means that people who have posted with broken
4475 newsreaders won't be gathered properly. The choice is yours---plague or 4557 newsreaders won't be gathered properly. The choice is yours---plague or
4476 cholera: 4558 cholera:
4477 4559
4478 @table @code 4560 @table @code
4479 @item gnus-gather-threads-by-subject 4561 @item gnus-gather-threads-by-subject
4502 read or killed the root in a previous session. 4584 read or killed the root in a previous session.
4503 4585
4504 When there is no real root of a thread, Gnus will have to fudge 4586 When there is no real root of a thread, Gnus will have to fudge
4505 something. This variable says what fudging method Gnus should use. 4587 something. This variable says what fudging method Gnus should use.
4506 There are four possible values: 4588 There are four possible values:
4589
4590 @iftex
4591 @iflatex
4592 \gnusfigure{The Summary Buffer}{390}{
4593 \put(0,0){\epsfig{figure=tmp/summary-adopt.ps,width=7.5cm}}
4594 \put(445,0){\makebox(0,0)[br]{\epsfig{figure=tmp/summary-empty.ps,width=7.5cm}}}
4595 \put(0,400){\makebox(0,0)[tl]{\epsfig{figure=tmp/summary-none.ps,width=7.5cm}}}
4596 \put(445,400){\makebox(0,0)[tr]{\epsfig{figure=tmp/summary-dummy.ps,width=7.5cm}}}
4597 }
4598 @end iflatex
4599 @end iftex
4507 4600
4508 @cindex adopting articles 4601 @cindex adopting articles
4509 4602
4510 @table @code 4603 @table @code
4511 4604
4646 Hide all threads (@code{gnus-summary-hide-all-threads}). 4739 Hide all threads (@code{gnus-summary-hide-all-threads}).
4647 4740
4648 @item T t 4741 @item T t
4649 @kindex T t (Summary) 4742 @kindex T t (Summary)
4650 @findex gnus-summary-rethread-current 4743 @findex gnus-summary-rethread-current
4651 Re-thread the thread the current article is part of 4744 Re-thread the current article's thread
4652 (@code{gnus-summary-rethread-current}). This works even when the 4745 (@code{gnus-summary-rethread-current}). This works even when the
4653 summary buffer is otherwise unthreaded. 4746 summary buffer is otherwise unthreaded.
4654 4747
4655 @item T ^ 4748 @item T ^
4656 @kindex T ^ (Summary) 4749 @kindex T ^ (Summary)
4657 @findex gnus-summary-reparent-thread 4750 @findex gnus-summary-reparent-thread
4658 Make the current article the child of the marked (or previous) article 4751 Make the current article the child of the marked (or previous) article
4659 (@code{gnus-summary-reparent-thread}. 4752 (@code{gnus-summary-reparent-thread}).
4660 4753
4661 @end table 4754 @end table
4662 4755
4663 The following commands are thread movement commands. They all 4756 The following commands are thread movement commands. They all
4664 understand the numeric prefix. 4757 understand the numeric prefix.
4695 If you ignore subject while threading, you'll naturally end up with 4788 If you ignore subject while threading, you'll naturally end up with
4696 threads that have several different subjects in them. If you then issue 4789 threads that have several different subjects in them. If you then issue
4697 a command like `T k' (@code{gnus-summary-kill-thread}) you might not 4790 a command like `T k' (@code{gnus-summary-kill-thread}) you might not
4698 wish to kill the entire thread, but just those parts of the thread that 4791 wish to kill the entire thread, but just those parts of the thread that
4699 have the same subject as the current article. If you like this idea, 4792 have the same subject as the current article. If you like this idea,
4700 you can fiddle with @code{gnus-thread-operation-ignore-subject}. If is 4793 you can fiddle with @code{gnus-thread-operation-ignore-subject}. If it
4701 is non-@code{nil} (which it is by default), subjects will be ignored 4794 is non-@code{nil} (which it is by default), subjects will be ignored
4702 when doing thread commands. If this variable is @code{nil}, articles in 4795 when doing thread commands. If this variable is @code{nil}, articles in
4703 the same thread with different subjects will not be included in the 4796 the same thread with different subjects will not be included in the
4704 operation in question. If this variable is @code{fuzzy}, only articles 4797 operation in question. If this variable is @code{fuzzy}, only articles
4705 that have subjects that are fuzzily equal will be included (@pxref{Fuzzy 4798 that have subjects that are fuzzily equal will be included (@pxref{Fuzzy
4722 predicate functions include @code{gnus-thread-sort-by-number}, 4815 predicate functions include @code{gnus-thread-sort-by-number},
4723 @code{gnus-thread-sort-by-author}, @code{gnus-thread-sort-by-subject}, 4816 @code{gnus-thread-sort-by-author}, @code{gnus-thread-sort-by-subject},
4724 @code{gnus-thread-sort-by-date}, @code{gnus-thread-sort-by-score}, and 4817 @code{gnus-thread-sort-by-date}, @code{gnus-thread-sort-by-score}, and
4725 @code{gnus-thread-sort-by-total-score}. 4818 @code{gnus-thread-sort-by-total-score}.
4726 4819
4727 Each function takes two threads and return non-@code{nil} if the first 4820 Each function takes two threads and returns non-@code{nil} if the first
4728 thread should be sorted before the other. Note that sorting really is 4821 thread should be sorted before the other. Note that sorting really is
4729 normally done by looking only at the roots of each thread. If you use 4822 normally done by looking only at the roots of each thread. If you use
4730 more than one function, the primary sort key should be the last function 4823 more than one function, the primary sort key should be the last function
4731 in the list. You should probably always include 4824 in the list. You should probably always include
4732 @code{gnus-thread-sort-by-number} in the list of sorting 4825 @code{gnus-thread-sort-by-number} in the list of sorting
4754 say something like: 4847 say something like:
4755 4848
4756 @lisp 4849 @lisp
4757 (setq gnus-thread-sort-functions 4850 (setq gnus-thread-sort-functions
4758 '((lambda (t1 t2) 4851 '((lambda (t1 t2)
4759 (not (gnus-thread-sort-by-number t1 t2))) 4852 (not (gnus-thread-sort-by-number t2 t1)))
4760 gnus-thread-sort-by-score)) 4853 gnus-thread-sort-by-score))
4761 @end lisp 4854 @end lisp
4762 4855
4763 @vindex gnus-thread-score-function 4856 @vindex gnus-thread-score-function
4764 The function in the @code{gnus-thread-score-function} variable (default 4857 The function in the @code{gnus-thread-score-function} variable (default
4829 @vindex gnus-asynchronous 4922 @vindex gnus-asynchronous
4830 Here's how: Set @code{gnus-asynchronous} to @code{t}. The rest should 4923 Here's how: Set @code{gnus-asynchronous} to @code{t}. The rest should
4831 happen automatically. 4924 happen automatically.
4832 4925
4833 @vindex gnus-use-article-prefetch 4926 @vindex gnus-use-article-prefetch
4834 You can control how many articles that are to be pre-fetched by setting 4927 You can control how many articles are to be pre-fetched by setting
4835 @code{gnus-use-article-prefetch}. This is 30 by default, which means 4928 @code{gnus-use-article-prefetch}. This is 30 by default, which means
4836 that when you read an article in the group, the backend will pre-fetch 4929 that when you read an article in the group, the backend will pre-fetch
4837 the next 30 articles. If this variable is @code{t}, the backend will 4930 the next 30 articles. If this variable is @code{t}, the backend will
4838 pre-fetch all the articles that it can without bound. If it is 4931 pre-fetch all the articles it can without bound. If it is
4839 @code{nil}, no pre-fetching will be made. 4932 @code{nil}, no pre-fetching will be done.
4840 4933
4841 @vindex gnus-async-prefetch-article-p 4934 @vindex gnus-async-prefetch-article-p
4842 @findex gnus-async-read-p 4935 @findex gnus-async-read-p
4843 There are probably some articles that you don't want to pre-fetch---read 4936 There are probably some articles that you don't want to pre-fetch---read
4844 articles, for instance. Which articles to pre-fetch is controlled by 4937 articles, for instance. The @code{gnus-async-prefetch-article-p} variable controls whether an article is to be pre-fetched. This function should
4845 the @code{gnus-async-prefetch-article-p} variable. This function should
4846 return non-@code{nil} when the article in question is to be 4938 return non-@code{nil} when the article in question is to be
4847 pre-fetched. The default is @code{gnus-async-read-p}, which returns 4939 pre-fetched. The default is @code{gnus-async-read-p}, which returns
4848 @code{nil} on read articles. The function is called with an article 4940 @code{nil} on read articles. The function is called with an article
4849 data structure as the only parameter. 4941 data structure as the only parameter.
4850 4942
4860 4952
4861 (setq gnus-async-prefetch-article-p 'my-async-short-unread-p) 4953 (setq gnus-async-prefetch-article-p 'my-async-short-unread-p)
4862 @end lisp 4954 @end lisp
4863 4955
4864 These functions will be called many, many times, so they should 4956 These functions will be called many, many times, so they should
4865 preferrably be short and sweet to avoid slowing down Gnus too much. 4957 preferably be short and sweet to avoid slowing down Gnus too much.
4866 It's also probably a good idea to byte-compile things like this. 4958 It's probably a good idea to byte-compile things like this.
4867 4959
4868 @vindex gnus-prefetched-article-deletion-strategy 4960 @vindex gnus-prefetched-article-deletion-strategy
4869 Articles have to be removed from the asynch buffer sooner or later. The 4961 Articles have to be removed from the asynch buffer sooner or later. The
4870 @code{gnus-prefetched-article-deletion-strategy} says when to remove 4962 @code{gnus-prefetched-article-deletion-strategy} says when to remove
4871 articles. This is a list that may contain the following elements: 4963 articles. This is a list that may contain the following elements:
4905 all articles that are ticked or marked as dormant will then be copied 4997 all articles that are ticked or marked as dormant will then be copied
4906 over to your local cache (@code{gnus-cache-directory}). Whether this 4998 over to your local cache (@code{gnus-cache-directory}). Whether this
4907 cache is flat or hierarchal is controlled by the 4999 cache is flat or hierarchal is controlled by the
4908 @code{gnus-use-long-file-name} variable, as usual. 5000 @code{gnus-use-long-file-name} variable, as usual.
4909 5001
4910 When re-select a ticked or dormant article, it will be fetched from the 5002 When re-selecting a ticked or dormant article, it will be fetched from the
4911 cache instead of from the server. As articles in your cache will never 5003 cache instead of from the server. As articles in your cache will never
4912 expire, this might serve as a method of saving articles while still 5004 expire, this might serve as a method of saving articles while still
4913 keeping them where they belong. Just mark all articles you want to save 5005 keeping them where they belong. Just mark all articles you want to save
4914 as dormant, and don't worry. 5006 as dormant, and don't worry.
4915 5007
5049 @item O o 5141 @item O o
5050 @itemx o 5142 @itemx o
5051 @kindex O o (Summary) 5143 @kindex O o (Summary)
5052 @kindex o (Summary) 5144 @kindex o (Summary)
5053 @findex gnus-summary-save-article 5145 @findex gnus-summary-save-article
5146 @c @icon{gnus-summary-save-article}
5054 Save the current article using the default article saver 5147 Save the current article using the default article saver
5055 (@code{gnus-summary-save-article}). 5148 (@code{gnus-summary-save-article}).
5056 5149
5057 @item O m 5150 @item O m
5058 @kindex O m (Summary) 5151 @kindex O m (Summary)
5067 (@code{gnus-summary-save-article-rmail}). 5160 (@code{gnus-summary-save-article-rmail}).
5068 5161
5069 @item O f 5162 @item O f
5070 @kindex O f (Summary) 5163 @kindex O f (Summary)
5071 @findex gnus-summary-save-article-file 5164 @findex gnus-summary-save-article-file
5165 @c @icon{gnus-summary-save-article-file}
5072 Save the current article in plain file format 5166 Save the current article in plain file format
5073 (@code{gnus-summary-save-article-file}). 5167 (@code{gnus-summary-save-article-file}).
5074 5168
5075 @item O F 5169 @item O F
5076 @kindex O F (Summary) 5170 @kindex O F (Summary)
5163 @cindex MH folders 5257 @cindex MH folders
5164 Save the article to an MH folder using @code{rcvstore} from the MH 5258 Save the article to an MH folder using @code{rcvstore} from the MH
5165 library. Uses the function in the @code{gnus-folder-save-name} variable 5259 library. Uses the function in the @code{gnus-folder-save-name} variable
5166 to get a file name to save the article in. The default is 5260 to get a file name to save the article in. The default is
5167 @code{gnus-folder-save-name}, but you can also use 5261 @code{gnus-folder-save-name}, but you can also use
5168 @code{gnus-Folder-save-name}. The former creates capitalized names, and 5262 @code{gnus-Folder-save-name}, which creates capitalized names.
5169 the latter does not.
5170 5263
5171 @item gnus-summary-save-in-vm 5264 @item gnus-summary-save-in-vm
5172 @findex gnus-summary-save-in-vm 5265 @findex gnus-summary-save-in-vm
5173 Save the article in a VM folder. You have to have the VM mail 5266 Save the article in a VM folder. You have to have the VM mail
5174 reader to use this setting. 5267 reader to use this setting.
5313 5406
5314 For example: If you choose a subject called @samp{cat.gif (2/3)}, Gnus 5407 For example: If you choose a subject called @samp{cat.gif (2/3)}, Gnus
5315 will find all the articles that match the regexp @samp{^cat.gif 5408 will find all the articles that match the regexp @samp{^cat.gif
5316 ([0-9]+/[0-9]+).*$}. 5409 ([0-9]+/[0-9]+).*$}.
5317 5410
5318 Subjects that are nonstandard, like @samp{cat.gif (2/3) Part 6 of a 5411 Subjects that are non-standard, like @samp{cat.gif (2/3) Part 6 of a
5319 series}, will not be properly recognized by any of the automatic viewing 5412 series}, will not be properly recognized by any of the automatic viewing
5320 commands, and you have to mark the articles manually with @kbd{#}. 5413 commands, and you have to mark the articles manually with @kbd{#}.
5321 5414
5322 5415
5323 @node Uuencoded Articles 5416 @node Uuencoded Articles
5328 @table @kbd 5421 @table @kbd
5329 5422
5330 @item X u 5423 @item X u
5331 @kindex X u (Summary) 5424 @kindex X u (Summary)
5332 @findex gnus-uu-decode-uu 5425 @findex gnus-uu-decode-uu
5426 @c @icon{gnus-uu-decode-uu}
5333 Uudecodes the current series (@code{gnus-uu-decode-uu}). 5427 Uudecodes the current series (@code{gnus-uu-decode-uu}).
5334 5428
5335 @item X U 5429 @item X U
5336 @kindex X U (Summary) 5430 @kindex X U (Summary)
5337 @findex gnus-uu-decode-uu-and-save 5431 @findex gnus-uu-decode-uu-and-save
5447 @node Rule Variables 5541 @node Rule Variables
5448 @subsubsection Rule Variables 5542 @subsubsection Rule Variables
5449 @cindex rule variables 5543 @cindex rule variables
5450 5544
5451 Gnus uses @dfn{rule variables} to decide how to view a file. All these 5545 Gnus uses @dfn{rule variables} to decide how to view a file. All these
5452 variables are on the form 5546 variables are of the form
5453 5547
5454 @lisp 5548 @lisp
5455 (list '(regexp1 command2) 5549 (list '(regexp1 command2)
5456 '(regexp2 command2) 5550 '(regexp2 command2)
5457 ...) 5551 ...)
5487 5581
5488 @table @code 5582 @table @code
5489 @vindex gnus-uu-grabbed-file-functions 5583 @vindex gnus-uu-grabbed-file-functions
5490 5584
5491 @item gnus-uu-grabbed-file-functions 5585 @item gnus-uu-grabbed-file-functions
5492 All functions in this list will be called right each file has been 5586 All functions in this list will be called right after each file has been
5493 successfully decoded---so that you can move or view files right away, 5587 successfully decoded---so that you can move or view files right away,
5494 and don't have to wait for all files to be decoded before you can do 5588 and don't have to wait for all files to be decoded before you can do
5495 anything. Ready-made functions you can put in this list are: 5589 anything. Ready-made functions you can put in this list are:
5496 5590
5497 @table @code 5591 @table @code
5552 Non-@code{nil} means that @code{gnus-uu} will strip all carriage returns 5646 Non-@code{nil} means that @code{gnus-uu} will strip all carriage returns
5553 from articles. 5647 from articles.
5554 5648
5555 @item gnus-uu-unmark-articles-not-decoded 5649 @item gnus-uu-unmark-articles-not-decoded
5556 @vindex gnus-uu-unmark-articles-not-decoded 5650 @vindex gnus-uu-unmark-articles-not-decoded
5557 Non-@code{nil} means that @code{gnus-uu} will mark articles that were 5651 Non-@code{nil} means that @code{gnus-uu} will mark unsuccessfully
5558 unsuccessfully decoded as unread. 5652 decoded articles as unread.
5559 5653
5560 @item gnus-uu-correct-stripped-uucode 5654 @item gnus-uu-correct-stripped-uucode
5561 @vindex gnus-uu-correct-stripped-uucode 5655 @vindex gnus-uu-correct-stripped-uucode
5562 Non-@code{nil} means that @code{gnus-uu} will @emph{try} to fix 5656 Non-@code{nil} means that @code{gnus-uu} will @emph{try} to fix
5563 uuencoded files that have had trailing spaces deleted. 5657 uuencoded files that have had trailing spaces deleted.
5600 many articles it takes to post the entire file. 5694 many articles it takes to post the entire file.
5601 5695
5602 @item gnus-uu-post-threaded 5696 @item gnus-uu-post-threaded
5603 @vindex gnus-uu-post-threaded 5697 @vindex gnus-uu-post-threaded
5604 Non-@code{nil} means that @code{gnus-uu} will post the encoded file in a 5698 Non-@code{nil} means that @code{gnus-uu} will post the encoded file in a
5605 thread. This may not be smart, as no other decoder I have seen are able 5699 thread. This may not be smart, as no other decoder I have seen is able
5606 to follow threads when collecting uuencoded articles. (Well, I have 5700 to follow threads when collecting uuencoded articles. (Well, I have
5607 seen one package that does that---@code{gnus-uu}, but somehow, I don't 5701 seen one package that does that---@code{gnus-uu}, but somehow, I don't
5608 think that counts...) Default is @code{nil}. 5702 think that counts...) Default is @code{nil}.
5609 5703
5610 @item gnus-uu-post-separate-description 5704 @item gnus-uu-post-separate-description
5663 5757
5664 @node Article Treatment 5758 @node Article Treatment
5665 @section Article Treatment 5759 @section Article Treatment
5666 5760
5667 Reading through this huge manual, you may have quite forgotten that the 5761 Reading through this huge manual, you may have quite forgotten that the
5668 object of newsreaders are to actually, like, read what people have 5762 object of newsreaders is to actually, like, read what people have
5669 written. Reading articles. Unfortunately, people are quite bad at 5763 written. Reading articles. Unfortunately, people are quite bad at
5670 writing, so there are tons of functions and variables to make reading 5764 writing, so there are tons of functions and variables to make reading
5671 these articles easier. 5765 these articles easier.
5672 5766
5673 @menu 5767 @menu
5794 5888
5795 @vindex gnus-article-emphasis 5889 @vindex gnus-article-emphasis
5796 How the emphasis is computed is controlled by the 5890 How the emphasis is computed is controlled by the
5797 @code{gnus-article-emphasis} variable. This is an alist where the first 5891 @code{gnus-article-emphasis} variable. This is an alist where the first
5798 element is a regular expression to be matched. The second is a number 5892 element is a regular expression to be matched. The second is a number
5799 that says what regular expression grouping used to find the entire 5893 that says what regular expression grouping is used to find the entire
5800 emphasized word. The third is a number that says what regexp grouping 5894 emphasized word. The third is a number that says what regexp grouping
5801 should be displayed and highlighted. (The text between these two 5895 should be displayed and highlighted. (The text between these two
5802 groupings will be hidden.) The fourth is the face used for 5896 groupings will be hidden.) The fourth is the face used for
5803 highlighting. 5897 highlighting.
5804 5898
5817 @vindex gnus-emphasis-underline-bold-italic 5911 @vindex gnus-emphasis-underline-bold-italic
5818 By default, there are seven rules, and they use the following faces: 5912 By default, there are seven rules, and they use the following faces:
5819 @code{gnus-emphasis-bold}, @code{gnus-emphasis-italic}, 5913 @code{gnus-emphasis-bold}, @code{gnus-emphasis-italic},
5820 @code{gnus-emphasis-underline}, @code{gnus-emphasis-bold-italic}, 5914 @code{gnus-emphasis-underline}, @code{gnus-emphasis-bold-italic},
5821 @code{gnus-emphasis-underline-italic}, 5915 @code{gnus-emphasis-underline-italic},
5822 @code{gnus-emphasis-undeline-bold}, and 5916 @code{gnus-emphasis-underline-bold}, and
5823 @code{gnus-emphasis-underline-bold-italic}. 5917 @code{gnus-emphasis-underline-bold-italic}.
5824 5918
5825 If you want to change these faces, you can either use @kbd{M-x 5919 If you want to change these faces, you can either use @kbd{M-x
5826 customize}, or you can use @code{copy-face}. For instance, if you want 5920 customize}, or you can use @code{copy-face}. For instance, if you want
5827 to make @code{gnus-emphasis-italic} use a red face instead, you could 5921 to make @code{gnus-emphasis-italic} use a red face instead, you could
5873 signature has been hidden. 5967 signature has been hidden.
5874 5968
5875 @item W W P 5969 @item W W P
5876 @kindex W W P (Summary) 5970 @kindex W W P (Summary)
5877 @findex gnus-article-hide-pem 5971 @findex gnus-article-hide-pem
5878 Hide @sc{pem} (privacy enhanced messages) gruft 5972 Hide @sc{pem} (privacy enhanced messages) cruft
5879 (@code{gnus-article-hide-pem}). 5973 (@code{gnus-article-hide-pem}).
5880 5974
5881 @item W W c 5975 @item W W c
5882 @kindex W W c (Summary) 5976 @kindex W W c (Summary)
5883 @findex gnus-article-hide-citation 5977 @findex gnus-article-hide-citation
5891 If the cited text is of a bigger percentage than this variable (default 5985 If the cited text is of a bigger percentage than this variable (default
5892 50), hide the cited text. 5986 50), hide the cited text.
5893 5987
5894 @item gnus-cite-hide-absolute 5988 @item gnus-cite-hide-absolute
5895 @vindex gnus-cite-hide-absolute 5989 @vindex gnus-cite-hide-absolute
5896 The cited text must be have at least this length (default 10) before it 5990 The cited text must have at least this length (default 10) before it
5897 is hidden. 5991 is hidden.
5898 5992
5899 @item gnus-cited-text-button-line-format 5993 @item gnus-cited-text-button-line-format
5900 @vindex gnus-cited-text-button-line-format 5994 @vindex gnus-cited-text-button-line-format
5901 Gnus adds buttons show where the cited text has been hidden, and to 5995 Gnus adds buttons to show where the cited text has been hidden, and to
5902 allow toggle hiding the text. The format of the variable is specified 5996 allow toggle hiding the text. The format of the variable is specified
5903 by this format-like variable (@pxref{Formatting Variables}). These 5997 by this format-like variable (@pxref{Formatting Variables}). These
5904 specs are legal: 5998 specs are legal:
5905 5999
5906 @table @samp 6000 @table @samp
5957 (@code{gnus-summary-stop-page-breaking}). 6051 (@code{gnus-summary-stop-page-breaking}).
5958 6052
5959 @item W r 6053 @item W r
5960 @kindex W r (Summary) 6054 @kindex W r (Summary)
5961 @findex gnus-summary-caesar-message 6055 @findex gnus-summary-caesar-message
6056 @c @icon{gnus-summary-caesar-message}
5962 Do a Caesar rotate (rot13) on the article buffer 6057 Do a Caesar rotate (rot13) on the article buffer
5963 (@code{gnus-summary-caesar-message}). 6058 (@code{gnus-summary-caesar-message}).
5964 6059
5965 @item W t 6060 @item W t
5966 @kindex W t (Summary) 6061 @kindex W t (Summary)
6010 @cindex x-face 6105 @cindex x-face
6011 @findex gnus-article-display-x-face 6106 @findex gnus-article-display-x-face
6012 @findex gnus-article-x-face-command 6107 @findex gnus-article-x-face-command
6013 @vindex gnus-article-x-face-command 6108 @vindex gnus-article-x-face-command
6014 @vindex gnus-article-x-face-too-ugly 6109 @vindex gnus-article-x-face-too-ugly
6110 @iftex
6111 @iflatex
6112 \gnusxface{tmp/xface-karlheg.ps}
6113 \gnusxface{tmp/xface-kyle.ps}
6114 \gnusxface{tmp/xface-smb.ps}
6115 @end iflatex
6116 @end iftex
6015 Look for and display any X-Face headers 6117 Look for and display any X-Face headers
6016 (@code{gnus-article-display-x-face}). The command executed by this 6118 (@code{gnus-article-display-x-face}). The command executed by this
6017 function is given by the @code{gnus-article-x-face-command} variable. 6119 function is given by the @code{gnus-article-x-face-command} variable.
6018 If this variable is a string, this string will be executed in a 6120 If this variable is a string, this string will be executed in a
6019 sub-shell. If it is a function, this function will be called with the 6121 sub-shell. If it is a function, this function will be called with the
6098 6200
6099 @table @var 6201 @table @var
6100 6202
6101 @item regexp 6203 @item regexp
6102 All text that match this regular expression will be considered an 6204 All text that match this regular expression will be considered an
6103 external reference. Here's a typical regexp that match embedded URLs: 6205 external reference. Here's a typical regexp that matches embedded URLs:
6104 @samp{<URL:\\([^\n\r>]*\\)>}. 6206 @samp{<URL:\\([^\n\r>]*\\)>}.
6105 6207
6106 @item button-par 6208 @item button-par
6107 Gnus has to know which parts of the match is to be highlighted. This is 6209 Gnus has to know which parts of the matches is to be highlighted. This
6108 a number that says what sub-expression of the regexp that is to be 6210 is a number that says what sub-expression of the regexp is to be
6109 highlighted. If you want it all highlighted, you use 0 here. 6211 highlighted. If you want it all highlighted, you use 0 here.
6110 6212
6111 @item use-p 6213 @item use-p
6112 This form will be @code{eval}ed, and if the result is non-@code{nil}, 6214 This form will be @code{eval}ed, and if the result is non-@code{nil},
6113 this is considered a match. This is useful if you want extra sifting to 6215 this is considered a match. This is useful if you want extra sifting to
6136 6238
6137 @lisp 6239 @lisp
6138 (HEADER REGEXP BUTTON-PAR USE-P FUNCTION DATA-PAR) 6240 (HEADER REGEXP BUTTON-PAR USE-P FUNCTION DATA-PAR)
6139 @end lisp 6241 @end lisp
6140 6242
6141 @var{header} is a regular expression. 6243 @var{HEADER} is a regular expression.
6142 6244
6143 @item gnus-button-url-regexp 6245 @item gnus-button-url-regexp
6144 @vindex gnus-button-url-regexp 6246 @vindex gnus-button-url-regexp
6145 A regular expression that matches embedded URLs. It is used in the 6247 A regular expression that matches embedded URLs. It is used in the
6146 default values of the variables above. 6248 default values of the variables above.
6149 @vindex gnus-article-button-face 6251 @vindex gnus-article-button-face
6150 Face used on buttons. 6252 Face used on buttons.
6151 6253
6152 @item gnus-article-mouse-face 6254 @item gnus-article-mouse-face
6153 @vindex gnus-article-mouse-face 6255 @vindex gnus-article-mouse-face
6154 Face is used when the mouse cursor is over a button. 6256 Face used when the mouse cursor is over a button.
6155 6257
6156 @end table 6258 @end table
6157 6259
6158 6260
6159 @node Article Date 6261 @node Article Date
6183 @findex format-time-string 6285 @findex format-time-string
6184 Display the date using a user-defined format 6286 Display the date using a user-defined format
6185 (@code{gnus-article-date-user}). The format is specified by the 6287 (@code{gnus-article-date-user}). The format is specified by the
6186 @code{gnus-article-time-format} variable, and is a string that's passed 6288 @code{gnus-article-time-format} variable, and is a string that's passed
6187 to @code{format-time-string}. See the documentation of that variable 6289 to @code{format-time-string}. See the documentation of that variable
6188 for a list possible format specs. 6290 for a list of possible format specs.
6189 6291
6190 @item W T e 6292 @item W T e
6191 @kindex W T e (Summary) 6293 @kindex W T e (Summary)
6192 @findex gnus-article-date-lapsed 6294 @findex gnus-article-date-lapsed
6193 Say how much time has (e)lapsed between the article was posted and now 6295 Say how much time has elapsed between the article was posted and now
6194 (@code{gnus-article-date-lapsed}). 6296 (@code{gnus-article-date-lapsed}).
6195 6297
6196 @item W T o 6298 @item W T o
6197 @kindex W T o (Summary) 6299 @kindex W T o (Summary)
6198 @findex gnus-article-date-original 6300 @findex gnus-article-date-original
6199 Display the original date (@code{gnus-article-date-original}). This can 6301 Display the original date (@code{gnus-article-date-original}). This can
6200 be useful if you normally use some other conversion function and is 6302 be useful if you normally use some other conversion function and are
6201 worried that it might be doing something totally wrong. Say, claiming 6303 worried that it might be doing something totally wrong. Say, claiming
6202 that the article was posted in 1854. Although something like that is 6304 that the article was posted in 1854. Although something like that is
6203 @emph{totally} impossible. Don't you trust me? *titter* 6305 @emph{totally} impossible. Don't you trust me? *titter*
6204 6306
6205 @end table 6307 @end table
6369 6471
6370 @vindex gnus-refer-article-method 6472 @vindex gnus-refer-article-method
6371 If the group you are reading is located on a backend that does not 6473 If the group you are reading is located on a backend that does not
6372 support fetching by @code{Message-ID} very well (like @code{nnspool}), 6474 support fetching by @code{Message-ID} very well (like @code{nnspool}),
6373 you can set @code{gnus-refer-article-method} to an @sc{nntp} method. It 6475 you can set @code{gnus-refer-article-method} to an @sc{nntp} method. It
6374 would, perhaps, be best if the @sc{nntp} server you consult is the same 6476 would, perhaps, be best if the @sc{nntp} server you consult is the one
6375 as the one that keeps the spool you are reading from updated, but that's 6477 updating the spool you are reading from, but that's not really
6376 not really necessary. 6478 necessary.
6377 6479
6378 Most of the mail backends support fetching by @code{Message-ID}, but do 6480 Most of the mail backends support fetching by @code{Message-ID}, but do
6379 not do a particularly excellent job of it. That is, @code{nnmbox} and 6481 not do a particularly excellent job at it. That is, @code{nnmbox} and
6380 @code{nnbabyl} are able to locate articles from any groups, while 6482 @code{nnbabyl} are able to locate articles from any groups, while
6381 @code{nnml} and @code{nnfolder} are only able to locate articles that 6483 @code{nnml} and @code{nnfolder} are only able to locate articles that
6382 have been posted to the current group. (Anything else would be too time 6484 have been posted to the current group. (Anything else would be too time
6383 consuming.) @code{nnmh} does not support this at all. 6485 consuming.) @code{nnmh} does not support this at all.
6384 6486
6398 @node Pick and Read 6500 @node Pick and Read
6399 @subsection Pick and Read 6501 @subsection Pick and Read
6400 @cindex pick and read 6502 @cindex pick and read
6401 6503
6402 Some newsreaders (like @code{nn} and, uhm, @code{Netnews} on VM/CMS) use 6504 Some newsreaders (like @code{nn} and, uhm, @code{Netnews} on VM/CMS) use
6403 a two-phased reading interface. The user first marks the articles she 6505 a two-phased reading interface. The user first marks in a summary
6404 wants to read from a summary buffer. Then she starts reading the 6506 buffer the articles she wants to read. Then she starts reading the
6405 articles with just an article buffer displayed. 6507 articles with just an article buffer displayed.
6406 6508
6407 @findex gnus-pick-mode 6509 @findex gnus-pick-mode
6408 @kindex M-x gnus-pick-mode 6510 @kindex M-x gnus-pick-mode
6409 Gnus provides a summary buffer minor mode that allows 6511 Gnus provides a summary buffer minor mode that allows
6410 this---@code{gnus-pick-mode}. This basically means that a few process 6512 this---@code{gnus-pick-mode}. This basically means that a few process
6411 mark commands become one-keystroke commands to allow easy marking, and 6513 mark commands become one-keystroke commands to allow easy marking, and
6412 it makes one additional command for switching to the summary buffer 6514 it provides one additional command for switching to the summary buffer.
6413 available.
6414 6515
6415 Here are the available keystrokes when using pick mode: 6516 Here are the available keystrokes when using pick mode:
6416 6517
6417 @table @kbd 6518 @table @kbd
6418 @item . 6519 @item .
6419 @kindex . (Pick) 6520 @kindex . (Pick)
6420 @findex gnus-summary-mark-as-processable 6521 @findex gnus-summary-mark-as-processable
6421 Pick the article on the current line 6522 Pick the article on the current line
6422 (@code{gnus-summary-mark-as-processable}). If given a numerical prefix, 6523 (@code{gnus-summary-mark-as-processable}). If given a numerical prefix,
6423 go to the article on that line and pick that article. (The line number 6524 go to that article and pick it. (The line number is normally displayed
6424 is normally displayed on the beginning of the summary pick lines.) 6525 at the beginning of the summary pick lines.)
6425 6526
6426 @item SPACE 6527 @item SPACE
6427 @kindex SPACE (Pick) 6528 @kindex SPACE (Pick)
6428 @findex gnus-pick-next-page 6529 @findex gnus-pick-next-page
6429 Scroll the summary buffer up one page (@code{gnus-pick-next-page}). If 6530 Scroll the summary buffer up one page (@code{gnus-pick-next-page}). If
6502 @vindex gnus-mark-unpicked-articles-as-read 6603 @vindex gnus-mark-unpicked-articles-as-read
6503 If @code{gnus-mark-unpicked-articles-as-read} is non-@code{nil}, mark 6604 If @code{gnus-mark-unpicked-articles-as-read} is non-@code{nil}, mark
6504 all unpicked articles as read. The default is @code{nil}. 6605 all unpicked articles as read. The default is @code{nil}.
6505 6606
6506 @vindex gnus-summary-pick-line-format 6607 @vindex gnus-summary-pick-line-format
6507 The summary line format in pick mode is slightly different than the 6608 The summary line format in pick mode is slightly different from the
6508 standard format. At the beginning of each line the line number is 6609 standard format. At the beginning of each line the line number is
6509 displayed. The pick mode line format is controlled by the 6610 displayed. The pick mode line format is controlled by the
6510 @code{gnus-summary-pick-line-format} variable (@pxref{Formatting 6611 @code{gnus-summary-pick-line-format} variable (@pxref{Formatting
6511 Variables}). It accepts the same format specs that 6612 Variables}). It accepts the same format specs that
6512 @code{gnus-summary-line-format} does (@pxref{Summary Buffer Lines}). 6613 @code{gnus-summary-line-format} does (@pxref{Summary Buffer Lines}).
6524 selection functions uudecode series of articles and display the result 6625 selection functions uudecode series of articles and display the result
6525 instead of just displaying the articles the normal way. 6626 instead of just displaying the articles the normal way.
6526 6627
6527 @kindex g (Binary) 6628 @kindex g (Binary)
6528 @findex gnus-binary-show-article 6629 @findex gnus-binary-show-article
6529 In fact, the only way to see the actual articles if you have turned this 6630 The only way, in fact, to see the actual articles is the @kbd{g}
6530 mode on is the @kbd{g} command (@code{gnus-binary-show-article}). 6631 command, when you have turned on this mode
6632 (@code{gnus-binary-show-article}).
6531 6633
6532 @vindex gnus-binary-mode-hook 6634 @vindex gnus-binary-mode-hook
6533 @code{gnus-binary-mode-hook} is called in binary minor mode buffers. 6635 @code{gnus-binary-mode-hook} is called in binary minor mode buffers.
6534 6636
6535 6637
6611 buffer as small as possible to allow more room for the other Gnus 6713 buffer as small as possible to allow more room for the other Gnus
6612 windows. If this variable is a number, the tree buffer will never be 6714 windows. If this variable is a number, the tree buffer will never be
6613 higher than that number. The default is @code{t}. Note that if you 6715 higher than that number. The default is @code{t}. Note that if you
6614 have several windows displayed side-by-side in a frame and the tree 6716 have several windows displayed side-by-side in a frame and the tree
6615 buffer is one of these, minimizing the tree window will also resize all 6717 buffer is one of these, minimizing the tree window will also resize all
6616 other windows that are displayed next to it. 6718 other windows displayed next to it.
6617 6719
6618 @item gnus-generate-tree-function 6720 @item gnus-generate-tree-function
6619 @vindex gnus-generate-tree-function 6721 @vindex gnus-generate-tree-function
6620 @findex gnus-generate-horizontal-tree 6722 @findex gnus-generate-horizontal-tree
6621 @findex gnus-generate-vertical-tree 6723 @findex gnus-generate-vertical-tree
6623 functions are available: @code{gnus-generate-horizontal-tree} and 6725 functions are available: @code{gnus-generate-horizontal-tree} and
6624 @code{gnus-generate-vertical-tree} (which is the default). 6726 @code{gnus-generate-vertical-tree} (which is the default).
6625 6727
6626 @end table 6728 @end table
6627 6729
6628 Here's and example from a horizontal tree buffer: 6730 Here's an example from a horizontal tree buffer:
6629 6731
6630 @example 6732 @example
6631 @{***@}-(***)-[odd]-[Gun] 6733 @{***@}-(***)-[odd]-[Gun]
6632 | \[Jan] 6734 | \[Jan]
6633 | \[odd]-[Eri] 6735 | \[odd]-[Eri]
6656 @node Mail Group Commands 6758 @node Mail Group Commands
6657 @section Mail Group Commands 6759 @section Mail Group Commands
6658 @cindex mail group commands 6760 @cindex mail group commands
6659 6761
6660 Some commands only make sense in mail groups. If these commands are 6762 Some commands only make sense in mail groups. If these commands are
6661 illegal in the current group, they will raise a hell and let you know. 6763 illegal in the current group, they will raise hell and let you know.
6662 6764
6663 All these commands (except the expiry and edit commands) use the 6765 All these commands (except the expiry and edit commands) use the
6664 process/prefix convention (@pxref{Process/Prefix}). 6766 process/prefix convention (@pxref{Process/Prefix}).
6665 6767
6666 @table @kbd 6768 @table @kbd
6680 disappear forever into that big @file{/dev/null} in the sky. 6782 disappear forever into that big @file{/dev/null} in the sky.
6681 6783
6682 @item B DEL 6784 @item B DEL
6683 @kindex B DEL (Summary) 6785 @kindex B DEL (Summary)
6684 @findex gnus-summary-delete-article 6786 @findex gnus-summary-delete-article
6787 @c @icon{gnus-summary-mail-delete}
6685 Delete the mail article. This is ``delete'' as in ``delete it from your 6788 Delete the mail article. This is ``delete'' as in ``delete it from your
6686 disk forever and ever, never to return again.'' Use with caution. 6789 disk forever and ever, never to return again.'' Use with caution.
6687 (@code{gnus-summary-delete-article}). 6790 (@code{gnus-summary-delete-article}).
6688 6791
6689 @item B m 6792 @item B m
6695 6798
6696 @item B c 6799 @item B c
6697 @kindex B c (Summary) 6800 @kindex B c (Summary)
6698 @cindex copy mail 6801 @cindex copy mail
6699 @findex gnus-summary-copy-article 6802 @findex gnus-summary-copy-article
6803 @c @icon{gnus-summary-mail-copy}
6700 Copy the article from one group (mail group or not) to a mail group 6804 Copy the article from one group (mail group or not) to a mail group
6701 (@code{gnus-summary-copy-article}). 6805 (@code{gnus-summary-copy-article}).
6702 6806
6703 @item B C 6807 @item B C
6704 @kindex B C (Summary) 6808 @kindex B C (Summary)
6792 @item gnus-summary-generate-hook 6896 @item gnus-summary-generate-hook
6793 This is called as the last thing before doing the threading and the 6897 This is called as the last thing before doing the threading and the
6794 generation of the summary buffer. It's quite convenient for customizing 6898 generation of the summary buffer. It's quite convenient for customizing
6795 the threading variables based on what data the newsgroup has. This hook 6899 the threading variables based on what data the newsgroup has. This hook
6796 is called from the summary buffer after most summary buffer variables 6900 is called from the summary buffer after most summary buffer variables
6797 has been set. 6901 have been set.
6798 6902
6799 @vindex gnus-summary-prepare-hook 6903 @vindex gnus-summary-prepare-hook
6800 @item gnus-summary-prepare-hook 6904 @item gnus-summary-prepare-hook
6801 Is is called after the summary buffer has been generated. You might use 6905 It is called after the summary buffer has been generated. You might use
6802 it to, for instance, highlight lines or modify the look of the buffer in 6906 it to, for instance, highlight lines or modify the look of the buffer in
6803 some other ungodly manner. I don't care. 6907 some other ungodly manner. I don't care.
6804 6908
6805 @vindex gnus-summary-ignore-duplicates 6909 @vindex gnus-summary-ignore-duplicates
6806 @item gnus-summary-ignore-duplicates 6910 @item gnus-summary-ignore-duplicates
6828 Try to fetch the FAQ (list of frequently asked questions) for the 6932 Try to fetch the FAQ (list of frequently asked questions) for the
6829 current group (@code{gnus-summary-fetch-faq}). Gnus will try to get the 6933 current group (@code{gnus-summary-fetch-faq}). Gnus will try to get the
6830 FAQ from @code{gnus-group-faq-directory}, which is usually a directory 6934 FAQ from @code{gnus-group-faq-directory}, which is usually a directory
6831 on a remote machine. This variable can also be a list of directories. 6935 on a remote machine. This variable can also be a list of directories.
6832 In that case, giving a prefix to this command will allow you to choose 6936 In that case, giving a prefix to this command will allow you to choose
6833 between the various sites. @code{ange-ftp} probably will be used for 6937 between the various sites. @code{ange-ftp} or @code{efs} will probably
6834 fetching the file. 6938 be used for fetching the file.
6835 6939
6836 @item H d 6940 @item H d
6837 @kindex H d (Summary) 6941 @kindex H d (Summary)
6838 @findex gnus-summary-describe-group 6942 @findex gnus-summary-describe-group
6839 Give a brief description of the current group 6943 Give a brief description of the current group
6873 @item & 6977 @item &
6874 @kindex & (Summary) 6978 @kindex & (Summary)
6875 @findex gnus-summary-execute-command 6979 @findex gnus-summary-execute-command
6876 This command will prompt you for a header field, a regular expression to 6980 This command will prompt you for a header field, a regular expression to
6877 match on this field, and a command to be executed if the match is made 6981 match on this field, and a command to be executed if the match is made
6878 (@code{gnus-summary-execute-command}). 6982 (@code{gnus-summary-execute-command}). If given a prefix, search
6983 backward instead.
6879 6984
6880 @item M-& 6985 @item M-&
6881 @kindex M-& (Summary) 6986 @kindex M-& (Summary)
6882 @findex gnus-summary-universal-argument 6987 @findex gnus-summary-universal-argument
6883 Perform any operation on all articles that have been marked with 6988 Perform any operation on all articles that have been marked with
6914 If the current article is a collection of other articles (for instance, 7019 If the current article is a collection of other articles (for instance,
6915 a digest), you might use this command to enter a group based on the that 7020 a digest), you might use this command to enter a group based on the that
6916 article (@code{gnus-summary-enter-digest-group}). Gnus will try to 7021 article (@code{gnus-summary-enter-digest-group}). Gnus will try to
6917 guess what article type is currently displayed unless you give a prefix 7022 guess what article type is currently displayed unless you give a prefix
6918 to this command, which forces a ``digest'' interpretation. Basically, 7023 to this command, which forces a ``digest'' interpretation. Basically,
6919 whenever you see a message that is a collection of other messages on 7024 whenever you see a message that is a collection of other messages of
6920 some format, you @kbd{C-d} and read these messages in a more convenient 7025 some format, you @kbd{C-d} and read these messages in a more convenient
6921 fashion. 7026 fashion.
6922 7027
6923 @item M-C-d 7028 @item M-C-d
6924 @kindex M-C-d (Summary) 7029 @kindex M-C-d (Summary)
6963 @kindex Z Z (Summary) 7068 @kindex Z Z (Summary)
6964 @kindex q (Summary) 7069 @kindex q (Summary)
6965 @findex gnus-summary-exit 7070 @findex gnus-summary-exit
6966 @vindex gnus-summary-exit-hook 7071 @vindex gnus-summary-exit-hook
6967 @vindex gnus-summary-prepare-exit-hook 7072 @vindex gnus-summary-prepare-exit-hook
7073 @c @icon{gnus-summary-exit}
6968 Exit the current group and update all information on the group 7074 Exit the current group and update all information on the group
6969 (@code{gnus-summary-exit}). @code{gnus-summary-prepare-exit-hook} is 7075 (@code{gnus-summary-exit}). @code{gnus-summary-prepare-exit-hook} is
6970 called before doing much of the exiting, and calls 7076 called before doing much of the exiting, which calls
6971 @code{gnus-summary-expire-articles} by default. 7077 @code{gnus-summary-expire-articles} by default.
6972 @code{gnus-summary-exit-hook} is called after finishing the exiting 7078 @code{gnus-summary-exit-hook} is called after finishing the exit
6973 process. @code{gnus-group-no-more-groups-hook} is run when returning to 7079 process. @code{gnus-group-no-more-groups-hook} is run when returning to
6974 group mode having no more (unread) groups. 7080 group mode having no more (unread) groups.
6975 7081
6976 @item Z E 7082 @item Z E
6977 @itemx Q 7083 @itemx Q
6984 @item Z c 7090 @item Z c
6985 @itemx c 7091 @itemx c
6986 @kindex Z c (Summary) 7092 @kindex Z c (Summary)
6987 @kindex c (Summary) 7093 @kindex c (Summary)
6988 @findex gnus-summary-catchup-and-exit 7094 @findex gnus-summary-catchup-and-exit
7095 @c @icon{gnus-summary-catchup-and-exit}
6989 Mark all unticked articles in the group as read and then exit 7096 Mark all unticked articles in the group as read and then exit
6990 (@code{gnus-summary-catchup-and-exit}). 7097 (@code{gnus-summary-catchup-and-exit}).
6991 7098
6992 @item Z C 7099 @item Z C
6993 @kindex Z C (Summary) 7100 @kindex Z C (Summary)
7011 @item Z G 7118 @item Z G
7012 @itemx M-g 7119 @itemx M-g
7013 @kindex Z G (Summary) 7120 @kindex Z G (Summary)
7014 @kindex M-g (Summary) 7121 @kindex M-g (Summary)
7015 @findex gnus-summary-rescan-group 7122 @findex gnus-summary-rescan-group
7123 @c @icon{gnus-summary-mail-get}
7016 Exit the group, check for new articles in the group, and select the 7124 Exit the group, check for new articles in the group, and select the
7017 group (@code{gnus-summary-rescan-group}). If given a prefix, select all 7125 group (@code{gnus-summary-rescan-group}). If given a prefix, select all
7018 articles, both read and unread. 7126 articles, both read and unread.
7019 7127
7020 @item Z N 7128 @item Z N
7125 @section Duplicate Suppression 7233 @section Duplicate Suppression
7126 7234
7127 By default, Gnus tries to make sure that you don't have to read the same 7235 By default, Gnus tries to make sure that you don't have to read the same
7128 article more than once by utilizing the crossposting mechanism 7236 article more than once by utilizing the crossposting mechanism
7129 (@pxref{Crosspost Handling}). However, that simple and efficient 7237 (@pxref{Crosspost Handling}). However, that simple and efficient
7130 approach may not work satisfactorily for some users for various 7238 approach may not work satisfactory for some users for various
7131 reasons. 7239 reasons.
7132 7240
7133 @enumerate 7241 @enumerate
7134 @item 7242 @item
7135 The @sc{nntp} server may fail to generate the @code{Xref} header. This 7243 The @sc{nntp} server may fail to generate the @code{Xref} header. This
7145 7253
7146 @item 7254 @item
7147 You may be getting mail that duplicates articles posted to groups. 7255 You may be getting mail that duplicates articles posted to groups.
7148 @end enumerate 7256 @end enumerate
7149 7257
7150 I'm sure there are other situations that @code{Xref} handling fails as 7258 I'm sure there are other situations where @code{Xref} handling fails as
7151 well, but these four are the most common situations. 7259 well, but these four are the most common situations.
7152 7260
7153 If, and only if, @code{Xref} handling fails for you, then you may 7261 If, and only if, @code{Xref} handling fails for you, then you may
7154 consider switching on @dfn{duplicate suppression}. If you do so, Gnus 7262 consider switching on @dfn{duplicate suppression}. If you do so, Gnus
7155 will remember the @code{Message-ID}s of all articles you have read or 7263 will remember the @code{Message-ID}s of all articles you have read or
7161 7269
7162 Duplicate suppression is not a very subtle instrument. It's more like a 7270 Duplicate suppression is not a very subtle instrument. It's more like a
7163 sledge hammer than anything else. It works in a very simple 7271 sledge hammer than anything else. It works in a very simple
7164 fashion---if you have marked an article as read, it adds this Message-ID 7272 fashion---if you have marked an article as read, it adds this Message-ID
7165 to a cache. The next time it sees this Message-ID, it will mark the 7273 to a cache. The next time it sees this Message-ID, it will mark the
7166 article as read the the @samp{M} mark. It doesn't care what group it 7274 article as read with the @samp{M} mark. It doesn't care what group it
7167 saw the article in. 7275 saw the article in.
7168 7276
7169 @table @code 7277 @table @code
7170 @item gnus-suppress-duplicates 7278 @item gnus-suppress-duplicates
7171 @vindex gnus-suppress-duplicates 7279 @vindex gnus-suppress-duplicates
7173 7281
7174 @item gnus-save-duplicate-list 7282 @item gnus-save-duplicate-list
7175 @vindex gnus-save-duplicate-list 7283 @vindex gnus-save-duplicate-list
7176 If non-@code{nil}, save the list of duplicates to a file. This will 7284 If non-@code{nil}, save the list of duplicates to a file. This will
7177 make startup and shutdown take longer, so the default is @code{nil}. 7285 make startup and shutdown take longer, so the default is @code{nil}.
7178 However, this means that only duplicate articles that is read in a 7286 However, this means that only duplicate articles read in a single Gnus
7179 single Gnus session are suppressed. 7287 session are suppressed.
7180 7288
7181 @item gnus-duplicate-list-length 7289 @item gnus-duplicate-list-length
7182 @vindex gnus-duplicate-list-length 7290 @vindex gnus-duplicate-list-length
7183 This variables says how many @code{Message-ID}s to keep in the duplicate 7291 This variable says how many @code{Message-ID}s to keep in the duplicate
7184 suppression list. The default is 10000. 7292 suppression list. The default is 10000.
7185 7293
7186 @item gnus-duplicate-file 7294 @item gnus-duplicate-file
7187 @vindex gnus-duplicate-file 7295 @vindex gnus-duplicate-file
7188 The name of the file to store the duplicate suppression list. The 7296 The name of the file to store the duplicate suppression list in. The
7189 default is @file{~/News/suppression}. 7297 default is @file{~/News/suppression}.
7190 @end table 7298 @end table
7191 7299
7192 If you have a tendency to stop and start Gnus often, setting 7300 If you have a tendency to stop and start Gnus often, setting
7193 @code{gnus-save-duplicate-list} to @code{t} is probably a good idea. If 7301 @code{gnus-save-duplicate-list} to @code{t} is probably a good idea. If
7359 7467
7360 It might be best to just use the toggling functions from the summary 7468 It might be best to just use the toggling functions from the summary
7361 buffer to avoid getting nasty surprises. (For instance, you enter the 7469 buffer to avoid getting nasty surprises. (For instance, you enter the
7362 group @samp{alt.sing-a-long} and, before you know it, @sc{mime} has 7470 group @samp{alt.sing-a-long} and, before you know it, @sc{mime} has
7363 decoded the sound file in the article and some horrible sing-a-long song 7471 decoded the sound file in the article and some horrible sing-a-long song
7364 comes streaming out out your speakers, and you can't find the volume 7472 comes screaming out your speakers, and you can't find the volume
7365 button, because there isn't one, and people are starting to look at you, 7473 button, because there isn't one, and people are starting to look at you,
7366 and you try to stop the program, but you can't, and you can't find the 7474 and you try to stop the program, but you can't, and you can't find the
7367 program to control the volume, and everybody else in the room suddenly 7475 program to control the volume, and everybody else in the room suddenly
7368 decides to look at you disdainfully, and you'll feel rather stupid.) 7476 decides to look at you disdainfully, and you'll feel rather stupid.)
7369 7477
7445 (@code{gnus-article-describe-briefly}). 7553 (@code{gnus-article-describe-briefly}).
7446 7554
7447 @item TAB 7555 @item TAB
7448 @kindex TAB (Article) 7556 @kindex TAB (Article)
7449 @findex gnus-article-next-button 7557 @findex gnus-article-next-button
7450 Go to the next button, if any (@code{gnus-article-next-button}. This 7558 Go to the next button, if any (@code{gnus-article-next-button}). This
7451 only makes sense if you have buttonizing turned on. 7559 only makes sense if you have buttonizing turned on.
7452 7560
7453 @item M-TAB 7561 @item M-TAB
7454 @kindex M-TAB (Article) 7562 @kindex M-TAB (Article)
7455 @findex gnus-article-prev-button 7563 @findex gnus-article-prev-button
7456 Go to the previous button, if any (@code{gnus-article-prev-button}. 7564 Go to the previous button, if any (@code{gnus-article-prev-button}).
7457 7565
7458 @end table 7566 @end table
7459 7567
7460 7568
7461 @node Misc Article 7569 @node Misc Article
7513 paging will not be done. 7621 paging will not be done.
7514 7622
7515 @item gnus-page-delimiter 7623 @item gnus-page-delimiter
7516 @vindex gnus-page-delimiter 7624 @vindex gnus-page-delimiter
7517 This is the delimiter mentioned above. By default, it is @samp{^L} 7625 This is the delimiter mentioned above. By default, it is @samp{^L}
7518 (form linefeed). 7626 (formfeed).
7519 @end table 7627 @end table
7520 7628
7521 7629
7522 @node Composing Messages 7630 @node Composing Messages
7523 @chapter Composing Messages 7631 @chapter Composing Messages
7576 @item gnus-sent-message-ids-file 7684 @item gnus-sent-message-ids-file
7577 @vindex gnus-sent-message-ids-file 7685 @vindex gnus-sent-message-ids-file
7578 Gnus will keep a @code{Message-ID} history file of all the mails it has 7686 Gnus will keep a @code{Message-ID} history file of all the mails it has
7579 sent. If it discovers that it has already sent a mail, it will ask the 7687 sent. If it discovers that it has already sent a mail, it will ask the
7580 user whether to re-send the mail. (This is primarily useful when 7688 user whether to re-send the mail. (This is primarily useful when
7581 dealing with @sc{soup} packets and the like where one is apt to sent the 7689 dealing with @sc{soup} packets and the like where one is apt to send the
7582 same packet multiple times.) This variable says what the name of this 7690 same packet multiple times.) This variable says what the name of this
7583 history file is. It is @file{~/News/Sent-Message-IDs} by default. Set 7691 history file is. It is @file{~/News/Sent-Message-IDs} by default. Set
7584 this variable to @code{nil} if you don't want Gnus to keep a history 7692 this variable to @code{nil} if you don't want Gnus to keep a history
7585 file. 7693 file.
7586 7694
7634 @table @code 7742 @table @code
7635 @item gnus-mailing-list-groups 7743 @item gnus-mailing-list-groups
7636 @findex gnus-mailing-list-groups 7744 @findex gnus-mailing-list-groups
7637 @cindex mailing lists 7745 @cindex mailing lists
7638 7746
7639 If your news server offers groups that are really mailing lists that are 7747 If your news server offers groups that are really mailing lists
7640 gatewayed to the @sc{nntp} server, you can read those groups without 7748 gatewayed to the @sc{nntp} server, you can read those groups without
7641 problems, but you can't post/followup to them without some difficulty. 7749 problems, but you can't post/followup to them without some difficulty.
7642 One solution is to add a @code{to-address} to the group parameters 7750 One solution is to add a @code{to-address} to the group parameters
7643 (@pxref{Group Parameters}). An easier thing to do is set the 7751 (@pxref{Group Parameters}). An easier thing to do is set the
7644 @code{gnus-mailing-list-groups} to a regexp that match the groups that 7752 @code{gnus-mailing-list-groups} to a regexp that matches the groups that
7645 really are mailing lists. Then, at least, followups to the mailing 7753 really are mailing lists. Then, at least, followups to the mailing
7646 lists will work most of the time. Posting to these groups (@kbd{a}) is 7754 lists will work most of the time. Posting to these groups (@kbd{a}) is
7647 still a pain, though. 7755 still a pain, though.
7648 7756
7649 @end table 7757 @end table
7696 @cindex Gcc 7804 @cindex Gcc
7697 Gnus will insert @code{Gcc} headers in all outgoing messages that point 7805 Gnus will insert @code{Gcc} headers in all outgoing messages that point
7698 to one or more group(s) on that server. Which group to use is 7806 to one or more group(s) on that server. Which group to use is
7699 determined by the @code{gnus-message-archive-group} variable. 7807 determined by the @code{gnus-message-archive-group} variable.
7700 7808
7701 This variable can be: 7809 This variable can be used to do the following:
7702 7810
7703 @itemize @bullet 7811 @itemize @bullet
7704 @item a string 7812 @item a string
7705 Messages will be saved in that group. 7813 Messages will be saved in that group.
7706 @item a list of strings 7814 @item a list of strings
7748 "misc-news" 7856 "misc-news"
7749 (concat "mail." (format-time-string 7857 (concat "mail." (format-time-string
7750 "%Y-%m" (current-time)))))) 7858 "%Y-%m" (current-time))))))
7751 @end lisp 7859 @end lisp
7752 7860
7861 (XEmacs 19.13 doesn't have @code{format-time-string}, so you'll have to
7862 use a different value for @code{gnus-message-archive-group} there.)
7863
7753 Now, when you send a message off, it will be stored in the appropriate 7864 Now, when you send a message off, it will be stored in the appropriate
7754 group. (If you want to disable storing for just one particular message, 7865 group. (If you want to disable storing for just one particular message,
7755 you can just remove the @code{Gcc} header that has been inserted.) The 7866 you can just remove the @code{Gcc} header that has been inserted.) The
7756 archive group will appear in the group buffer the next time you start 7867 archive group will appear in the group buffer the next time you start
7757 Gnus, or the next time you press @kbd{F} in the group buffer. You can 7868 Gnus, or the next time you press @kbd{F} in the group buffer. You can
7759 group. If the group gets really big and annoying, you can simply rename 7870 group. If the group gets really big and annoying, you can simply rename
7760 if (using @kbd{G r} in the group buffer) to something 7871 if (using @kbd{G r} in the group buffer) to something
7761 nice---@samp{misc-mail-september-1995}, or whatever. New messages will 7872 nice---@samp{misc-mail-september-1995}, or whatever. New messages will
7762 continue to be stored in the old (now empty) group. 7873 continue to be stored in the old (now empty) group.
7763 7874
7764 That's the default method of archiving sent messages. Gnus also a 7875 That's the default method of archiving sent messages. Gnus offers a
7765 different way for the people who don't like the default method. In that 7876 different way for the people who don't like the default method. In that
7766 case you should set @code{gnus-message-archive-group} to @code{nil}; 7877 case you should set @code{gnus-message-archive-group} to @code{nil};
7767 this will disable archiving. 7878 this will disable archiving.
7768
7769 XEmacs 19.13 doesn't have @code{format-time-string}, so you'll have to
7770 use a different value for @code{gnus-message-archive-group} there.
7771 7879
7772 @table @code 7880 @table @code
7773 @item gnus-outgoing-message-group 7881 @item gnus-outgoing-message-group
7774 @vindex gnus-outgoing-message-group 7882 @vindex gnus-outgoing-message-group
7775 All outgoing messages will be put in this group. If you want to store 7883 All outgoing messages will be put in this group. If you want to store
8003 For instance, the @code{nntp} backend may be used to connect to several 8111 For instance, the @code{nntp} backend may be used to connect to several
8004 different actual @sc{nntp} servers, or, perhaps, to many different ports 8112 different actual @sc{nntp} servers, or, perhaps, to many different ports
8005 on the same actual @sc{nntp} server. You tell Gnus which backend to 8113 on the same actual @sc{nntp} server. You tell Gnus which backend to
8006 use, and what parameters to set by specifying a @dfn{select method}. 8114 use, and what parameters to set by specifying a @dfn{select method}.
8007 8115
8008 These select methods specifications can sometimes become quite 8116 These select method specifications can sometimes become quite
8009 complicated---say, for instance, that you want to read from the 8117 complicated---say, for instance, that you want to read from the
8010 @sc{nntp} server @samp{news.funet.fi} on port number 13, which 8118 @sc{nntp} server @samp{news.funet.fi} on port number 13, which
8011 hangs if queried for @sc{nov} headers and has a buggy select. Ahem. 8119 hangs if queried for @sc{nov} headers and has a buggy select. Ahem.
8012 Anyways, if you had to specify that for each group that used this 8120 Anyways, if you had to specify that for each group that used this
8013 server, that would be too much work, so Gnus offers a way of naming 8121 server, that would be too much work, so Gnus offers a way of naming
8150 8258
8151 As you can see, the first element in a select method is the name of the 8259 As you can see, the first element in a select method is the name of the
8152 backend, and the second is the @dfn{address}, or @dfn{name}, if you 8260 backend, and the second is the @dfn{address}, or @dfn{name}, if you
8153 will. 8261 will.
8154 8262
8155 After these two elements, there may be a arbitrary number of 8263 After these two elements, there may be an arbitrary number of
8156 @var{(variable form)} pairs. 8264 @var{(variable form)} pairs.
8157 8265
8158 To go back to the first example---imagine that you want to read from 8266 To go back to the first example---imagine that you want to read from
8159 port 15 from that machine. This is what the select method should 8267 port 15 on that machine. This is what the select method should
8160 look like then: 8268 look like then:
8161 8269
8162 @lisp 8270 @lisp
8163 (nntp "news.funet.fi" (nntp-port-number 15)) 8271 (nntp "news.funet.fi" (nntp-port-number 15))
8164 @end lisp 8272 @end lisp
8165 8273
8166 You should read the documentation to each backend to find out what 8274 You should read the documentation to each backend to find out what
8167 variables are relevant, but here's an @code{nnmh} example. 8275 variables are relevant, but here's an @code{nnmh} example:
8168 8276
8169 @code{nnmh} is a mail backend that reads a spool-like structure. Say 8277 @code{nnmh} is a mail backend that reads a spool-like structure. Say
8170 you have two structures that you wish to access: One is your private 8278 you have two structures that you wish to access: One is your private
8171 mail spool, and the other is a public one. Here's the possible spec for 8279 mail spool, and the other is a public one. Here's the possible spec for
8172 you private mail: 8280 you private mail:
8283 with that server will just be ignored. ``It can't be opened,'' Gnus 8391 with that server will just be ignored. ``It can't be opened,'' Gnus
8284 will tell you, without making the least effort to see whether that is 8392 will tell you, without making the least effort to see whether that is
8285 actually the case or not. 8393 actually the case or not.
8286 8394
8287 That might seem quite naughty, but it does make sense most of the time. 8395 That might seem quite naughty, but it does make sense most of the time.
8288 Let's say you have 10 groups subscribed to the server 8396 Let's say you have 10 groups subscribed to on server
8289 @samp{nephelococcygia.com}. This server is located somewhere quite far 8397 @samp{nephelococcygia.com}. This server is located somewhere quite far
8290 away from you and the machine is quite slow, so it takes 1 minute just 8398 away from you and the machine is quite slow, so it takes 1 minute just
8291 to find out that it refuses connection from you today. If Gnus were to 8399 to find out that it refuses connection to you today. If Gnus were to
8292 attempt to do that 10 times, you'd be quite annoyed, so Gnus won't 8400 attempt to do that 10 times, you'd be quite annoyed, so Gnus won't
8293 attempt to do that. Once it has gotten a single ``connection refused'', 8401 attempt to do that. Once it has gotten a single ``connection refused'',
8294 it will regard that server as ``down''. 8402 it will regard that server as ``down''.
8295 8403
8296 So, what happens if the machine was only feeling unwell temporarily? 8404 So, what happens if the machine was only feeling unwell temporarily?
8332 (@code{gnus-server-close-all-servers}). 8440 (@code{gnus-server-close-all-servers}).
8333 8441
8334 @item R 8442 @item R
8335 @kindex R (Server) 8443 @kindex R (Server)
8336 @findex gnus-server-remove-denials 8444 @findex gnus-server-remove-denials
8337 Remove all marks to whether Gnus was denied connection from all servers 8445 Remove all marks to whether Gnus was denied connection from any servers
8338 (@code{gnus-server-remove-denials}). 8446 (@code{gnus-server-remove-denials}).
8339 8447
8340 @end table 8448 @end table
8341 8449
8342 8450
8383 @cindex authinfo 8491 @cindex authinfo
8384 @cindex authentification 8492 @cindex authentification
8385 @cindex nntp authentification 8493 @cindex nntp authentification
8386 @findex nntp-send-authinfo 8494 @findex nntp-send-authinfo
8387 @findex nntp-send-mode-reader 8495 @findex nntp-send-mode-reader
8388 @code{nntp-server-opened-hook} is run after a connection has been made. 8496 is run after a connection has been made. It can be used to send
8389 It can be used to send commands to the @sc{nntp} server after it has 8497 commands to the @sc{nntp} server after it has been contacted. By
8390 been contacted. By default is sends the command @code{MODE READER} to 8498 default it sends the command @code{MODE READER} to the server with the
8391 the server with the @code{nntp-send-mode-reader} function. 8499 @code{nntp-send-mode-reader} function.
8392 8500
8393 @item nntp-authinfo-function 8501 @item nntp-authinfo-function
8394 @vindex nntp-authinfo-function 8502 @vindex nntp-authinfo-function
8395 This function will be used to send @samp{AUTHINFO} to the @sc{nntp} 8503 This function will be used to send @samp{AUTHINFO} to the @sc{nntp}
8396 server. Available functions include: 8504 server. Available functions include:
8397 8505
8398 @table @code 8506 @table @code
8399 @item nntp-send-authinfo 8507 @item nntp-send-authinfo
8400 @findex nntp-send-authinfo 8508 @findex nntp-send-authinfo
8401 This function will used you current login name as the user name and will 8509 This function will use your current login name as the user name and will
8402 prompt you for the password. This is the default. 8510 prompt you for the password. This is the default.
8403 8511
8404 @item nntp-send-nosy-authinfo 8512 @item nntp-send-nosy-authinfo
8405 @findex nntp-send-nosy-authinfo 8513 @findex nntp-send-nosy-authinfo
8406 This function will prompt you for both user name and password. 8514 This function will prompt you for both user name and password.
8411 read the @sc{nntp} password from @file{~/.nntp-authinfo}. 8519 read the @sc{nntp} password from @file{~/.nntp-authinfo}.
8412 @end table 8520 @end table
8413 8521
8414 @item nntp-server-action-alist 8522 @item nntp-server-action-alist
8415 @vindex nntp-server-action-alist 8523 @vindex nntp-server-action-alist
8416 This is an list of regexps to match on server types and actions to be 8524 This is a list of regexps to match on server types and actions to be
8417 taken when matches are made. For instance, if you want Gnus to beep 8525 taken when matches are made. For instance, if you want Gnus to beep
8418 every time you connect to innd, you could say something like: 8526 every time you connect to innd, you could say something like:
8419 8527
8420 @lisp 8528 @lisp
8421 (setq nntp-server-action-alist 8529 (setq nntp-server-action-alist
8461 If you're running Gnus on a machine that has a dynamically assigned 8569 If you're running Gnus on a machine that has a dynamically assigned
8462 address, Gnus may become confused. If the address of your machine 8570 address, Gnus may become confused. If the address of your machine
8463 changes after connecting to the @sc{nntp} server, Gnus will simply sit 8571 changes after connecting to the @sc{nntp} server, Gnus will simply sit
8464 waiting forever for replies from the server. To help with this 8572 waiting forever for replies from the server. To help with this
8465 unfortunate problem, you can set this command to a number. Gnus will 8573 unfortunate problem, you can set this command to a number. Gnus will
8466 then, if it sits waiting longer than that number of seconds for a reply 8574 then, if it sits waiting for a reply from the server longer than that
8467 from the server, shut down the connection, start a new one, and resend 8575 number of seconds, shut down the connection, start a new one, and resend
8468 the command. This should hopefully be transparent to the user. A 8576 the command. This should hopefully be transparent to the user. A
8469 likely number is 30 seconds. 8577 likely number is 30 seconds.
8470 8578
8471 @item nntp-retry-on-break 8579 @item nntp-retry-on-break
8472 @vindex nntp-retry-on-break 8580 @vindex nntp-retry-on-break
8473 If this variable is non-@code{nil}, you can also @kbd{C-g} if Gnus 8581 If this variable is non-@code{nil}, you can also @kbd{C-g} if Gnus
8474 hangs. This will have much the same effect as the command timeout 8582 hangs. This will have much the same effect as the command timeout
8510 @code{nntp-open-telnet}-related variables: 8618 @code{nntp-open-telnet}-related variables:
8511 8619
8512 @table @code 8620 @table @code
8513 @item nntp-telnet-command 8621 @item nntp-telnet-command
8514 @vindex nntp-telnet-command 8622 @vindex nntp-telnet-command
8515 Command used to start @samp{telnet}. 8623 Command used to start @code{telnet}.
8516 8624
8517 @item nntp-telnet-switches 8625 @item nntp-telnet-switches
8518 @vindex nntp-telnet-switches 8626 @vindex nntp-telnet-switches
8519 List of strings to be used as the switches to the telnet command. 8627 List of strings to be used as the switches to the @code{telnet} command.
8520 8628
8521 @item nntp-telnet-user-name 8629 @item nntp-telnet-user-name
8522 @vindex nntp-telnet-user-name 8630 @vindex nntp-telnet-user-name
8523 User name to log in on the remote system as. 8631 User name for log in on the remote system.
8524 8632
8525 @item nntp-telnet-passwd 8633 @item nntp-telnet-passwd
8526 @vindex nntp-telnet-passwd 8634 @vindex nntp-telnet-passwd
8527 Password to use when logging in. 8635 Password to use when logging in.
8528 8636
8529 @item nntp-telnet-parameters 8637 @item nntp-telnet-parameters
8530 @vindex nntp-telnet-parameters 8638 @vindex nntp-telnet-parameters
8531 A list of strings that will be executed as a command after logging in 8639 A list of strings executed as a command after logging in
8532 via telnet. 8640 via @code{telnet}.
8533 8641
8534 @end table 8642 @end table
8535 8643
8536 @item nntp-end-of-line 8644 @item nntp-end-of-line
8537 @vindex nntp-end-of-line 8645 @vindex nntp-end-of-line
8538 String to use as end-of-line markers when talking to the @sc{nntp} 8646 String to use as end-of-line marker when talking to the @sc{nntp}
8539 server. This is @samp{\r\n} by default, but should be @samp{\n} when 8647 server. This is @samp{\r\n} by default, but should be @samp{\n} when
8540 using @code{rlogin} to talk to the server. 8648 using @code{rlogin} to talk to the server.
8541 8649
8542 @item nntp-rlogin-user-name 8650 @item nntp-rlogin-user-name
8543 @vindex nntp-rlogin-user-name 8651 @vindex nntp-rlogin-user-name
8558 Set this to non-@code{nil} if your select routine is buggy. 8666 Set this to non-@code{nil} if your select routine is buggy.
8559 8667
8560 @item nntp-nov-is-evil 8668 @item nntp-nov-is-evil
8561 @vindex nntp-nov-is-evil 8669 @vindex nntp-nov-is-evil
8562 If the @sc{nntp} server does not support @sc{nov}, you could set this 8670 If the @sc{nntp} server does not support @sc{nov}, you could set this
8563 variable to @code{t}, but @code{nntp} usually checks whether @sc{nov} 8671 variable to @code{t}, but @code{nntp} usually checks automatically whether @sc{nov}
8564 can be used automatically. 8672 can be used.
8565 8673
8566 @item nntp-xover-commands 8674 @item nntp-xover-commands
8567 @vindex nntp-xover-commands 8675 @vindex nntp-xover-commands
8568 @cindex nov 8676 @cindex nov
8569 @cindex XOVER 8677 @cindex XOVER
8575 @vindex nntp-nov-gap 8683 @vindex nntp-nov-gap
8576 @code{nntp} normally sends just one big request for @sc{nov} lines to 8684 @code{nntp} normally sends just one big request for @sc{nov} lines to
8577 the server. The server responds with one huge list of lines. However, 8685 the server. The server responds with one huge list of lines. However,
8578 if you have read articles 2-5000 in the group, and only want to read 8686 if you have read articles 2-5000 in the group, and only want to read
8579 article 1 and 5001, that means that @code{nntp} will fetch 4999 @sc{nov} 8687 article 1 and 5001, that means that @code{nntp} will fetch 4999 @sc{nov}
8580 lines that you do not want, and will not use. This variable says how 8688 lines that you will not need. This variable says how
8581 big a gap between two consecutive articles is allowed to be before the 8689 big a gap between two consecutive articles is allowed to be before the
8582 @code{XOVER} request is split into several request. Note that if your 8690 @code{XOVER} request is split into several request. Note that if your
8583 network is fast, setting this variable to a really small number means 8691 network is fast, setting this variable to a really small number means
8584 that fetching will probably be slower. If this variable is @code{nil}, 8692 that fetching will probably be slower. If this variable is @code{nil},
8585 @code{nntp} will never split requests. 8693 @code{nntp} will never split requests.
8638 @vindex nnspool-lib-dir 8746 @vindex nnspool-lib-dir
8639 Where the news lib dir is (@file{/usr/lib/news/} by default). 8747 Where the news lib dir is (@file{/usr/lib/news/} by default).
8640 8748
8641 @item nnspool-active-file 8749 @item nnspool-active-file
8642 @vindex nnspool-active-file 8750 @vindex nnspool-active-file
8643 The path of the active file. 8751 The path to the active file.
8644 8752
8645 @item nnspool-newsgroups-file 8753 @item nnspool-newsgroups-file
8646 @vindex nnspool-newsgroups-file 8754 @vindex nnspool-newsgroups-file
8647 The path of the group descriptions file. 8755 The path to the group descriptions file.
8648 8756
8649 @item nnspool-history-file 8757 @item nnspool-history-file
8650 @vindex nnspool-history-file 8758 @vindex nnspool-history-file
8651 The path of the news history file. 8759 The path to the news history file.
8652 8760
8653 @item nnspool-active-times-file 8761 @item nnspool-active-times-file
8654 @vindex nnspool-active-times-file 8762 @vindex nnspool-active-times-file
8655 The path of the active date file. 8763 The path to the active date file.
8656 8764
8657 @item nnspool-nov-is-evil 8765 @item nnspool-nov-is-evil
8658 @vindex nnspool-nov-is-evil 8766 @vindex nnspool-nov-is-evil
8659 If non-@code{nil}, @code{nnspool} won't try to use any @sc{nov} files 8767 If non-@code{nil}, @code{nnspool} won't try to use any @sc{nov} files
8660 that it finds. 8768 that it finds.
8697 8805
8698 It's quite easy to use Gnus to read your new mail. You just plonk the 8806 It's quite easy to use Gnus to read your new mail. You just plonk the
8699 mail backend of your choice into @code{gnus-secondary-select-methods}, 8807 mail backend of your choice into @code{gnus-secondary-select-methods},
8700 and things will happen automatically. 8808 and things will happen automatically.
8701 8809
8702 For instance, if you want to use @code{nnml} (which is a one file per 8810 For instance, if you want to use @code{nnml} (which is a "one file per
8703 mail backend), you could put the following in your @file{.gnus} file: 8811 mail" backend), you could put the following in your @file{.gnus} file:
8704 8812
8705 @lisp 8813 @lisp
8706 (setq gnus-secondary-select-methods 8814 (setq gnus-secondary-select-methods
8707 '((nnml "private"))) 8815 '((nnml "private")))
8708 @end lisp 8816 @end lisp
8723 @end lisp 8831 @end lisp
8724 8832
8725 This will result in three new @code{nnml} mail groups being created: 8833 This will result in three new @code{nnml} mail groups being created:
8726 @samp{nnml:junk}, @samp{nnml:crazy}, and @samp{nnml:other}. All the 8834 @samp{nnml:junk}, @samp{nnml:crazy}, and @samp{nnml:other}. All the
8727 mail that doesn't fit into the first two groups will be placed in the 8835 mail that doesn't fit into the first two groups will be placed in the
8728 latter group. 8836 last group.
8729 8837
8730 This should be sufficient for reading mail with Gnus. You might want to 8838 This should be sufficient for reading mail with Gnus. You might want to
8731 give the other sections in this part of the manual a perusal, though, 8839 give the other sections in this part of the manual a perusal, though.
8732 especially @pxref{Choosing a Mail Backend} and @pxref{Expiring Mail}. 8840 Especially @pxref{Choosing a Mail Backend} and @pxref{Expiring Mail}.
8733 8841
8734 8842
8735 @node Splitting Mail 8843 @node Splitting Mail
8736 @subsection Splitting Mail 8844 @subsection Splitting Mail
8737 @cindex splitting mail 8845 @cindex splitting mail
8771 In that case, all matching rules will "win".) 8879 In that case, all matching rules will "win".)
8772 8880
8773 If you like to tinker with this yourself, you can set this variable to a 8881 If you like to tinker with this yourself, you can set this variable to a
8774 function of your choice. This function will be called without any 8882 function of your choice. This function will be called without any
8775 arguments in a buffer narrowed to the headers of an incoming mail 8883 arguments in a buffer narrowed to the headers of an incoming mail
8776 message. The function should return a list of groups names that it 8884 message. The function should return a list of group names that it
8777 thinks should carry this mail message. 8885 thinks should carry this mail message.
8778 8886
8779 Note that the mail backends are free to maul the poor, innocent 8887 Note that the mail backends are free to maul the poor, innocent,
8780 incoming headers all they want to. They all add @code{Lines} headers; 8888 incoming headers all they want to. They all add @code{Lines} headers;
8781 some add @code{X-Gnus-Group} headers; most rename the Unix mbox 8889 some add @code{X-Gnus-Group} headers; most rename the Unix mbox
8782 @code{From<SPACE>} line to something else. 8890 @code{From<SPACE>} line to something else.
8783 8891
8784 @vindex nnmail-crosspost 8892 @vindex nnmail-crosspost
8789 8897
8790 @vindex nnmail-crosspost-link-function 8898 @vindex nnmail-crosspost-link-function
8791 @cindex crosspost 8899 @cindex crosspost
8792 @cindex links 8900 @cindex links
8793 @code{nnmh} and @code{nnml} makes crossposts by creating hard links to 8901 @code{nnmh} and @code{nnml} makes crossposts by creating hard links to
8794 the crossposted articles. However, not all files systems support hard 8902 the crossposted articles. However, not all file systems support hard
8795 links. If that's the case for you, set 8903 links. If that's the case for you, set
8796 @code{nnmail-crosspost-link-function} to @code{copy-file}. (This 8904 @code{nnmail-crosspost-link-function} to @code{copy-file}. (This
8797 variable is @code{add-name-to-file} by default.) 8905 variable is @code{add-name-to-file} by default.)
8798 8906
8799 @kindex M-x nnmail-split-history 8907 @kindex M-x nnmail-split-history
8867 will be considered incoming mailboxes, and will be searched for new 8975 will be considered incoming mailboxes, and will be searched for new
8868 mail. 8976 mail.
8869 8977
8870 @vindex nnmail-crash-box 8978 @vindex nnmail-crash-box
8871 @item nnmail-crash-box 8979 @item nnmail-crash-box
8872 When the mail backends read a spool file, it is first moved to this 8980 When a mail backend reads a spool file, mail is first moved to this
8873 file, which is @file{~/.gnus-crash-box} by default. If this file 8981 file, which is @file{~/.gnus-crash-box} by default. If this file
8874 already exists, it will always be read (and incorporated) before any 8982 already exists, it will always be read (and incorporated) before any
8875 other spool files. 8983 other spool files.
8876 8984
8877 @vindex nnmail-prepare-incoming-hook 8985 @vindex nnmail-prepare-incoming-hook
8909 (lambda () (set-default-file-modes 551))) 9017 (lambda () (set-default-file-modes 551)))
8910 @end lisp 9018 @end lisp
8911 9019
8912 @item nnmail-tmp-directory 9020 @item nnmail-tmp-directory
8913 @vindex nnmail-tmp-directory 9021 @vindex nnmail-tmp-directory
8914 This variable says where to move the incoming mail to while processing 9022 This variable says where to move incoming mail to -- while processing
8915 it. This is usually done in the same directory that the mail backend 9023 it. This is usually done in the same directory that the mail backend
8916 inhabits (i.e., @file{~/Mail/}), but if this variable is non-@code{nil}, 9024 inhabits (e.g., @file{~/Mail/}), but if this variable is non-@code{nil},
8917 it will be used instead. 9025 it will be used instead.
8918 9026
8919 @item nnmail-movemail-program 9027 @item nnmail-movemail-program
8920 @vindex nnmail-movemail-program 9028 @vindex nnmail-movemail-program
8921 This program is executed to move mail from the user's inbox to her home 9029 This program is executed to move mail from the user's inbox to her home
8937 @c default for reasons of security. 9045 @c default for reasons of security.
8938 9046
8939 @c Since Red Gnus is an alpha release, it is to be expected to lose mail. 9047 @c Since Red Gnus is an alpha release, it is to be expected to lose mail.
8940 (No Gnus release since (ding) Gnus 0.10 (or something like that) have 9048 (No Gnus release since (ding) Gnus 0.10 (or something like that) have
8941 lost mail, I think, but that's not the point. (Except certain versions 9049 lost mail, I think, but that's not the point. (Except certain versions
8942 of Red Gnus.)) By not deleting the Incoming* files, one can be sure to 9050 of Red Gnus.)) By not deleting the Incoming* files, one can be sure not
8943 not lose mail -- if Gnus totally whacks out, one can always recover what 9051 to lose mail -- if Gnus totally whacks out, one can always recover what
8944 was lost. 9052 was lost.
8945 9053
8946 Delete the @file{Incoming*} files at will. 9054 You may delete the @file{Incoming*} files at will.
8947 9055
8948 @item nnmail-use-long-file-names 9056 @item nnmail-use-long-file-names
8949 @vindex nnmail-use-long-file-names 9057 @vindex nnmail-use-long-file-names
8950 If non-@code{nil}, the mail backends will use long file and directory 9058 If non-@code{nil}, the mail backends will use long file and directory
8951 names. Groups like @samp{mail.misc} will end up in directories like 9059 names. Groups like @samp{mail.misc} will end up in directories
8952 @file{mail.misc/}. If it is @code{nil}, the same group will end up in 9060 (assuming use of @code{nnml} backend) or files (assuming use of
8953 @file{mail/misc/}. 9061 @code{nnfolder} backend) like @file{mail.misc}. If it is @code{nil},
9062 the same group will end up in @file{mail/misc}.
8954 9063
8955 @item nnmail-delete-file-function 9064 @item nnmail-delete-file-function
8956 @vindex nnmail-delete-file-function 9065 @vindex nnmail-delete-file-function
8957 @findex delete-file 9066 @findex delete-file
8958 Function called to delete files. It is @code{delete-file} by default. 9067 Function called to delete files. It is @code{delete-file} by default.
9008 9117
9009 @item 9118 @item
9010 @samp{group}: If the split is a string, that will be taken as a group name. 9119 @samp{group}: If the split is a string, that will be taken as a group name.
9011 9120
9012 @item 9121 @item
9013 @var{(FIELD VALUE SPLIT)}: If the split is a list, and the first 9122 @var{(FIELD VALUE SPLIT)}: If the split is a list, the first element of
9014 element is a string, then that means that if header FIELD (a regexp) 9123 which is a string, then store the message as specified by SPLIT, if
9015 contains VALUE (also a regexp), then store the message as specified by 9124 header FIELD (a regexp) contains VALUE (also a regexp).
9016 SPLIT.
9017 9125
9018 @item 9126 @item
9019 @var{(| SPLIT...)}: If the split is a list, and the first element is 9127 @var{(| SPLIT...)}: If the split is a list, and the first element is
9020 @code{|} (vertical bar), then process each SPLIT until one of them 9128 @code{|} (vertical bar), then process each SPLIT until one of them
9021 matches. A SPLIT is said to match if it will cause the mail message to 9129 matches. A SPLIT is said to match if it will cause the mail message to
9045 9153
9046 @vindex nnmail-split-abbrev-alist 9154 @vindex nnmail-split-abbrev-alist
9047 @var{FIELD} and @var{VALUE} can also be lisp symbols, in that case they 9155 @var{FIELD} and @var{VALUE} can also be lisp symbols, in that case they
9048 are expanded as specified by the variable 9156 are expanded as specified by the variable
9049 @code{nnmail-split-abbrev-alist}. This is an alist of cons cells, where 9157 @code{nnmail-split-abbrev-alist}. This is an alist of cons cells, where
9050 the car of the cells contains the key, and the cdr contains a string. 9158 the car of a cell contains the key, and the cdr contains the associated
9159 value.
9051 9160
9052 @vindex nnmail-split-fancy-syntax-table 9161 @vindex nnmail-split-fancy-syntax-table
9053 @code{nnmail-split-fancy-syntax-table} is the syntax table in effect 9162 @code{nnmail-split-fancy-syntax-table} is the syntax table in effect
9054 when all this splitting is performed. 9163 when all this splitting is performed.
9055 9164
9056 If you want to have Gnus create groups dynamically based on some 9165 If you want to have Gnus create groups dynamically based on some
9057 information in the headers, you can say things like: 9166 information in the headers (i.e., do @code{replace-match}-like
9167 substitions in the group names), you can say things like:
9058 9168
9059 @example 9169 @example
9060 (any "debian-\(\\w*\\)@@lists.debian.org" "mail.debian.\\1") 9170 (any "debian-\(\\w*\\)@@lists.debian.org" "mail.debian.\\1")
9061 @end example 9171 @end example
9062
9063 That is, do @code{replace-match}-like substitions in the group names.
9064
9065 9172
9066 @node Mail and Procmail 9173 @node Mail and Procmail
9067 @subsection Mail and Procmail 9174 @subsection Mail and Procmail
9068 @cindex procmail 9175 @cindex procmail
9069 9176
9079 @code{nnmail-split-methods} either, which has some, perhaps, unexpected 9186 @code{nnmail-split-methods} either, which has some, perhaps, unexpected
9080 side effects. 9187 side effects.
9081 9188
9082 When a mail backend is queried for what groups it carries, it replies 9189 When a mail backend is queried for what groups it carries, it replies
9083 with the contents of that variable, along with any groups it has figured 9190 with the contents of that variable, along with any groups it has figured
9084 out that it carries by other means. None of the backends (except 9191 out that it carries by other means. None of the backends, except
9085 @code{nnmh}) actually go out to the disk and check what groups actually 9192 @code{nnmh}, actually go out to the disk and check what groups actually
9086 exist. (It's not trivial to distinguish between what the user thinks is 9193 exist. (It's not trivial to distinguish between what the user thinks is
9087 a basis for a newsgroup and what is just a plain old file or directory.) 9194 a basis for a newsgroup and what is just a plain old file or directory.)
9088 9195
9089 This means that you have to tell Gnus (and the backends) what groups 9196 This means that you have to tell Gnus (and the backends) by hand what
9090 exist by hand. 9197 groups exist.
9091 9198
9092 Let's take the @code{nnmh} backend as an example. 9199 Let's take the @code{nnmh} backend as an example:
9093 9200
9094 The folders are located in @code{nnmh-directory}, say, @file{~/Mail/}. 9201 The folders are located in @code{nnmh-directory}, say, @file{~/Mail/}.
9095 There are three folders, @file{foo}, @file{bar} and @file{mail.baz}. 9202 There are three folders, @file{foo}, @file{bar} and @file{mail.baz}.
9096 9203
9097 Go to the group buffer and type @kbd{G m}. When prompted, answer 9204 Go to the group buffer and type @kbd{G m}. When prompted, answer
9116 put in the @code{mail.misc}, as one would expect. However, if you want 9223 put in the @code{mail.misc}, as one would expect. However, if you want
9117 Gnus to split the mail the normal way, you could set 9224 Gnus to split the mail the normal way, you could set
9118 @code{nnmail-resplit-incoming} to @code{t}. 9225 @code{nnmail-resplit-incoming} to @code{t}.
9119 9226
9120 @vindex nnmail-keep-last-article 9227 @vindex nnmail-keep-last-article
9121 If you use @code{procmail} to split things directory into an @code{nnmh} 9228 If you use @code{procmail} to split things directly into an @code{nnmh}
9122 directory (which you shouldn't do), you should set 9229 directory (which you shouldn't do), you should set
9123 @code{nnmail-keep-last-article} to non-@code{nil} to prevent Gnus from 9230 @code{nnmail-keep-last-article} to non-@code{nil} to prevent Gnus from
9124 ever expiring the final article (i. e., the article with the highest 9231 ever expiring the final article (i.e., the article with the highest
9125 article number) in a mail newsgroup. This is quite, quite important. 9232 article number) in a mail newsgroup. This is quite, quite important.
9126 9233
9127 Here's an example setup: The incoming spools are located in 9234 Here's an example setup: The incoming spools are located in
9128 @file{~/incoming/} and have @samp{""} as suffixes (i. e., the incoming 9235 @file{~/incoming/} and have @samp{""} as suffixes (i.e., the incoming
9129 spool files have the same names as the equivalent groups). The 9236 spool files have the same names as the equivalent groups). The
9130 @code{nnfolder} backend is to be used as the mail interface, and the 9237 @code{nnfolder} backend is to be used as the mail interface, and the
9131 @code{nnfolder} directory is @file{~/fMail/}. 9238 @code{nnfolder} directory is @file{~/fMail/}.
9132 9239
9133 @lisp 9240 @lisp
9160 @enumerate 9267 @enumerate
9161 @item 9268 @item
9162 Go to the group buffer. 9269 Go to the group buffer.
9163 9270
9164 @item 9271 @item
9165 Type `G f' and give the path of the mbox file when prompted to create an 9272 Type `G f' and give the path to the mbox file when prompted to create an
9166 @code{nndoc} group from the mbox file (@pxref{Foreign Groups}). 9273 @code{nndoc} group from the mbox file (@pxref{Foreign Groups}).
9167 9274
9168 @item 9275 @item
9169 Type `SPACE' to enter the newly created group. 9276 Type `SPACE' to enter the newly created group.
9170 9277
9171 @item 9278 @item
9172 Type `M P b' to process-mark all articles in this group (@pxref{Setting 9279 Type `M P b' to process-mark all articles in this group's buffer
9173 Process Marks}). 9280 (@pxref{Setting Process Marks}).
9174 9281
9175 @item 9282 @item
9176 Type `B r' to respool all the process-marked articles, and answer 9283 Type `B r' to respool all the process-marked articles, and answer
9177 @samp{nnml} when prompted (@pxref{Mail Group Commands}). 9284 @samp{nnml} when prompted (@pxref{Mail Group Commands}).
9178 @end enumerate 9285 @end enumerate
9231 (remove-hook 'gnus-mark-article-hook 9338 (remove-hook 'gnus-mark-article-hook
9232 'gnus-summary-mark-read-and-unread-as-read) 9339 'gnus-summary-mark-read-and-unread-as-read)
9233 (add-hook 'gnus-mark-article-hook 'gnus-summary-mark-unread-as-read) 9340 (add-hook 'gnus-mark-article-hook 'gnus-summary-mark-unread-as-read)
9234 @end lisp 9341 @end lisp
9235 9342
9236 Note that making a group auto-expirable don't mean that all read 9343 Note that making a group auto-expirable doesn't mean that all read
9237 articles are expired---only the articles that are marked as expirable 9344 articles are expired---only the articles that are marked as expirable
9238 will be expired. Also note the using the @kbd{d} command won't make 9345 will be expired. Also note that using the @kbd{d} command won't make
9239 groups expirable---only semi-automatic marking of articles as read will 9346 groups expirable---only semi-automatic marking of articles as read will
9240 mark the articles as expirable in auto-expirable groups. 9347 mark the articles as expirable in auto-expirable groups.
9241 9348
9242 Let's say you subscribe to a couple of mailing lists, and you want the 9349 Let's say you subscribe to a couple of mailing lists, and you want the
9243 articles you have read to disappear after a while: 9350 articles you have read to disappear after a while:
9250 Another way to have auto-expiry happen is to have the element 9357 Another way to have auto-expiry happen is to have the element
9251 @code{auto-expire} in the group parameters of the group. 9358 @code{auto-expire} in the group parameters of the group.
9252 9359
9253 If you use adaptive scoring (@pxref{Adaptive Scoring}) and 9360 If you use adaptive scoring (@pxref{Adaptive Scoring}) and
9254 auto-expiring, you'll have problems. Auto-expiring and adaptive scoring 9361 auto-expiring, you'll have problems. Auto-expiring and adaptive scoring
9255 doesn't really mix very well. 9362 don't really mix very well.
9256 9363
9257 @vindex nnmail-expiry-wait 9364 @vindex nnmail-expiry-wait
9258 The @code{nnmail-expiry-wait} variable supplies the default time an 9365 The @code{nnmail-expiry-wait} variable supplies the default time an
9259 expirable article has to live. Gnus starts counting days from when the 9366 expirable article has to live. Gnus starts counting days from when the
9260 message @emph{arrived}, not from when it was sent. The default is seven 9367 message @emph{arrived}, not from when it was sent. The default is seven
9278 'never) 9385 'never)
9279 (t 9386 (t
9280 6)))) 9387 6))))
9281 @end lisp 9388 @end lisp
9282 9389
9283 The group names that this function is fed are ``unadorned'' group 9390 The group names this function is fed are ``unadorned'' group
9284 names---no @samp{nnml:} prefixes and the like. 9391 names---no @samp{nnml:} prefixes and the like.
9285 9392
9286 The @code{nnmail-expiry-wait} variable and 9393 The @code{nnmail-expiry-wait} variable and
9287 @code{nnmail-expiry-wait-function} function can be either a number (not 9394 @code{nnmail-expiry-wait-function} function can either be a number (not
9288 necessarily an integer) or the symbols @code{immediate} or 9395 necessarily an integer) or one of the symbols @code{immediate} or
9289 @code{never}. 9396 @code{never}.
9290 9397
9291 You can also use the @code{expiry-wait} group parameter to selectively 9398 You can also use the @code{expiry-wait} group parameter to selectively
9292 change the expiry period (@pxref{Group Parameters}). 9399 change the expiry period (@pxref{Group Parameters}).
9293 9400
9294 @vindex nnmail-keep-last-article 9401 @vindex nnmail-keep-last-article
9295 If @code{nnmail-keep-last-article} is non-@code{nil}, Gnus will never 9402 If @code{nnmail-keep-last-article} is non-@code{nil}, Gnus will never
9296 expire the final article in a mail newsgroup. This is to make life 9403 expire the final article in a mail newsgroup. This is to make life
9297 easier for procmail users. 9404 easier for procmail users.
9298 9405
9299 @vindex gnus-total-expirable-newsgroups 9406 @vindex gnus-total-expirable-newsgroups
9300 By the way, that line up there about Gnus never expiring non-expirable 9407 By the way: That line up there, about Gnus never expiring non-expirable
9301 articles is a lie. If you put @code{total-expire} in the group 9408 articles, is a lie. If you put @code{total-expire} in the group
9302 parameters, articles will not be marked as expirable, but all read 9409 parameters, articles will not be marked as expirable, but all read
9303 articles will be put through the expiry process. Use with extreme 9410 articles will be put through the expiry process. Use with extreme
9304 caution. Even more dangerous is the 9411 caution. Even more dangerous is the
9305 @code{gnus-total-expirable-newsgroups} variable. All groups that match 9412 @code{gnus-total-expirable-newsgroups} variable. All groups that match
9306 this regexp will have all read articles put through the expiry process, 9413 this regexp will have all read articles put through the expiry process,
9358 9465
9359 @table @code 9466 @table @code
9360 @item nnmail-remove-leading-whitespace 9467 @item nnmail-remove-leading-whitespace
9361 @findex nnmail-remove-leading-whitespace 9468 @findex nnmail-remove-leading-whitespace
9362 Clear leading white space that ``helpful'' listservs have added to the 9469 Clear leading white space that ``helpful'' listservs have added to the
9363 headers too make them look nice. Aaah. 9470 headers to make them look nice. Aaah.
9364 9471
9365 @item nnmail-remove-list-identifiers 9472 @item nnmail-remove-list-identifiers
9366 @findex nnmail-remove-list-identifiers 9473 @findex nnmail-remove-list-identifiers
9367 Some list servers add an identifier---for example, @samp{(idm)}---to the 9474 Some list servers add an identifier---for example, @samp{(idm)}---to the
9368 beginning of all @code{Subject} headers. I'm sure that's nice for 9475 beginning of all @code{Subject} headers. I'm sure that's nice for
9403 9510
9404 @vindex nnmail-treat-duplicates 9511 @vindex nnmail-treat-duplicates
9405 @vindex nnmail-message-id-cache-length 9512 @vindex nnmail-message-id-cache-length
9406 @vindex nnmail-message-id-cache-file 9513 @vindex nnmail-message-id-cache-file
9407 @cindex duplicate mails 9514 @cindex duplicate mails
9408 If you are a member of a couple of mailing list, you will sometime 9515 If you are a member of a couple of mailing lists, you will sometimes
9409 receive two copies of the same mail. This can be quite annoying, so 9516 receive two copies of the same mail. This can be quite annoying, so
9410 @code{nnmail} checks for and treats any duplicates it might find. To do 9517 @code{nnmail} checks for and treats any duplicates it might find. To do
9411 this, it keeps a cache of old @code{Message-ID}s--- 9518 this, it keeps a cache of old @code{Message-ID}s---
9412 @code{nnmail-message-id-cache-file}, which is @file{~/.nnmail-cache} by 9519 @code{nnmail-message-id-cache-file}, which is @file{~/.nnmail-cache} by
9413 default. The approximate maximum number of @code{Message-ID}s stored 9520 default. The approximate maximum number of @code{Message-ID}s stored
9563 9670
9564 The @dfn{nnml} spool mail format isn't compatible with any other known 9671 The @dfn{nnml} spool mail format isn't compatible with any other known
9565 format. It should be used with some caution. 9672 format. It should be used with some caution.
9566 9673
9567 @vindex nnml-directory 9674 @vindex nnml-directory
9568 If you use this backend, Gnus will split all incoming mail into files; 9675 If you use this backend, Gnus will split all incoming mail into files,
9569 one file for each mail, and put the articles into the correct 9676 one file for each mail, and put the articles into the corresponding
9570 directories under the directory specified by the @code{nnml-directory} 9677 directories under the directory specified by the @code{nnml-directory}
9571 variable. The default value is @file{~/Mail/}. 9678 variable. The default value is @file{~/Mail/}.
9572 9679
9573 You do not have to create any directories beforehand; Gnus will take 9680 You do not have to create any directories beforehand; Gnus will take
9574 care of all that. 9681 care of all that.
9582 know that this is probably the fastest format to use. You do not have 9689 know that this is probably the fastest format to use. You do not have
9583 to trudge through a big mbox file just to read your new mail. 9690 to trudge through a big mbox file just to read your new mail.
9584 9691
9585 @code{nnml} is probably the slowest backend when it comes to article 9692 @code{nnml} is probably the slowest backend when it comes to article
9586 splitting. It has to create lots of files, and it also generates 9693 splitting. It has to create lots of files, and it also generates
9587 @sc{nov} databases for the incoming mails. This makes is the fastest 9694 @sc{nov} databases for the incoming mails. This makes it the fastest
9588 backend when it comes to reading mail. 9695 backend when it comes to reading mail.
9589 9696
9590 Virtual server settings: 9697 Virtual server settings:
9591 9698
9592 @table @code 9699 @table @code
9732 wonderful of all wonderful Emacs packages. When I wrote @code{nndir}, I 9839 wonderful of all wonderful Emacs packages. When I wrote @code{nndir}, I
9733 didn't think much about it---a backend to read directories. Big deal. 9840 didn't think much about it---a backend to read directories. Big deal.
9734 9841
9735 @code{ange-ftp} changes that picture dramatically. For instance, if you 9842 @code{ange-ftp} changes that picture dramatically. For instance, if you
9736 enter the @code{ange-ftp} file name 9843 enter the @code{ange-ftp} file name
9737 @file{/ftp.hpc.uh.edu:/pub/emacs/ding-list/} as the the directory name, 9844 @file{/ftp.hpc.uh.edu:/pub/emacs/ding-list/} as the directory name,
9738 @code{ange-ftp} will actually allow you to read this directory over at 9845 @code{ange-ftp} or @code{efs} will actually allow you to read this directory over at
9739 @samp{sina} as a newsgroup. Distributed news ahoy! 9846 @samp{sina} as a newsgroup. Distributed news ahoy!
9740 9847
9741 @code{nndir} will use @sc{nov} files if they are present. 9848 @code{nndir} will use @sc{nov} files if they are present.
9742 9849
9743 @code{nndir} is a ``read-only'' backend---you can't delete or expire 9850 @code{nndir} is a ``read-only'' backend---you can't delete or expire
9880 9987
9881 @table @code 9988 @table @code
9882 @item nndoc-article-type 9989 @item nndoc-article-type
9883 @vindex nndoc-article-type 9990 @vindex nndoc-article-type
9884 This should be one of @code{mbox}, @code{babyl}, @code{digest}, 9991 This should be one of @code{mbox}, @code{babyl}, @code{digest},
9885 @code{mmdf}, @code{forward}, @code{rfc934}, @code{rfc822-forward}, 9992 @code{news}, @code{rnews}, @code{mmdf}, @code{forward}, @code{rfc934},
9886 @code{news}, @code{rnews}, @code{mime-digest}, @code{clari-briefs}, or 9993 @code{rfc822-forward}, @code{mime-digest}, @code{standard-digest},
9887 @code{guess}. 9994 @code{slack-digest}, @code{clari-briefs} or @code{guess}.
9888 9995
9889 @item nndoc-post-type 9996 @item nndoc-post-type
9890 @vindex nndoc-post-type 9997 @vindex nndoc-post-type
9891 This variable says whether Gnus is to consider the group a news group or 9998 This variable says whether Gnus is to consider the group a news group or
9892 a mail group. There are two legal values: @code{mail} (the default) 9999 a mail group. There are two legal values: @code{mail} (the default)
9974 will be called with point at the start of the body, and is useful if the 10081 will be called with point at the start of the body, and is useful if the
9975 document has encoded some parts of its contents. 10082 document has encoded some parts of its contents.
9976 10083
9977 @item article-transform-function 10084 @item article-transform-function
9978 If present, this function is called when requesting an article. It's 10085 If present, this function is called when requesting an article. It's
9979 meant to be used how more wide-ranging transformation of both head and 10086 meant to be used for more wide-ranging transformation of both head and
9980 body of the article. 10087 body of the article.
9981 10088
9982 @item generate-head-function 10089 @item generate-head-function
9983 If present, this function is called to generate a head that Gnus can 10090 If present, this function is called to generate a head that Gnus can
9984 understand. It is called with the article number as a parameter, and is 10091 understand. It is called with the article number as a parameter, and is
10010 10117
10011 To hook your own document definition into @code{nndoc}, use the 10118 To hook your own document definition into @code{nndoc}, use the
10012 @code{nndoc-add-type} function. It takes two parameters---the first is 10119 @code{nndoc-add-type} function. It takes two parameters---the first is
10013 the definition itself and the second (optional) parameter says where in 10120 the definition itself and the second (optional) parameter says where in
10014 the document type definition alist to put this definition. The alist is 10121 the document type definition alist to put this definition. The alist is
10015 traversed sequentially, and @code{nndoc-TYPE-type-p} is called for each 10122 traversed sequentially, and @code{nndoc-TYPE-type-p} is called for a given type @code{TYPE}. So @code{nndoc-mmdf-type-p} is called to see whether a document
10016 type. So @code{nndoc-mmdf-type-p} is called to see whether a document
10017 is of @code{mmdf} type, and so on. These type predicates should return 10123 is of @code{mmdf} type, and so on. These type predicates should return
10018 @code{nil} if the document is not of the correct type; @code{t} if it is 10124 @code{nil} if the document is not of the correct type; @code{t} if it is
10019 of the correct type; and a number if the document might be of the 10125 of the correct type; and a number if the document might be of the
10020 correct type. A high number means high probability; a low number means 10126 correct type. A high number means high probability; a low number means
10021 low probability with @samp{0} being the lowest legal number. 10127 low probability with @samp{0} being the lowest legal number.
10059 Something that contains messages and/or commands. There are two kinds 10165 Something that contains messages and/or commands. There are two kinds
10060 of packets: 10166 of packets:
10061 10167
10062 @table @dfn 10168 @table @dfn
10063 @item message packets 10169 @item message packets
10064 These are packets made at the server, and typically contains lots of 10170 These are packets made at the server, and typically contain lots of
10065 messages for you to read. These are called @file{SoupoutX.tgz} by 10171 messages for you to read. These are called @file{SoupoutX.tgz} by
10066 default, where @var{X} is a number. 10172 default, where @var{X} is a number.
10067 10173
10068 @item response packets 10174 @item response packets
10069 These are packets made at the home machine, and typically contains 10175 These are packets made at the home machine, and typically contains
10230 @code{nnsoup} then moves each message and index file to this directory. 10336 @code{nnsoup} then moves each message and index file to this directory.
10231 The default is @file{~/SOUP/}. 10337 The default is @file{~/SOUP/}.
10232 10338
10233 @item nnsoup-replies-directory 10339 @item nnsoup-replies-directory
10234 @vindex nnsoup-replies-directory 10340 @vindex nnsoup-replies-directory
10235 All replies will stored in this directory before being packed into a 10341 All replies will be stored in this directory before being packed into a
10236 reply packet. The default is @file{~/SOUP/replies/"}. 10342 reply packet. The default is @file{~/SOUP/replies/"}.
10237 10343
10238 @item nnsoup-replies-format-type 10344 @item nnsoup-replies-format-type
10239 @vindex nnsoup-replies-format-type 10345 @vindex nnsoup-replies-format-type
10240 The @sc{soup} format of the replies packets. The default is @samp{?n} 10346 The @sc{soup} format of the replies packets. The default is @samp{?n}
10241 (rnews), and I don't think you should touch that variable. I probably 10347 (rnews), and I don't think you should touch that variable. I probably
10242 shouldn't even have documented it. Drats! Too late! 10348 shouldn't even have documented it. Drats! Too late!
10243 10349
10244 @item nnsoup-replies-index-type 10350 @item nnsoup-replies-index-type
10245 @vindex nnsoup-replies-index-type 10351 @vindex nnsoup-replies-index-type
10246 The index type of the replies packet. The is @samp{?n}, which means 10352 The index type of the replies packet. The default is @samp{?n}, which
10247 ``none''. Don't fiddle with this one either! 10353 means ``none''. Don't fiddle with this one either!
10248 10354
10249 @item nnsoup-active-file 10355 @item nnsoup-active-file
10250 @vindex nnsoup-active-file 10356 @vindex nnsoup-active-file
10251 Where @code{nnsoup} stores lots of information. This is not an ``active 10357 Where @code{nnsoup} stores lots of information. This is not an ``active
10252 file'' in the @code{nntp} sense; it's an Emacs Lisp file. If you lose 10358 file'' in the @code{nntp} sense; it's an Emacs Lisp file. If you lose
10323 10429
10324 @code{nnweb} groups don't really lend themselves to being solid 10430 @code{nnweb} groups don't really lend themselves to being solid
10325 groups---they have a very fleeting idea of article numbers. In fact, 10431 groups---they have a very fleeting idea of article numbers. In fact,
10326 each time you enter an @code{nnweb} group (not even changing the search 10432 each time you enter an @code{nnweb} group (not even changing the search
10327 pattern), you are likely to get the articles ordered in a different 10433 pattern), you are likely to get the articles ordered in a different
10328 manner. Not even using duplicate suppression (@code{Duplicate 10434 manner. Not even using duplicate suppression (@pxref{Duplicate
10329 Suppression}) will help, since @code{nnweb} doesn't even know the 10435 Suppression}) will help, since @code{nnweb} doesn't even know the
10330 @code{Message-ID} of the articles before reading them using some search 10436 @code{Message-ID} of the articles before reading them using some search
10331 engines (DejaNews, for instance). The only possible way to keep track 10437 engines (DejaNews, for instance). The only possible way to keep track
10332 of which articles you've read is by scoring on the @code{Date} 10438 of which articles you've read is by scoring on the @code{Date}
10333 header---mark all articles that were posted before the last date you 10439 header---mark all articles posted before the last date you read the
10334 read the group as read. 10440 group as read.
10335 10441
10336 If the search engine changes its output substantially, @code{nnweb} 10442 If the search engine changes its output substantially, @code{nnweb}
10337 won't be able to parse it and will fail. One could hardly fault the Web 10443 won't be able to parse it and will fail. One could hardly fault the Web
10338 providers if they were to do this---their @emph{raison d'être} is to 10444 providers if they were to do this---their @emph{raison d'être} is to
10339 make money off of advertisements, not to provide services to the 10445 make money off of advertisements, not to provide services to the
10408 @vindex nngateway-address 10514 @vindex nngateway-address
10409 This is the address of the mail-to-news gateway. 10515 This is the address of the mail-to-news gateway.
10410 10516
10411 @item nngateway-header-transformation 10517 @item nngateway-header-transformation
10412 @vindex nngateway-header-transformation 10518 @vindex nngateway-header-transformation
10413 News headers have often have to be transformed in some odd way or other 10519 News headers often have to be transformed in some odd way or other
10414 for the mail-to-news gateway to accept it. This variable says what 10520 for the mail-to-news gateway to accept it. This variable says what
10415 transformation should be called, and defaults to 10521 transformation should be called, and defaults to
10416 @code{nngateway-simple-header-transformation}. The function is called 10522 @code{nngateway-simple-header-transformation}. The function is called
10417 narrowed to the headers to be transformed and with one parameter---the 10523 narrowed to the headers to be transformed and with one parameter---the
10418 gateway address. 10524 gateway address.
10419 10525
10420 This default function just inserts a new @code{To} header based on the 10526 This default function just inserts a new @code{To} header based on the
10421 @code{Newsgroups} header and the gateway address---an article with this 10527 @code{Newsgroups} header and the gateway address.
10422 @code{Newsgroups} header: 10528 For instance, an article with this @code{Newsgroups} header:
10423 10529
10424 @example 10530 @example
10425 Newsgroups: alt.religion.emacs 10531 Newsgroups: alt.religion.emacs
10426 @end example 10532 @end example
10427 10533
10458 @cindex virtual groups 10564 @cindex virtual groups
10459 10565
10460 An @dfn{nnvirtual group} is really nothing more than a collection of 10566 An @dfn{nnvirtual group} is really nothing more than a collection of
10461 other groups. 10567 other groups.
10462 10568
10463 For instance, if you are tired of reading many small group, you can 10569 For instance, if you are tired of reading many small groups, you can
10464 put them all in one big group, and then grow tired of reading one 10570 put them all in one big group, and then grow tired of reading one
10465 big, unwieldy group. The joys of computing! 10571 big, unwieldy group. The joys of computing!
10466 10572
10467 You specify @code{nnvirtual} as the method. The address should be a 10573 You specify @code{nnvirtual} as the method. The address should be a
10468 regexp to match component groups. 10574 regexp to match component groups.
10494 10600
10495 This should work kinda smoothly---all articles from both groups should 10601 This should work kinda smoothly---all articles from both groups should
10496 end up in this one, and there should be no duplicates. Threading (and 10602 end up in this one, and there should be no duplicates. Threading (and
10497 the rest) will still work as usual, but there might be problems with the 10603 the rest) will still work as usual, but there might be problems with the
10498 sequence of articles. Sorting on date might be an option here 10604 sequence of articles. Sorting on date might be an option here
10499 (@pxref{Selecting a Group}. 10605 (@pxref{Selecting a Group}).
10500 10606
10501 One limitation, however---all groups that are included in a virtual 10607 One limitation, however---all groups that are included in a virtual
10502 group has to be alive (i.e., subscribed or unsubscribed). Killed or 10608 group have to be alive (i.e., subscribed or unsubscribed). Killed or
10503 zombie groups can't be component groups for @code{nnvirtual} groups. 10609 zombie groups can't be component groups for @code{nnvirtual} groups.
10504 10610
10505 @vindex nnvirtual-always-rescan 10611 @vindex nnvirtual-always-rescan
10506 If the @code{nnvirtual-always-rescan} is non-@code{nil}, 10612 If the @code{nnvirtual-always-rescan} is non-@code{nil},
10507 @code{nnvirtual} will always scan groups for unread articles when 10613 @code{nnvirtual} will always scan groups for unread articles when
10508 entering a virtual group. If this variable is @code{nil} (which is the 10614 entering a virtual group. If this variable is @code{nil} (which is the
10509 default) and you read articles in a component group after the virtual 10615 default) and you read articles in a component group after the virtual
10510 group has been activated, the read articles from the component group 10616 group has been activated, the read articles from the component group
10511 will show up when you enter the virtual group. You'll also see this 10617 will show up when you enter the virtual group. You'll also see this
10512 effect if you have two virtual groups that contain the same component 10618 effect if you have two virtual groups that have a component group in
10513 group. If that's the case, you should set this variable to @code{t}. 10619 common. If that's the case, you should set this variable to @code{t}.
10514 Or you can just tap @code{M-g} on the virtual group every time before 10620 Or you can just tap @code{M-g} on the virtual group every time before
10515 you enter it---it'll have much the same effect. 10621 you enter it---it'll have much the same effect.
10516 10622
10517 10623
10518 @node Kibozed Groups 10624 @node Kibozed Groups
10529 To create a kibozed group, use the @kbd{G k} command in the group 10635 To create a kibozed group, use the @kbd{G k} command in the group
10530 buffer. 10636 buffer.
10531 10637
10532 The address field of the @code{nnkiboze} method is, as with 10638 The address field of the @code{nnkiboze} method is, as with
10533 @code{nnvirtual}, a regexp to match groups to be ``included'' in the 10639 @code{nnvirtual}, a regexp to match groups to be ``included'' in the
10534 @code{nnkiboze} group. There most similarities between @code{nnkiboze} 10640 @code{nnkiboze} group. That's where most similarities between @code{nnkiboze}
10535 and @code{nnvirtual} ends. 10641 and @code{nnvirtual} end.
10536 10642
10537 In addition to this regexp detailing component groups, an @code{nnkiboze} group 10643 In addition to this regexp detailing component groups, an @code{nnkiboze} group
10538 must have a score file to say what articles that are to be included in 10644 must have a score file to say what articles are to be included in
10539 the group (@pxref{Scoring}). 10645 the group (@pxref{Scoring}).
10540 10646
10541 @kindex M-x nnkiboze-generate-groups 10647 @kindex M-x nnkiboze-generate-groups
10542 @findex nnkiboze-generate-groups 10648 @findex nnkiboze-generate-groups
10543 You must run @kbd{M-x nnkiboze-generate-groups} after creating the 10649 You must run @kbd{M-x nnkiboze-generate-groups} after creating the
10544 @code{nnkiboze} groups you want to have. This command will take time. Lots of 10650 @code{nnkiboze} groups you want to have. This command will take time. Lots of
10545 time. Oodles and oodles of time. Gnus has to fetch the headers from 10651 time. Oodles and oodles of time. Gnus has to fetch the headers from
10546 all the articles in all the components groups and run them through the 10652 all the articles in all the component groups and run them through the
10547 scoring process to determine if there are any articles in the groups 10653 scoring process to determine if there are any articles in the groups
10548 that are to be part of the @code{nnkiboze} groups. 10654 that are to be part of the @code{nnkiboze} groups.
10549 10655
10550 Please limit the number of component groups by using restrictive 10656 Please limit the number of component groups by using restrictive
10551 regexps. Otherwise your sysadmin may become annoyed with you, and the 10657 regexps. Otherwise your sysadmin may become annoyed with you, and the
10558 @vindex nnkiboze-directory 10664 @vindex nnkiboze-directory
10559 The generation of an @code{nnkiboze} group means writing two files in 10665 The generation of an @code{nnkiboze} group means writing two files in
10560 @code{nnkiboze-directory}, which is @file{~/News/} by default. One 10666 @code{nnkiboze-directory}, which is @file{~/News/} by default. One
10561 contains the @sc{nov} header lines for all the articles in the group, 10667 contains the @sc{nov} header lines for all the articles in the group,
10562 and the other is an additional @file{.newsrc} file to store information 10668 and the other is an additional @file{.newsrc} file to store information
10563 on what groups that have been searched through to find component 10669 on what groups have been searched through to find component articles.
10564 articles. 10670
10565 10671 Articles that are marked as read in the @code{nnkiboze} group will have
10566 Articles that are marked as read in the @code{nnkiboze} group will have their 10672 their @sc{nov} lines removed from the @sc{nov} file.
10567 @sc{nov} lines removed from the @sc{nov} file.
10568 10673
10569 10674
10570 @node Scoring 10675 @node Scoring
10571 @chapter Scoring 10676 @chapter Scoring
10572 @cindex scoring 10677 @cindex scoring
13028 13133
13029 @lisp 13134 @lisp
13030 (gnus-demon-scan-pgp 60 t) 13135 (gnus-demon-scan-pgp 60 t)
13031 @end lisp 13136 @end lisp
13032 13137
13033 This @var{time} parameter and than @var{idle} parameter works together 13138 This @var{time} parameter and than @var{idle} parameter work together
13034 in a strange, but wonderful fashion. Basically, if @var{idle} is 13139 in a strange, but wonderful fashion. Basically, if @var{idle} is
13035 @code{nil}, then the function will be called every @var{time} minutes. 13140 @code{nil}, then the function will be called every @var{time} minutes.
13036 13141
13037 If @var{idle} is @code{t}, then the function will be called after 13142 If @var{idle} is @code{t}, then the function will be called after
13038 @var{time} minutes only if Emacs is idle. So if Emacs is never idle, 13143 @var{time} minutes only if Emacs is idle. So if Emacs is never idle,
13205 13310
13206 13311
13207 @node Picons 13312 @node Picons
13208 @section Picons 13313 @section Picons
13209 13314
13315 @iftex
13316 @iflatex
13317 \gnuspicon{tmp/picons-att.ps}
13318 \gnuspicon{tmp/picons-berkeley.ps}
13319 \gnuspicon{tmp/picons-caltech.ps}
13320 \gnuspicon{tmp/picons-canada.ps}
13321 \gnuspicon{tmp/picons-cr.ps}
13322 \gnuspicon{tmp/picons-cygnus.ps}
13323 \gnuspicon{tmp/picons-gov.ps}
13324 \gnuspicon{tmp/picons-mit.ps}
13325 \gnuspicon{tmp/picons-nasa.ps}
13326 \gnuspicon{tmp/picons-qmw.ps}
13327 \gnuspicon{tmp/picons-rms.ps}
13328 \gnuspicon{tmp/picons-ruu.ps}
13329 @end iflatex
13330 @end iftex
13331
13210 So... You want to slow down your news reader even more! This is a 13332 So... You want to slow down your news reader even more! This is a
13211 good way to do so. Its also a great way to impress people staring 13333 good way to do so. Its also a great way to impress people staring
13212 over your shoulder as you read news. 13334 over your shoulder as you read news.
13213 13335
13214 @menu 13336 @menu
13292 @samp{*scratch*} for all I care. Just make sure that you've made the 13414 @samp{*scratch*} for all I care. Just make sure that you've made the
13293 buffer visible using the standard Gnus window configuration 13415 buffer visible using the standard Gnus window configuration
13294 routines---@pxref{Windows Configuration}. 13416 routines---@pxref{Windows Configuration}.
13295 13417
13296 @end table 13418 @end table
13419
13420 @iftex
13421 @iflatex
13422 \gnuspicon{tmp/picons-seuu.ps}
13423 \gnuspicon{tmp/picons-stanford.ps}
13424 \gnuspicon{tmp/picons-sun.ps}
13425 \gnuspicon{tmp/picons-ubc.ps}
13426 \gnuspicon{tmp/picons-ufl.ps}
13427 \gnuspicon{tmp/picons-uio.ps}
13428 \gnuspicon{tmp/picons-unit.ps}
13429 \gnuspicon{tmp/picons-upenn.ps}
13430 \gnuspicon{tmp/picons-wesleyan.ps}
13431 @end iflatex
13432 @end iftex
13297 13433
13298 Note: If you set @code{gnus-use-picons} to @code{t}, it will set up your 13434 Note: If you set @code{gnus-use-picons} to @code{t}, it will set up your
13299 window configuration for you to include the @code{picons} buffer. 13435 window configuration for you to include the @code{picons} buffer.
13300 13436
13301 Now that you've made that decision, you need to add the following 13437 Now that you've made that decision, you need to add the following