Mercurial > hg > xemacs-beta
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 |