annotate man/gnus.texi @ 60:2e6f5e180fb8 r19-16-pre5

Import from CVS: tag r19-16-pre5
author cvs
date Mon, 13 Aug 2007 08:58:59 +0200
parents 8d2a9b52c682
children 131b0175ea99
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3 @setfilename gnus
44
8d2a9b52c682 Import from CVS: tag r19-15prefinal
cvs
parents: 42
diff changeset
4 @settitle Gnus 5.4.37 Manual
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 @synindex fn cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 @synindex vr cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 @synindex pg cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 @finalout
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 @setchapternewpage odd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 @iflatex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 \documentclass[twoside,a4paper,openright]{book}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 \usepackage[latin1]{inputenc}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 \usepackage{pagestyle}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 \usepackage{epsfig}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 \fontfamily{bembo}\selectfont
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 \makeindex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 \begin{document}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 \newcommand{\gnuschaptername}{}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 \newcommand{\gnussectionname}{}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 \newcommand{\gnusbackslash}{/}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 \newcommand{\gnusxref}[1]{See ``#1'' on page \pageref{#1}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 \newcommand{\gnuspxref}[1]{see ``#1'' on page \pageref{#1}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 \newcommand{\gnuskindex}[1]{\index{#1}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 \newcommand{\gnusindex}[1]{\index{#1}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 \newcommand{\gnustt}[1]{{\textbf{\textsf{#1}}}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 \newcommand{\gnuscode}[1]{\gnustt{#1}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 \newcommand{\gnussamp}[1]{``\gnustt{#1}''}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 \newcommand{\gnuslisp}[1]{\gnustt{#1}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 \newcommand{\gnuskbd}[1]{`\gnustt{#1}'}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 \newcommand{\gnusfile}[1]{`\gnustt{#1}'}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 \newcommand{\gnusdfn}[1]{\textit{#1}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 \newcommand{\gnusi}[1]{\textit{#1}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 \newcommand{\gnusstrong}[1]{\textbf{#1}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 \newcommand{\gnusemph}[1]{\textit{#1}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 \newcommand{\gnusvar}[1]{\textsl{\textsf{#1}}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 \newcommand{\gnussc}[1]{\textsc{#1}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 \newcommand{\gnustitle}[1]{{\huge\textbf{#1}}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 \newcommand{\gnusauthor}[1]{{\large\textbf{#1}}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 \newcommand{\gnusbullet}{{${\bullet}$}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 \newcommand{\gnusdollar}{\$}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 \newcommand{\gnusampersand}{\&}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 \newcommand{\gnuspercent}{\%}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 \newcommand{\gnushash}{\#}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 \newcommand{\gnushat}{\symbol{"5E}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 \newcommand{\gnusunderline}{\symbol{"5F}}
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
57 \newcommand{\gnusnot}{$\neg$}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 \newcommand{\gnustilde}{\symbol{"7E}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 \newcommand{\gnusless}{{$<$}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 \newcommand{\gnusgreater}{{$>$}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 \newcommand{\gnushead}{\raisebox{-1cm}{\epsfig{figure=gnus-head.eps,height=1cm}}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 \newcommand{\gnusinteresting}{
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 \marginpar[\hspace{2.5cm}\gnushead]{\gnushead}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
67 \newcommand{\gnuscleardoublepage}{\ifodd\count0\mbox{}\clearpage\thispagestyle{empty}\mbox{}\clearpage\else\clearpage\fi}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
68
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
69 \newcommand{\gnuspagechapter}[1]{
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
70 {\mbox{}}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
71 }
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
72
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
73 \newdimen{\gnusdimen}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
74 \gnusdimen 0pt
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
75
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
76 \newcommand{\gnuschapter}[2]{
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
77 \gnuscleardoublepage
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
78 \ifdim \gnusdimen = 0pt\setcounter{page}{1}\pagestyle{gnus}\pagenumbering{arabic} \gnusdimen 1pt\fi
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
79 \chapter{#2}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 \renewcommand{\gnussectionname}{}
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
81 \renewcommand{\gnuschaptername}{#2}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 \thispagestyle{empty}
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
83 \hspace*{-2cm}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
84 \begin{picture}(500,500)(0,0)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
85 \put(0,0){\makebox(480,350)[tr]{#1}}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
86 \put(40,300){\makebox(500,50)[bl]{{\Huge\bf{#2}}}}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
87 \end{picture}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 \clearpage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
91 \newcommand{\gnusitemx}[1]{\mbox{}\vspace*{-\itemsep}\vspace*{-\parsep}\item#1}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 \newcommand{\gnussection}[1]{
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 \renewcommand{\gnussectionname}{#1}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 \section{#1}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 \newenvironment{codelist}%
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 {\begin{list}{}{
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 }{\end{list}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 \newenvironment{kbdlist}%
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 {\begin{list}{}{
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 \labelwidth=0cm
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 }{\end{list}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 \newenvironment{dfnlist}%
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110 {\begin{list}{}{
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 }{\end{list}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 \newenvironment{stronglist}%
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115 {\begin{list}{}{
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117 }{\end{list}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 \newenvironment{samplist}%
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 {\begin{list}{}{
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 }{\end{list}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124 \newenvironment{varlist}%
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 {\begin{list}{}{
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 }{\end{list}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129 \newenvironment{emphlist}%
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130 {\begin{list}{}{
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 }{\end{list}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
134 \newlength\gnusheadtextwidth
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
135 \setlength{\gnusheadtextwidth}{\headtextwidth}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
136 \addtolength{\gnusheadtextwidth}{1cm}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
137
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
138 \newpagestyle{gnuspreamble}%
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 \ifodd\count0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142 {
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
143 \hspace*{-0.23cm}\underline{\makebox[\gnusheadtextwidth]{\mbox{}}\textbf{\hfill\roman{page}}}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 \else
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 {
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
147 \hspace*{-3.25cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\roman{page}\hfill\mbox{}}}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
148 }
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 \fi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154 \ifodd\count0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 \mbox{} \hfill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156 \raisebox{-0.5cm}{\epsfig{figure=gnus-big-logo.eps,height=1cm}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 \else
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 \raisebox{-0.5cm}{\epsfig{figure=gnus-big-logo.eps,height=1cm}}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159 \hfill \mbox{}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160 \fi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 }
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
162
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
163 \newpagestyle{gnusindex}%
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
164 {
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
165 {
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
166 \ifodd\count0
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
167 {
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
168 \hspace*{-0.23cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\gnuschaptername\hfill\arabic{page}}}}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
169 }
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
170 \else
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
171 {
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
172 \hspace*{-3.25cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\arabic{page}\hfill\gnuschaptername}}}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
173 }
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
174 \fi
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
175 }
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
176 }
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
177 {
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
178 \ifodd\count0
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
179 \mbox{} \hfill
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
180 \raisebox{-0.5cm}{\epsfig{figure=gnus-big-logo.eps,height=1cm}}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
181 \else
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
182 \raisebox{-0.5cm}{\epsfig{figure=gnus-big-logo.eps,height=1cm}}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
183 \hfill \mbox{}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
184 \fi
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
185 }
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
186
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
187 \newpagestyle{gnus}%
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
188 {
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
189 {
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
190 \ifodd\count0
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
191 {
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
192 \hspace*{-0.23cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\arabic{chapter}.\arabic{section}} \textbf{\gnussectionname\hfill\arabic{page}}}}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
193 }
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
194 \else
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
195 {
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
196 \hspace*{-3.25cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\arabic{page}\hfill\gnuschaptername}}}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
197 }
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
198 \fi
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
199 }
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
200 }
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
201 {
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
202 \ifodd\count0
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
203 \mbox{} \hfill
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
204 \raisebox{-0.5cm}{\epsfig{figure=gnus-big-logo.eps,height=1cm}}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
205 \else
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
206 \raisebox{-0.5cm}{\epsfig{figure=gnus-big-logo.eps,height=1cm}}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
207 \hfill \mbox{}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
208 \fi
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
209 }
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
210
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
211 \pagenumbering{roman}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
212 \pagestyle{gnuspreamble}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 @end iflatex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 @iflatex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 \begin{titlepage}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220 {
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 %\addtolength{\oddsidemargin}{-5cm}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 %\addtolength{\evensidemargin}{-5cm}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 \parindent=0cm
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 \addtolength{\textheight}{2cm}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 \gnustitle{\gnustitlename}\\
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 \rule{15cm}{1mm}\\
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 \vfill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 \hspace*{-1cm}\epsfig{figure=gnus-big-logo.eps,height=15cm}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 \vfill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 \rule{15cm}{1mm}\\
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 \gnusauthor{by Lars Magne Ingebrigtsen}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 \newpage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 }
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237 \mbox{}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 \vfill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 \thispagestyle{empty}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242 Copyright \copyright{} 1995,96 Free Software Foundation, Inc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 Permission is granted to make and distribute verbatim copies of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 this manual provided the copyright notice and this permission notice
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246 are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 Permission is granted to copy and distribute modified versions of this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249 manual under the conditions for verbatim copying, provided that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250 entire resulting derived work is distributed under the terms of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251 permission notice identical to this one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253 Permission is granted to copy and distribute translations of this manual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
254 into another language, under the above conditions for modified versions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256 \newpage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 \end{titlepage}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258 @end iflatex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 This file documents Gnus, the GNU Emacs newsreader.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265 Copyright (C) 1995,96 Free Software Foundation, Inc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267 Permission is granted to make and distribute verbatim copies of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 this manual provided the copyright notice and this permission notice
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269 are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271 @ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 Permission is granted to process this file through Tex and print the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 results, provided the printed document carries copying permission
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 notice identical to this one except for the removal of this paragraph
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275 (this paragraph not being relevant to the printed manual).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278 Permission is granted to copy and distribute modified versions of this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 manual under the conditions for verbatim copying, provided also that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 entire resulting derived work is distributed under the terms of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281 permission notice identical to this one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 Permission is granted to copy and distribute translations of this manual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284 into another language, under the above conditions for modified versions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 @tex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289 @titlepage
44
8d2a9b52c682 Import from CVS: tag r19-15prefinal
cvs
parents: 42
diff changeset
290 @title Gnus 5.4.37 Manual
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 @author by Lars Magne Ingebrigtsen
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295 @vskip 0pt plus 1filll
34
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
296 Copyright @copyright{} 1995,96,97 Free Software Foundation, Inc.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298 Permission is granted to make and distribute verbatim copies of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299 this manual provided the copyright notice and this permission notice
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300 are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302 Permission is granted to copy and distribute modified versions of this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303 manual under the conditions for verbatim copying, provided that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304 entire resulting derived work is distributed under the terms of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 permission notice identical to this one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307 Permission is granted to copy and distribute translations of this manual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308 into another language, under the above conditions for modified versions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310 @end titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313 @end tex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316 @node Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317 @top The Gnus Newsreader
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321 You can read news (and mail) from within Emacs by using Gnus. The news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 can be gotten by any nefarious means you can think of---@sc{nntp}, local
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323 spool or your mbox file. All at the same time, if you want to push your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
324 luck.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
325
44
8d2a9b52c682 Import from CVS: tag r19-15prefinal
cvs
parents: 42
diff changeset
326 This manual corresponds to Gnus 5.4.37.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
327
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 @iflatex
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
333 \tableofcontents
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
334 \gnuscleardoublepage
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335 @end iflatex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337 Gnus is the advanced, self-documenting, customizable, extensible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338 unreal-time newsreader for GNU Emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 Oops. That sounds oddly familiar, so let's start over again to avoid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341 being accused of plagiarism:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
342
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
343 Gnus is a message-reading laboratory. It will let you look at just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344 about anything as if it were a newsgroup. You can read mail with it,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345 you can browse directories with it, you can @code{ftp} with it---you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346 even read news with it!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
347
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
348 Gnus tries to empower people who read news the same way Emacs empowers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
349 people who edit text. Gnus sets no limits to what the user should be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
350 allowed to do. Users are encouraged to extend Gnus to make it behave
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
351 like they want it to behave. A program should not control people;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
352 people should be empowered to do what they want by using (or abusing)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
353 the program.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
354
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
355 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
356
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
357
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
358 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
359 * Starting Up:: Finding news can be a pain.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
360 * The Group Buffer:: Selecting, subscribing and killing groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
361 * The Summary Buffer:: Reading, saving and posting articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
362 * The Article Buffer:: Displaying and handling articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
363 * Composing Messages:: Information on sending mail and news.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
364 * Select Methods:: Gnus reads all messages from various select methods.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
365 * Scoring:: Assigning values to articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
366 * Various:: General purpose settings.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
367 * The End:: Farewell and goodbye.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
368 * Appendices:: Terminology, Emacs intro, FAQ, History, Internals.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
369 * Index:: Variable, function and concept index.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
370 * Key Index:: Key Index.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
371 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
372
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
373 @node Starting Up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
374 @chapter Starting Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
375 @cindex starting up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
376
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
377 @kindex M-x gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
378 @findex gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
379 If your system administrator has set things up properly, starting Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
380 and reading news is extremely easy---you just type @kbd{M-x gnus} in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
381 your Emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
382
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
383 @findex gnus-other-frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
384 @kindex M-x gnus-other-frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
385 If you want to start Gnus in a different frame, you can use the command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
386 @kbd{M-x gnus-other-frame} instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
387
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
388 If things do not go smoothly at startup, you have to twiddle some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
389 variables.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
390
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
391 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
392 * Finding the News:: Choosing a method for getting news.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
393 * The First Time:: What does Gnus do the first time you start it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
394 * The Server is Down:: How can I read my mail then?
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
395 * Slave Gnusae:: You can have more than one Gnus active at a time.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
396 * Fetching a Group:: Starting Gnus just to read a group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
397 * New Groups:: What is Gnus supposed to do with new groups?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
398 * Startup Files:: Those pesky startup files---@file{.newsrc}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
399 * Auto Save:: Recovering from a crash.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
400 * The Active File:: Reading the active file over a slow line Takes Time.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
401 * Changing Servers:: You may want to move from one server to another.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
402 * Startup Variables:: Other variables you might change.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
403 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
404
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
405
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
406 @node Finding the News
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
407 @section Finding the News
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
408 @cindex finding news
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
409
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
410 @vindex gnus-select-method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
411 @c @head
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
412 The @code{gnus-select-method} variable says where Gnus should look for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
413 news. This variable should be a list where the first element says
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
414 @dfn{how} and the second element says @dfn{where}. This method is your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
415 native method. All groups that are not fetched with this method are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
416 foreign groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
417
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
418 For instance, if the @samp{news.somewhere.edu} @sc{nntp} server is where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
419 you want to get your daily dosage of news from, you'd say:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
420
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
421 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
422 (setq gnus-select-method '(nntp "news.somewhere.edu"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
423 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
424
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
425 If you want to read directly from the local spool, say:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
426
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
427 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
428 (setq gnus-select-method '(nnspool ""))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
429 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
430
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
431 If you can use a local spool, you probably should, as it will almost
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
432 certainly be much faster.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
433
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
434 @vindex gnus-nntpserver-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
435 @cindex NNTPSERVER
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
436 @cindex @sc{nntp} server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
437 If this variable is not set, Gnus will take a look at the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
438 @code{NNTPSERVER} environment variable. If that variable isn't set,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
439 Gnus will see whether @code{gnus-nntpserver-file}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
440 (@file{/etc/nntpserver} by default) has any opinions on the matter. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
441 that fails as well, Gnus will will try to use the machine that is
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
442 running Emacs as an @sc{nntp} server. That's a long shot, though.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
443
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
444 @vindex gnus-nntp-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
445 If @code{gnus-nntp-server} is set, this variable will override
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
446 @code{gnus-select-method}. You should therefore set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
447 @code{gnus-nntp-server} to @code{nil}, which is what it is by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
448
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
449 @vindex gnus-secondary-servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
450 You can also make Gnus prompt you interactively for the name of an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
451 @sc{nntp} server. If you give a non-numerical prefix to @code{gnus}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
452 (i.e., @kbd{C-u M-x gnus}), Gnus will let you choose between the servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
453 in the @code{gnus-secondary-servers} list (if any). You can also just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
454 type in the name of any server you feel like visiting.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
455
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
456 @findex gnus-group-browse-foreign-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
457 @kindex B (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
458 However, if you use one @sc{nntp} server regularly and are just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
459 interested in a couple of groups from a different server, you would be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
460 better served by using the @kbd{B} command in the group buffer. It will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
461 let you have a look at what groups are available, and you can subscribe
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
462 to any of the groups you want to. This also makes @file{.newsrc}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
463 maintenance much tidier. @xref{Foreign Groups}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
464
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
465 @vindex gnus-secondary-select-methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
466 @c @head
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
467 A slightly different approach to foreign groups is to set the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
468 @code{gnus-secondary-select-methods} variable. The select methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
469 listed in this variable are in many ways just as native as the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
470 @code{gnus-select-method} server. They will also be queried for active
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
471 files during startup (if that's required), and new newsgroups that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
472 appear on these servers will be subscribed (or not) just as native
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
473 groups are.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
474
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
475 For instance, if you use the @code{nnmbox} backend to read your mail, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
476 would typically set this variable to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
477
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
478 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
479 (setq gnus-secondary-select-methods '((nnmbox "")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
480 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
481
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
482
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
483 @node The First Time
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
484 @section The First Time
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
485 @cindex first time usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
486
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
487 If no startup files exist, Gnus will try to determine what groups should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
488 be subscribed by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
489
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
490 @vindex gnus-default-subscribed-newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
491 If the variable @code{gnus-default-subscribed-newsgroups} is set, Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
492 will subscribe you to just those groups in that list, leaving the rest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
493 killed. Your system administrator should have set this variable to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
494 something useful.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
495
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
496 Since she hasn't, Gnus will just subscribe you to a few arbitrarily
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
497 picked groups (i.e., @samp{*.newusers}). (@dfn{Arbitrary} is here
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
498 defined as @dfn{whatever Lars thinks you should read}.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
499
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
500 You'll also be subscribed to the Gnus documentation group, which should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
501 help you with most common problems.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
502
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
503 If @code{gnus-default-subscribed-newsgroups} is @code{t}, Gnus will just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
504 use the normal functions for handling new groups, and not do anything
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
505 special.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
506
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
507
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
508 @node The Server is Down
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
509 @section The Server is Down
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
510 @cindex server errors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
511
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
512 If the default server is down, Gnus will understandably have some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
513 problems starting. However, if you have some mail groups in addition to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
514 the news groups, you may want to start Gnus anyway.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
515
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
516 Gnus, being the trusting sort of program, will ask whether to proceed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
517 without a native select method if that server can't be contacted. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
518 will happen whether the server doesn't actually exist (i.e., you have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
519 given the wrong address) or the server has just momentarily taken ill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
520 for some reason or other. If you decide to continue and have no foreign
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
521 groups, you'll find it difficult to actually do anything in the group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
522 buffer. But, hey, that's your problem. Blllrph!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
523
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
524 @findex gnus-no-server
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
525 @kindex M-x gnus-no-server
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
526 @c @head
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
527 If you know that the server is definitely down, or you just want to read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
528 your mail without bothering with the server at all, you can use the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
529 @code{gnus-no-server} command to start Gnus. That might come in handy
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
530 if you're in a hurry as well. This command will not attempt to contact
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
531 your primary server---instead, it will just activate all groups on level
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
532 1 and 2. (You should preferably keep no native groups on those two
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
533 levels.)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
534
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
535
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
536 @node Slave Gnusae
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
537 @section Slave Gnusae
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
538 @cindex slave
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
539
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
540 You might want to run more than one Emacs with more than one Gnus at the
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
541 same time. If you are using different @file{.newsrc} files (e.g., if you
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
542 are using the two different Gnusae to read from two different servers),
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
543 that is no problem whatsoever. You just do it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
544
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
545 The problem appears when you want to run two Gnusae that use the same
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
546 @code{.newsrc} file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
547
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
548 To work around that problem some, we here at the Think-Tank at the Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
549 Towers have come up with a new concept: @dfn{Masters} and
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
550 @dfn{slaves}. (We have applied for a patent on this concept, and have
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
551 taken out a copyright on those words. If you wish to use those words in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
552 conjunction with each other, you have to send $1 per usage instance to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
553 me. Usage of the patent (@dfn{Master/Slave Relationships In Computer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
554 Applications}) will be much more expensive, of course.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
555
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
556 Anyways, you start one Gnus up the normal way with @kbd{M-x gnus} (or
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
557 however you do it). Each subsequent slave Gnusae should be started with
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
558 @kbd{M-x gnus-slave}. These slaves won't save normal @file{.newsrc}
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
559 files, but instead save @dfn{slave files} that contain information only
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
560 on what groups have been read in the slave session. When a master Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
561 starts, it will read (and delete) these slave files, incorporating all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
562 information from them. (The slave files will be read in the sequence
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
563 they were created, so the latest changes will have precedence.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
564
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
565 Information from the slave files has, of course, precedence over the
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
566 information in the normal (i.e., master) @code{.newsrc} file.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
567
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
568
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
569 @node Fetching a Group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
570 @section Fetching a Group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
571 @cindex fetching a group
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
572
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
573 @findex gnus-fetch-group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
574 It it sometimes convenient to be able to just say ``I want to read this
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
575 group and I don't care whether Gnus has been started or not''. This is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
576 perhaps more useful for people who write code than for users, but the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
577 command @code{gnus-fetch-group} provides this functionality in any case.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
578 It takes the group name as a parameter.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
579
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
580
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
581 @node New Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
582 @section New Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
583 @cindex new groups
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
584 @cindex subscription
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
585
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
586 @vindex gnus-check-new-newsgroups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
587 If you are satisfied that you really never want to see any new groups,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
588 you can set @code{gnus-check-new-newsgroups} to @code{nil}. This will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
589 also save you some time at startup. Even if this variable is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
590 @code{nil}, you can always subscribe to the new groups just by pressing
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
591 @kbd{U} in the group buffer (@pxref{Group Maintenance}). This variable
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
592 is @code{t} by default. If you set this variable to @code{always}, then
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
593 Gnus will query the backends for new groups even when you do the @kbd{g}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
594 command (@pxref{Scanning New Messages}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
595
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
596 @menu
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
597 * Checking New Groups:: Determining what groups are new.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
598 * Subscription Methods:: What Gnus should do with new groups.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
599 * Filtering New Groups:: Making Gnus ignore certain new groups.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
600 @end menu
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
601
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
602
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
603 @node Checking New Groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
604 @subsection Checking New Groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
605
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
606 Gnus normally determines whether a group is new or not by comparing the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
607 list of groups from the active file(s) with the lists of subscribed and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
608 dead groups. This isn't a particularly fast method. If
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
609 @code{gnus-check-new-newsgroups} is @code{ask-server}, Gnus will ask the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
610 server for new groups since the last time. This is both faster and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
611 cheaper. This also means that you can get rid of the list of killed
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
612 groups altogether, so you may set @code{gnus-save-killed-list} to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
613 @code{nil}, which will save time both at startup, at exit, and all over.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
614 Saves disk space, too. Why isn't this the default, then?
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
615 Unfortunately, not all servers support this command.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
616
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
617 I bet I know what you're thinking now: How do I find out whether my
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
618 server supports @code{ask-server}? No? Good, because I don't have a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
619 fail-safe answer. I would suggest just setting this variable to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
620 @code{ask-server} and see whether any new groups appear within the next
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
621 few days. If any do, then it works. If none do, then it doesn't
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
622 work. I could write a function to make Gnus guess whether the server
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
623 supports @code{ask-server}, but it would just be a guess. So I won't.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
624 You could @code{telnet} to the server and say @code{HELP} and see
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
625 whether it lists @samp{NEWGROUPS} among the commands it understands. If
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
626 it does, then it might work. (But there are servers that lists
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
627 @samp{NEWGROUPS} without supporting the function properly.)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
628
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
629 This variable can also be a list of select methods. If so, Gnus will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
630 issue an @code{ask-server} command to each of the select methods, and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
631 subscribe them (or not) using the normal methods. This might be handy
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
632 if you are monitoring a few servers for new groups. A side effect is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
633 that startup will take much longer, so you can meditate while waiting.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
634 Use the mantra ``dingnusdingnusdingnus'' to achieve permanent bliss.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
635
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
636
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
637 @node Subscription Methods
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
638 @subsection Subscription Methods
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
639
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
640 @vindex gnus-subscribe-newsgroup-method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
641 What Gnus does when it encounters a new group is determined by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
642 @code{gnus-subscribe-newsgroup-method} variable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
643
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
644 This variable should contain a function. Some handy pre-fab values
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
645 are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
646
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
647 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
648
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
649 @item gnus-subscribe-zombies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
650 @vindex gnus-subscribe-zombies
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
651 Make all new groups zombies. This is the default. You can browse the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
652 zombies later (with @kbd{A z}) and either kill them all off properly
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
653 (with @kbd{S z}), or subscribe to them (with @kbd{u}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
654
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
655 @item gnus-subscribe-randomly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
656 @vindex gnus-subscribe-randomly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
657 Subscribe all new groups randomly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
658
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
659 @item gnus-subscribe-alphabetically
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
660 @vindex gnus-subscribe-alphabetically
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
661 Subscribe all new groups alphabetically.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
662
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
663 @item gnus-subscribe-hierarchically
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
664 @vindex gnus-subscribe-hierarchically
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
665 Subscribe all new groups hierarchically. The difference between this
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
666 function and @code{gnus-subscribe-alphabetically} is slight.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
667 @code{gnus-subscribe-alphabetically} will subscribe new groups in a strictly
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
668 alphabetical fashion, while this function will enter groups into it's
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
669 hierarchy. So if you want to have the @samp{rec} hierarchy before the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
670 @samp{comp} hierarchy, this function will not mess that configuration
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
671 up. Or something like that.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
672
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
673 @item gnus-subscribe-interactively
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
674 @vindex gnus-subscribe-interactively
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
675 Subscribe new groups interactively. This means that Gnus will ask
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
676 you about @strong{all} new groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
677
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
678 @item gnus-subscribe-killed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
679 @vindex gnus-subscribe-killed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
680 Kill all new groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
681
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
682 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
683
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
684 @vindex gnus-subscribe-hierarchical-interactive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
685 A closely related variable is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
686 @code{gnus-subscribe-hierarchical-interactive}. (That's quite a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
687 mouthful.) If this variable is non-@code{nil}, Gnus will ask you in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
688 hierarchical fashion whether to subscribe to new groups or not. Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
689 will ask you for each sub-hierarchy whether you want to descend the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
690 hierarchy or not.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
691
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
692 One common mistake is to set the variable a few paragraphs above to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
693 @code{gnus-subscribe-hierarchical-interactive}. This is an error. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
694 will not work. This is ga-ga. So don't do it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
695
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
696
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
697 @node Filtering New Groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
698 @subsection Filtering New Groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
699
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
700 A nice and portable way to control which new newsgroups should be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
701 subscribed (or ignored) is to put an @dfn{options} line at the start of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
702 the @file{.newsrc} file. Here's an example:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
703
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
704 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
705 options -n !alt.all !rec.all sci.all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
706 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
707
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
708 @vindex gnus-subscribe-options-newsgroup-method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
709 This line obviously belongs to a serious-minded intellectual scientific
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
710 person (or she may just be plain old boring), because it says that all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
711 groups that have names beginning with @samp{alt} and @samp{rec} should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
712 be ignored, and all groups with names beginning with @samp{sci} should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
713 be subscribed. Gnus will not use the normal subscription method for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
714 subscribing these groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
715 @code{gnus-subscribe-options-newsgroup-method} is used instead. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
716 variable defaults to @code{gnus-subscribe-alphabetically}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
717
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
718 @vindex gnus-options-not-subscribe
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
719 @vindex gnus-options-subscribe
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
720 If you don't want to mess with your @file{.newsrc} file, you can just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
721 set the two variables @code{gnus-options-subscribe} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
722 @code{gnus-options-not-subscribe}. These two variables do exactly the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
723 same as the @file{.newsrc} @samp{options -n} trick. Both are regexps,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
724 and if the the new group matches the former, it will be unconditionally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
725 subscribed, and if it matches the latter, it will be ignored.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
726
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
727 @vindex gnus-auto-subscribed-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
728 Yet another variable that meddles here is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
729 @code{gnus-auto-subscribed-groups}. It works exactly like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
730 @code{gnus-options-subscribe}, and is therefore really superfluous, but I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
731 thought it would be nice to have two of these. This variable is more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
732 meant for setting some ground rules, while the other variable is used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
733 more for user fiddling. By default this variable makes all new groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
734 that come from mail backends (@code{nnml}, @code{nnbabyl},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
735 @code{nnfolder}, @code{nnmbox}, and @code{nnmh}) subscribed. If you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
736 don't like that, just set this variable to @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
737
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
738 New groups that match this regexp are subscribed using
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
739 @code{gnus-subscribe-options-newsgroup-method}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
740
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
741
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
742 @node Changing Servers
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
743 @section Changing Servers
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
744 @cindex changing servers
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
745
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
746 Sometimes it is necessary to move from one @sc{nntp} server to another.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
747 This happens very rarely, but perhaps you change jobs, or one server is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
748 very flaky and you want to use another.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
749
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
750 Changing the server is pretty easy, right? You just change
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
751 @code{gnus-select-method} to point to the new server?
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
752
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
753 @emph{Wrong!}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
754
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
755 Article numbers are not (in any way) kept synchronized between different
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
756 @sc{nntp} servers, and the only way Gnus keeps track of what articles
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
757 you have read is by keeping track of article numbers. So when you
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
758 change @code{gnus-select-method}, your @file{.newsrc} file becomes
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
759 worthless.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
760
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
761 Gnus provides a few functions to attempt to translate a @file{.newsrc}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
762 file from one server to another. They all have one thing in
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
763 common---they take a looong time to run. You don't want to use these
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
764 functions more than absolutely necessary.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
765
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
766 @kindex M-x gnus-change-server
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
767 @findex gnus-change-server
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
768 If you have access to both servers, Gnus can request the headers for all
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
769 the articles you have read and compare @code{Message-ID}s and map the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
770 article numbers of the read articles and article marks. The @kbd{M-x
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
771 gnus-change-server} command will do this for all your native groups. It
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
772 will prompt for the method you want to move to.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
773
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
774 @kindex M-x gnus-group-move-group-to-server
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
775 @findex gnus-group-move-group-to-server
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
776 You can also move individual groups with the @kbd{M-x
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
777 gnus-group-move-group-to-server} command. This is useful if you want to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
778 move a (foreign) group from one server to another.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
779
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
780 @kindex M-x gnus-group-clear-data-on-native-groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
781 @findex gnus-group-clear-data-on-native-groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
782 If you don't have access to both the old and new server, all your marks
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
783 and read ranges have become worthless. You can use the @kbd{M-x
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
784 gnus-group-clear-data-on-native-groups} command to clear out all data
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
785 that you have on your native groups. Use with caution.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
786
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
787
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
788 @node Startup Files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
789 @section Startup Files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
790 @cindex startup files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
791 @cindex .newsrc
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
792 @cindex .newsrc.el
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
793 @cindex .newsrc.eld
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
794
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
795 Now, you all know about the @file{.newsrc} file. All subscription
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
796 information is traditionally stored in this file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
797
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
798 Things got a bit more complicated with @sc{gnus}. In addition to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
799 keeping the @file{.newsrc} file updated, it also used a file called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
800 @file{.newsrc.el} for storing all the information that didn't fit into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
801 the @file{.newsrc} file. (Actually, it also duplicated everything in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
802 the @file{.newsrc} file.) @sc{gnus} would read whichever one of these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
803 files was the most recently saved, which enabled people to swap between
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
804 @sc{gnus} and other newsreaders.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
805
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
806 That was kinda silly, so Gnus went one better: In addition to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
807 @file{.newsrc} and @file{.newsrc.el} files, Gnus also has a file called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
808 @file{.newsrc.eld}. It will read whichever of these files that are most
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
809 recent, but it will never write a @file{.newsrc.el} file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
810
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
811 @vindex gnus-save-newsrc-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
812 You can turn off writing the @file{.newsrc} file by setting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
813 @code{gnus-save-newsrc-file} to @code{nil}, which means you can delete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
814 the file and save some space, as well as making exit from Gnus faster.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
815 However, this will make it impossible to use other newsreaders than
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
816 Gnus. But hey, who would want to, right?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
817
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
818 @vindex gnus-save-killed-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
819 If @code{gnus-save-killed-list} (default @code{t}) is @code{nil}, Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
820 will not save the list of killed groups to the startup file. This will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
821 save both time (when starting and quitting) and space (on disk). It
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
822 will also mean that Gnus has no record of what groups are new or old,
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
823 so the automatic new groups subscription methods become meaningless.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
824 You should always set @code{gnus-check-new-newsgroups} to @code{nil} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
825 @code{ask-server} if you set this variable to @code{nil} (@pxref{New
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
826 Groups}). This variable can also be a regular expression. If that's
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
827 the case, remove all groups that do not match this regexp before
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
828 saving. This can be useful in certain obscure situations that involve
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
829 several servers where not all servers support @code{ask-server}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
830
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
831 @vindex gnus-startup-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
832 The @code{gnus-startup-file} variable says where the startup files are.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
833 The default value is @file{~/.newsrc}, with the Gnus (El Dingo) startup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
834 file being whatever that one is with a @samp{.eld} appended.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
835
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
836 @vindex gnus-save-newsrc-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
837 @vindex gnus-save-quick-newsrc-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
838 @vindex gnus-save-standard-newsrc-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
839 @code{gnus-save-newsrc-hook} is called before saving any of the newsrc
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
840 files, while @code{gnus-save-quick-newsrc-hook} is called just before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
841 saving the @file{.newsrc.eld} file, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
842 @code{gnus-save-standard-newsrc-hook} is called just before saving the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
843 @file{.newsrc} file. The latter two are commonly used to turn version
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
844 control on or off. Version control is on by default when saving the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
845 startup files. If you want to turn backup creation off, say something like:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
846
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
847 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
848 (defun turn-off-backup ()
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
849 (set (make-local-variable 'backup-inhibited) t))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
850
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
851 (add-hook 'gnus-save-quick-newsrc-hook 'turn-off-backup)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
852 (add-hook 'gnus-save-standard-newsrc-hook 'turn-off-backup)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
853 @end lisp
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
854
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
855 @vindex gnus-init-file
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
856 When Gnus starts, it will read the @code{gnus-site-init-file}
28
1917ad0d78d7 Import from CVS: tag r19-15b97
cvs
parents: 26
diff changeset
857 (@file{.../site-lisp/gnus} by default) and @code{gnus-init-file}
1917ad0d78d7 Import from CVS: tag r19-15b97
cvs
parents: 26
diff changeset
858 (@file{~/.gnus} by default) files. These are normal Emacs Lisp files
1917ad0d78d7 Import from CVS: tag r19-15b97
cvs
parents: 26
diff changeset
859 and can be used to avoid cluttering your @file{~/.emacs} and
1917ad0d78d7 Import from CVS: tag r19-15b97
cvs
parents: 26
diff changeset
860 @file{site-init} files with Gnus stuff. Gnus will also check for files
1917ad0d78d7 Import from CVS: tag r19-15b97
cvs
parents: 26
diff changeset
861 with the same names as these, but with @file{.elc} and @file{.el}
1917ad0d78d7 Import from CVS: tag r19-15b97
cvs
parents: 26
diff changeset
862 suffixes. In other words, if you have set @code{gnus-init-file} to
1917ad0d78d7 Import from CVS: tag r19-15b97
cvs
parents: 26
diff changeset
863 @file{~/.gnus}, it will look for @file{~/.gnus.elc}, @file{~/.gnus.el},
1917ad0d78d7 Import from CVS: tag r19-15b97
cvs
parents: 26
diff changeset
864 and finally @file{~/.gnus} (in this order).
1917ad0d78d7 Import from CVS: tag r19-15b97
cvs
parents: 26
diff changeset
865
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
866
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
867
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
868 @node Auto Save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
869 @section Auto Save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
870 @cindex dribble file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
871 @cindex auto-save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
872
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
873 Whenever you do something that changes the Gnus data (reading articles,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
874 catching up, killing/subscribing groups), the change is added to a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
875 special @dfn{dribble buffer}. This buffer is auto-saved the normal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
876 Emacs way. If your Emacs should crash before you have saved the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
877 @file{.newsrc} files, all changes you have made can be recovered from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
878 this file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
879
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
880 If Gnus detects this file at startup, it will ask the user whether to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
881 read it. The auto save file is deleted whenever the real startup file is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
882 saved.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
883
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
884 @vindex gnus-use-dribble-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
885 If @code{gnus-use-dribble-file} is @code{nil}, Gnus won't create and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
886 maintain a dribble buffer. The default is @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
887
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
888 @vindex gnus-dribble-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
889 Gnus will put the dribble file(s) in @code{gnus-dribble-directory}. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
890 this variable is @code{nil}, which it is by default, Gnus will dribble
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
891 into the directory where the @file{.newsrc} file is located. (This is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
892 normally the user's home directory.) The dribble file will get the same
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
893 file permissions as the @code{.newsrc} file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
894
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
895
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
896 @node The Active File
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
897 @section The Active File
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
898 @cindex active file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
899 @cindex ignored groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
900
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
901 When Gnus starts, or indeed whenever it tries to determine whether new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
902 articles have arrived, it reads the active file. This is a very large
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
903 file that lists all the active groups and articles on the server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
904
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
905 @vindex gnus-ignored-newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
906 Before examining the active file, Gnus deletes all lines that match the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
907 regexp @code{gnus-ignored-newsgroups}. This is done primarily to reject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
908 any groups with bogus names, but you can use this variable to make Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
909 ignore hierarchies you aren't ever interested in. However, this is not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
910 recommended. In fact, it's highly discouraged. Instead, @pxref{New
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
911 Groups} for an overview of other variables that can be used instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
912
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
913 @c This variable is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
914 @c @code{nil} by default, and will slow down active file handling somewhat
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
915 @c if you set it to anything else.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
916
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
917 @vindex gnus-read-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
918 @c @head
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
919 The active file can be rather Huge, so if you have a slow network, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
920 can set @code{gnus-read-active-file} to @code{nil} to prevent Gnus from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
921 reading the active file. This variable is @code{t} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
922
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
923 Gnus will try to make do by getting information just on the groups that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
924 you actually subscribe to.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
925
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
926 Note that if you subscribe to lots and lots of groups, setting this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
927 variable to @code{nil} will probably make Gnus slower, not faster. At
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
928 present, having this variable @code{nil} will slow Gnus down
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
929 considerably, unless you read news over a 2400 baud modem.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
930
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
931 This variable can also have the value @code{some}. Gnus will then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
932 attempt to read active info only on the subscribed groups. On some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
933 servers this is quite fast (on sparkling, brand new INN servers that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
934 support the @code{LIST ACTIVE group} command), on others this isn't fast
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
935 at all. In any case, @code{some} should be faster than @code{nil}, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
936 is certainly faster than @code{t} over slow lines.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
937
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
938 If this variable is @code{nil}, Gnus will ask for group info in total
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
939 lock-step, which isn't very fast. If it is @code{some} and you use an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
940 @sc{nntp} server, Gnus will pump out commands as fast as it can, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
941 read all the replies in one swoop. This will normally result in better
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
942 performance, but if the server does not support the aforementioned
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
943 @code{LIST ACTIVE group} command, this isn't very nice to the server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
944
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
945 In any case, if you use @code{some} or @code{nil}, you should definitely
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
946 kill all groups that you aren't interested in to speed things up.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
947
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
948 Note that this variable also affects active file retrieval from
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
949 secondary select methods.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
950
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
951
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
952 @node Startup Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
953 @section Startup Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
954
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
955 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
956
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
957 @item gnus-load-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
958 @vindex gnus-load-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
959 A hook that is run while Gnus is being loaded. Note that this hook will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
960 normally be run just once in each Emacs session, no matter how many
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
961 times you start Gnus.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
962
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
963 @item gnus-startup-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
964 @vindex gnus-startup-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
965 A hook that is run after starting up Gnus successfully.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
966
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
967 @item gnus-started-hook
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
968 @vindex gnus-started-hook
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
969 A hook that is run as the very last thing after starting up Gnus
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
970 successfully.
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
971
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
972 @item gnus-check-bogus-newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
973 @vindex gnus-check-bogus-newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
974 If non-@code{nil}, Gnus will check for and delete all bogus groups at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
975 startup. A @dfn{bogus group} is a group that you have in your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
976 @file{.newsrc} file, but doesn't exist on the news server. Checking for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
977 bogus groups can take quite a while, so to save time and resources it's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
978 best to leave this option off, and do the checking for bogus groups once
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
979 in a while from the group buffer instead (@pxref{Group Maintenance}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
980
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
981 @item gnus-inhibit-startup-message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
982 @vindex gnus-inhibit-startup-message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
983 If non-@code{nil}, the startup message won't be displayed. That way,
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
984 your boss might not notice as easily that you are reading news instead
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
985 of doing your job. Note that this variable is used before
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
986 @file{.gnus.el} is loaded, so it should be set in @code{.emacs} instead.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
987
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
988 @item gnus-no-groups-message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
989 @vindex gnus-no-groups-message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
990 Message displayed by Gnus when no groups are available.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
991
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
992 @item gnus-play-startup-jingle
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
993 @vindex gnus-play-startup-jingle
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
994 If non-@code{nil}, play the Gnus jingle at startup.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
995
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
996 @item gnus-startup-jingle
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
997 @vindex gnus-startup-jingle
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
998 Jingle to be played if the above variable is non-@code{nil}. The
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
999 default is @samp{Tuxedomoon.Jingle4.au}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1000
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1001 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1002
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1003
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1004 @node The Group Buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1005 @chapter The Group Buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1006 @cindex group buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1007
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1008 The @dfn{group buffer} lists all (or parts) of the available groups. It
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1009 is the first buffer shown when Gnus starts, and will never be killed as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1010 long as Gnus is active.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1011
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1012 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1013 * Group Buffer Format:: Information listed and how you can change it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1014 * Group Maneuvering:: Commands for moving in the group buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1015 * Selecting a Group:: Actually reading news.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1016 * Group Data:: Changing the info for a group.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1017 * Subscription Commands:: Unsubscribing, killing, subscribing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1018 * Group Levels:: Levels? What are those, then?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1019 * Group Score:: A mechanism for finding out what groups you like.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1020 * Marking Groups:: You can mark groups for later processing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1021 * Foreign Groups:: Creating and editing groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1022 * Group Parameters:: Each group may have different parameters set.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1023 * Listing Groups:: Gnus can list various subsets of the groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1024 * Sorting Groups:: Re-arrange the group order.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1025 * Group Maintenance:: Maintaining a tidy @file{.newsrc} file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1026 * Browse Foreign Server:: You can browse a server. See what it has to offer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1027 * Exiting Gnus:: Stop reading news and get some work done.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1028 * Group Topics:: A folding group mode divided into topics.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1029 * Misc Group Stuff:: Other stuff that you can to do.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1030 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1031
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1032
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1033 @node Group Buffer Format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1034 @section Group Buffer Format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1035
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1036 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1037 * Group Line Specification:: Deciding how the group buffer is to look.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1038 * Group Modeline Specification:: The group buffer modeline.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1039 * Group Highlighting:: Having nice colors in the group buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1040 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1041
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1042
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1043 @node Group Line Specification
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1044 @subsection Group Line Specification
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1045 @cindex group buffer format
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1046
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1047 The default format of the group buffer is nice and dull, but you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1048 make it as exciting and ugly as you feel like.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1049
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1050 Here's a couple of example group lines:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1051
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1052 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1053 25: news.announce.newusers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1054 * 0: alt.fan.andrea-dworkin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1055 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1056
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1057 Quite simple, huh?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1058
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1059 You can see that there are 25 unread articles in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1060 @samp{news.announce.newusers}. There are no unread articles, but some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1061 ticked articles, in @samp{alt.fan.andrea-dworkin} (see that little
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1062 asterisk at the beginning of the line?)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1063
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1064 @vindex gnus-group-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1065 You can change that format to whatever you want by fiddling with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1066 @code{gnus-group-line-format} variable. This variable works along the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1067 lines of a @code{format} specification, which is pretty much the same as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1068 a @code{printf} specifications, for those of you who use (feh!) C.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1069 @xref{Formatting Variables}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1070
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1071 @samp{%M%S%5y: %(%g%)\n} is the value that produced those lines above.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1072
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1073 There should always be a colon on the line; the cursor always moves to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1074 the colon after performing an operation. Nothing else is required---not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1075 even the group name. All displayed text is just window dressing, and is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1076 never examined by Gnus. Gnus stores all real information it needs using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1077 text properties.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1078
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1079 (Note that if you make a really strange, wonderful, spreadsheet-like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1080 layout, everybody will believe you are hard at work with the accounting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1081 instead of wasting time reading news.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1082
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1083 Here's a list of all available format characters:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1084
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1085 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1086
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1087 @item M
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1088 An asterisk if the group only has marked articles.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1089
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1090 @item S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1091 Whether the group is subscribed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1092
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1093 @item L
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1094 Level of subscribedness.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1095
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1096 @item N
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1097 Number of unread articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1098
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1099 @item I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1100 Number of dormant articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1102 @item T
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1103 Number of ticked articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1104
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1105 @item R
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1106 Number of read articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1107
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1108 @item t
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1109 Estimated total number of articles. (This is really @var{max-number}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1110 minus @var{min-number} plus 1.)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1111
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1112 @item y
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1113 Number of unread, unticked, non-dormant articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1114
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1115 @item i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1116 Number of ticked and dormant articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1117
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1118 @item g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1119 Full group name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1120
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1121 @item G
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1122 Group name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1123
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1124 @item D
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1125 Newsgroup description.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1126
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1127 @item o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1128 @samp{m} if moderated.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1129
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1130 @item O
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1131 @samp{(m)} if moderated.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1132
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1133 @item s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1134 Select method.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1135
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1136 @item n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1137 Select from where.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1138
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1139 @item z
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1140 A string that looks like @samp{<%s:%n>} if a foreign select method is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1141 used.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1142
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1143 @item P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1144 Indentation based on the level of the topic (@pxref{Group Topics}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1145
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1146 @item c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1147 @vindex gnus-group-uncollapsed-levels
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1148 Short (collapsed) group name. The @code{gnus-group-uncollapsed-levels}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1149 variable says how many levels to leave at the end of the group name.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1150 The default is 1---this will mean that group names like
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1151 @samp{gnu.emacs.gnus} will be shortened to @samp{g.emacs.gnus}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1152
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1153 @item m
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1154 @vindex gnus-new-mail-mark
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1155 @cindex %
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1156 @samp{%} (@code{gnus-new-mail-mark}) if there has arrived new mail to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1157 the group lately.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1158
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1159 @item d
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1160 A string that says when you last read the group (@pxref{Group
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1161 Timestamp}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1162
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1163 @item u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1164 User defined specifier. The next character in the format string should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1165 be a letter. @sc{gnus} will call the function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1166 @code{gnus-user-format-function-}@samp{X}, where @samp{X} is the letter
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1167 following @samp{%u}. The function will be passed a single dummy
30
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
1168 parameter as argument. The function should return a string, which will
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1169 be inserted into the buffer just like information from any other
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1170 specifier.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1171 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1172
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1173 @cindex *
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1174 All the ``number-of'' specs will be filled with an asterisk (@samp{*})
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1175 if no info is available---for instance, if it is a non-activated foreign
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1176 group, or a bogus native group.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1177
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1178
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1179 @node Group Modeline Specification
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1180 @subsection Group Modeline Specification
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1181 @cindex group modeline
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1182
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1183 @vindex gnus-group-mode-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1184 The mode line can be changed by setting
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1185 @code{gnus-group-mode-line-format} (@pxref{Formatting Variables}). It
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1186 doesn't understand that many format specifiers:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1187
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1188 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1189 @item S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1190 The native news server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1191 @item M
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1192 The native select method.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1193 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1194
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1195
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1196 @node Group Highlighting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1197 @subsection Group Highlighting
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1198 @cindex highlighting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1199 @cindex group highlighting
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1200
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1201 @vindex gnus-group-highlight
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1202 Highlighting in the group buffer is controlled by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1203 @code{gnus-group-highlight} variable. This is an alist with elements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1204 that look like @var{(form . face)}. If @var{form} evaluates to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1205 something non-@code{nil}, the @var{face} will be used on the line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1206
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1207 Here's an example value for this variable that might look nice if the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1208 background is dark:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1209
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1210 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1211 (setq gnus-group-highlight
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1212 `(((> unread 200) .
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1213 ,(custom-face-lookup "Red" nil nil t nil nil))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1214 ((and (< level 3) (zerop unread)) .
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1215 ,(custom-face-lookup "SeaGreen" nil nil t nil nil))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1216 ((< level 3) .
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1217 ,(custom-face-lookup "SpringGreen" nil nil t nil nil))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1218 ((zerop unread) .
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1219 ,(custom-face-lookup "SteelBlue" nil nil t nil nil))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1220 (t .
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1221 ,(custom-face-lookup "SkyBlue" nil nil t nil nil))))
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1222 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1223
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1224 Variables that are dynamically bound when the forms are evaluated
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1225 include:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1226
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1227 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1228 @item group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1229 The group name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1230 @item unread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1231 The number of unread articles in the group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1232 @item method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1233 The select method.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1234 @item mailp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1235 Whether the group is a mail group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1236 @item level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1237 The level of the group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1238 @item score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1239 The score of the group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1240 @item ticked
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1241 The number of ticked articles in the group.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1242 @item total
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1243 The total number of articles in the group. Or rather, MAX-NUMBER minus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1244 MIN-NUMBER.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1245 @item topic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1246 When using the topic minor mode, this variable is bound to the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1247 topic being inserted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1248 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1250 When the forms are @code{eval}ed, point is at the beginning of the line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1251 of the group in question, so you can use many of the normal Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1252 functions for snarfing info on the group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1253
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1254 @vindex gnus-group-update-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1255 @findex gnus-group-highlight-line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1256 @code{gnus-group-update-hook} is called when a group line is changed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1257 It will not be called when @code{gnus-visual} is @code{nil}. This hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1258 calls @code{gnus-group-highlight-line} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1259
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1260
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1261 @node Group Maneuvering
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1262 @section Group Maneuvering
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1263 @cindex group movement
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1264
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1265 All movement commands understand the numeric prefix and will behave as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1266 expected, hopefully.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1267
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1268 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1269
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1270 @item n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1271 @kindex n (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1272 @findex gnus-group-next-unread-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1273 Go to the next group that has unread articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1274 (@code{gnus-group-next-unread-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1275
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1276 @item p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1277 @itemx DEL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1278 @kindex DEL (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1279 @kindex p (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1280 @findex gnus-group-prev-unread-group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1281 Go to the previous group that has unread articles
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1282 (@code{gnus-group-prev-unread-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1283
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1284 @item N
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1285 @kindex N (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1286 @findex gnus-group-next-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1287 Go to the next group (@code{gnus-group-next-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1288
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1289 @item P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1290 @kindex P (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1291 @findex gnus-group-prev-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1292 Go to the previous group (@code{gnus-group-prev-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1293
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1294 @item M-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1295 @kindex M-p (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1296 @findex gnus-group-next-unread-group-same-level
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1297 Go to the next unread group on the same (or lower) level
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1298 (@code{gnus-group-next-unread-group-same-level}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1299
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1300 @item M-n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1301 @kindex M-n (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1302 @findex gnus-group-prev-unread-group-same-level
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1303 Go to the previous unread group on the same (or lower) level
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1304 (@code{gnus-group-prev-unread-group-same-level}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1305 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1306
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1307 Three commands for jumping to groups:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1308
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1309 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1310
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1311 @item j
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1312 @kindex j (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1313 @findex gnus-group-jump-to-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1314 Jump to a group (and make it visible if it isn't already)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1315 (@code{gnus-group-jump-to-group}). Killed groups can be jumped to, just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1316 like living groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1317
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1318 @item ,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1319 @kindex , (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1320 @findex gnus-group-best-unread-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1321 Jump to the unread group with the lowest level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1322 (@code{gnus-group-best-unread-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1323
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1324 @item .
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1325 @kindex . (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1326 @findex gnus-group-first-unread-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1327 Jump to the first group with unread articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1328 (@code{gnus-group-first-unread-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1329 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1330
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1331 @vindex gnus-group-goto-unread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1332 If @code{gnus-group-goto-unread} is @code{nil}, all the movement
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1333 commands will move to the next group, not the next unread group. Even
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1334 the commands that say they move to the next unread group. The default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1335 is @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1336
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1337
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1338 @node Selecting a Group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1339 @section Selecting a Group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1340 @cindex group selection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1341
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1342 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1343
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1344 @item SPACE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1345 @kindex SPACE (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1346 @findex gnus-group-read-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1347 Select the current group, switch to the summary buffer and display the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1348 first unread article (@code{gnus-group-read-group}). If there are no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1349 unread articles in the group, or if you give a non-numerical prefix to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1350 this command, Gnus will offer to fetch all the old articles in this
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1351 group from the server. If you give a numerical prefix @var{N}, @var{N}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1352 determines the number of articles Gnus will fetch. If @var{N} is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1353 positive, Gnus fetches the @var{N} newest articles, if @var{N} is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1354 negative, Gnus fetches the @var{abs(N)} oldest articles.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1355
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1356 @item RET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1357 @kindex RET (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1358 @findex gnus-group-select-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1359 Select the current group and switch to the summary buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1360 (@code{gnus-group-select-group}). Takes the same arguments as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1361 @code{gnus-group-read-group}---the only difference is that this command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1362 does not display the first unread article automatically upon group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1363 entry.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1364
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1365 @item M-RET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1366 @kindex M-RET (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1367 @findex gnus-group-quick-select-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1368 This does the same as the command above, but tries to do it with the
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1369 minimum amount of fuzz (@code{gnus-group-quick-select-group}). No
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1370 scoring/killing will be performed, there will be no highlights and no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1371 expunging. This might be useful if you're in a real hurry and have to
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1372 enter some humongous group. If you give a 0 prefix to this command
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1373 (i.e., @kbd{0 M-RET}), Gnus won't even generate the summary buffer.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1374 This might be useful if you want to toggle threading before entering the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1375 group.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1376
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1377 @item M-SPACE
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1378 @kindex M-SPACE (Group)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1379 @findex gnus-group-visible-select-group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1380 This is yet one more command that does the same as the @kbd{RET}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1381 command, but this one does it without expunging and hiding dormants
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1382 (@code{gnus-group-visible-select-group}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1383
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1384 @item M-C-RET
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1385 @kindex M-C-RET (Group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1386 @findex gnus-group-select-group-ephemerally
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1387 Finally, this command selects the current group ephemerally without
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1388 doing any processing of its contents
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1389 (@code{gnus-group-select-group-ephemerally}). Even threading has been
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1390 turned off. Everything you do in the group after selecting it in this
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1391 manner will have no permanent effects.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1392
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1393 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1394
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1395 @vindex gnus-large-newsgroup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1396 The @code{gnus-large-newsgroup} variable says what Gnus should consider
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1397 to be a big group. This is 200 by default. If the group has more
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1398 (unread and/or ticked) articles than this, Gnus will query the user
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1399 before entering the group. The user can then specify how many articles
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1400 should be fetched from the server. If the user specifies a negative
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1401 number (@code{-n}), the @code{n} oldest articles will be fetched. If it
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1402 is positive, the @code{n} articles that have arrived most recently will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1403 be fetched.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1404
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1405 @vindex gnus-select-group-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1406 @vindex gnus-auto-select-first
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1407 @code{gnus-auto-select-first} control whether any articles are selected
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1408 automatically when entering a group with the @kbd{SPACE} command.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1409
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1410 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1411
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1412 @item nil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1413 Don't select any articles when entering the group. Just display the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1414 full summary buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1415
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1416 @item t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1417 Select the first unread article when entering the group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1418
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1419 @item best
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1420 Select the most high-scored article in the group when entering the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1421 group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1422 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1423
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1424 If you want to prevent automatic selection in some group (say, in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1425 binary group with Huge articles) you can set this variable to @code{nil}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1426 in @code{gnus-select-group-hook}, which is called when a group is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1427 selected.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1428
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1429
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1430 @node Subscription Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1431 @section Subscription Commands
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1432 @cindex subscription
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1433
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1434 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1435
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1436 @item S t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1437 @itemx u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1438 @kindex S t (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1439 @kindex u (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1440 @findex gnus-group-unsubscribe-current-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1441 Toggle subscription to the current group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1442 (@code{gnus-group-unsubscribe-current-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1443
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1444 @item S s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1445 @itemx U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1446 @kindex S s (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1447 @kindex U (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1448 @findex gnus-group-unsubscribe-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1449 Prompt for a group to subscribe, and then subscribe it. If it was
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1450 subscribed already, unsubscribe it instead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1451 (@code{gnus-group-unsubscribe-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1452
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1453 @item S k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1454 @itemx C-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1455 @kindex S k (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1456 @kindex C-k (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1457 @findex gnus-group-kill-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1458 Kill the current group (@code{gnus-group-kill-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1459
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1460 @item S y
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1461 @itemx C-y
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1462 @kindex S y (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1463 @kindex C-y (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1464 @findex gnus-group-yank-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1465 Yank the last killed group (@code{gnus-group-yank-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1466
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1467 @item C-x C-t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1468 @kindex C-x C-t (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1469 @findex gnus-group-transpose-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1470 Transpose two groups (@code{gnus-group-transpose-groups}). This isn't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1471 really a subscription command, but you can use it instead of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1472 kill-and-yank sequence sometimes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1473
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1474 @item S w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1475 @itemx C-w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1476 @kindex S w (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1477 @kindex C-w (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1478 @findex gnus-group-kill-region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1479 Kill all groups in the region (@code{gnus-group-kill-region}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1480
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1481 @item S z
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1482 @kindex S z (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1483 @findex gnus-group-kill-all-zombies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1484 Kill all zombie groups (@code{gnus-group-kill-all-zombies}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1485
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1486 @item S C-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1487 @kindex S C-k (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1488 @findex gnus-group-kill-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1489 Kill all groups on a certain level (@code{gnus-group-kill-level}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1490 These groups can't be yanked back after killing, so this command should
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1491 be used with some caution. The only time where this command comes in
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1492 really handy is when you have a @file{.newsrc} with lots of unsubscribed
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1493 groups that you want to get rid off. @kbd{S C-k} on level 7 will
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1494 kill off all unsubscribed groups that do not have message numbers in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1495 @file{.newsrc} file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1496
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1497 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1498
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1499 Also @pxref{Group Levels}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1500
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1501
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1502 @node Group Data
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1503 @section Group Data
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1504
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1505 @table @kbd
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1506
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1507 @item c
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1508 @kindex c (Group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1509 @findex gnus-group-catchup-current
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1510 @vindex gnus-group-catchup-group-hook
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1511 Mark all unticked articles in this group as read
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1512 (@code{gnus-group-catchup-current}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1513 @code{gnus-group-catchup-group-hook} is called when catching up a group from
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1514 the group buffer.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1515
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1516 @item C
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1517 @kindex C (Group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1518 @findex gnus-group-catchup-current-all
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1519 Mark all articles in this group, even the ticked ones, as read
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1520 (@code{gnus-group-catchup-current-all}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1521
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1522 @item M-c
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1523 @kindex M-c (Group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1524 @findex gnus-group-clear-data
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1525 Clear the data from the current group---nix out marks and the list of
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1526 read articles (@code{gnus-group-clear-data}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1527
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1528 @item M-x gnus-group-clear-data-on-native-groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1529 @kindex M-x gnus-group-clear-data-on-native-groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1530 @findex gnus-group-clear-data-on-native-groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1531 If you have switched from one @sc{nntp} server to another, all your marks
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1532 and read ranges have become worthless. You can use this command to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1533 clear out all data that you have on your native groups. Use with
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1534 caution.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1535
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1536 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1537
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1538
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1539 @node Group Levels
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1540 @section Group Levels
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1541 @cindex group level
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1542 @cindex level
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1543
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1544 All groups have a level of @dfn{subscribedness}. For instance, if a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1545 group is on level 2, it is more subscribed than a group on level 5. You
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1546 can ask Gnus to just list groups on a given level or lower
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1547 (@pxref{Listing Groups}), or to just check for new articles in groups on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1548 a given level or lower (@pxref{Scanning New Messages}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1549
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1550 Remember: The higher the level of the group, the less important it is.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1551
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1552 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1553
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1554 @item S l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1555 @kindex S l (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1556 @findex gnus-group-set-current-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1557 Set the level of the current group. If a numeric prefix is given, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1558 next @var{n} groups will have their levels set. The user will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1559 prompted for a level.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1560 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1561
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1562 @vindex gnus-level-killed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1563 @vindex gnus-level-zombie
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1564 @vindex gnus-level-unsubscribed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1565 @vindex gnus-level-subscribed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1566 Gnus considers groups on between levels 1 and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1567 @code{gnus-level-subscribed} (inclusive) (default 5) to be subscribed,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1568 @code{gnus-level-subscribed} (exclusive) and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1569 @code{gnus-level-unsubscribed} (inclusive) (default 7) to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1570 unsubscribed, @code{gnus-level-zombie} to be zombies (walking dead)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1571 (default 8) and @code{gnus-level-killed} to be killed (default 9),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1572 completely dead. Gnus treats subscribed and unsubscribed groups exactly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1573 the same, but zombie and killed groups have no information on what
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1574 articles you have read, etc, stored. This distinction between dead and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1575 living groups isn't done because it is nice or clever, it is done purely
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1576 for reasons of efficiency.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1577
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1578 It is recommended that you keep all your mail groups (if any) on quite
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1579 low levels (e.g. 1 or 2).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1580
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1581 If you want to play with the level variables, you should show some care.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1582 Set them once, and don't touch them ever again. Better yet, don't touch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1583 them at all unless you know exactly what you're doing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1584
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1585 @vindex gnus-level-default-unsubscribed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1586 @vindex gnus-level-default-subscribed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1587 Two closely related variables are @code{gnus-level-default-subscribed}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1588 (default 3) and @code{gnus-level-default-unsubscribed} (default 6),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1589 which are the levels that new groups will be put on if they are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1590 (un)subscribed. These two variables should, of course, be inside the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1591 relevant legal ranges.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1592
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1593 @vindex gnus-keep-same-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1594 If @code{gnus-keep-same-level} is non-@code{nil}, some movement commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1595 will only move to groups that are of the same level (or lower). In
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1596 particular, going from the last article in one group to the next group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1597 will go to the next group of the same level (or lower). This might be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1598 handy if you want to read the most important groups before you read the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1599 rest.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1600
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1601 @vindex gnus-group-default-list-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1602 All groups with a level less than or equal to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1603 @code{gnus-group-default-list-level} will be listed in the group buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1604 by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1605
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1606 @vindex gnus-group-list-inactive-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1607 If @code{gnus-group-list-inactive-groups} is non-@code{nil}, non-active
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1608 groups will be listed along with the unread groups. This variable is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1609 @code{t} by default. If it is @code{nil}, inactive groups won't be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1610 listed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1611
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1612 @vindex gnus-group-use-permanent-levels
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1613 If @code{gnus-group-use-permanent-levels} is non-@code{nil}, once you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1614 give a level prefix to @kbd{g} or @kbd{l}, all subsequent commands will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1615 use this level as the ``work'' level.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1616
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1617 @vindex gnus-activate-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1618 Gnus will normally just activate groups that are on level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1619 @code{gnus-activate-level} or less. If you don't want to activate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1620 unsubscribed groups, for instance, you might set this variable to
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1621 5. The default is 6.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1622
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1623
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1624 @node Group Score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1625 @section Group Score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1626 @cindex group score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1627
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1628 You would normally keep important groups on high levels, but that scheme
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1629 is somewhat restrictive. Don't you wish you could have Gnus sort the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1630 group buffer according to how often you read groups, perhaps? Within
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1631 reason?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1632
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1633 This is what @dfn{group score} is for. You can assign a score to each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1634 group. You can then sort the group buffer based on this score.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1635 Alternatively, you can sort on score and then level. (Taken together,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1636 the level and the score is called the @dfn{rank} of the group. A group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1637 that is on level 4 and has a score of 1 has a higher rank than a group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1638 on level 5 that has a score of 300. (The level is the most significant
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1639 part and the score is the least significant part.))
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1640
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1641 @findex gnus-summary-bubble-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1642 If you want groups you read often to get higher scores than groups you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1643 read seldom you can add the @code{gnus-summary-bubble-group} function to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1644 the @code{gnus-summary-exit-hook} hook. This will result (after
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1645 sorting) in a bubbling sort of action. If you want to see that in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1646 action after each summary exit, you can add
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1647 @code{gnus-group-sort-groups-by-rank} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1648 @code{gnus-group-sort-groups-by-score} to the same hook, but that will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1649 slow things down somewhat.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1650
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1651
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1652 @node Marking Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1653 @section Marking Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1654 @cindex marking groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1655
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1656 If you want to perform some command on several groups, and they appear
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1657 subsequently in the group buffer, you would normally just give a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1658 numerical prefix to the command. Most group commands will then do your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1659 bidding on those groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1660
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1661 However, if the groups are not in sequential order, you can still
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1662 perform a command on several groups. You simply mark the groups first
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1663 with the process mark and then execute the command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1664
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1665 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1666
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1667 @item #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1668 @kindex # (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1669 @itemx M m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1670 @kindex M m (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1671 @findex gnus-group-mark-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1672 Set the mark on the current group (@code{gnus-group-mark-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1673
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1674 @item M-#
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1675 @kindex M-# (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1676 @itemx M u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1677 @kindex M u (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1678 @findex gnus-group-unmark-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1679 Remove the mark from the current group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1680 (@code{gnus-group-unmark-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1681
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1682 @item M U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1683 @kindex M U (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1684 @findex gnus-group-unmark-all-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1685 Remove the mark from all groups (@code{gnus-group-unmark-all-groups}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1686
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1687 @item M w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1688 @kindex M w (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1689 @findex gnus-group-mark-region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1690 Mark all groups between point and mark (@code{gnus-group-mark-region}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1691
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1692 @item M b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1693 @kindex M b (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1694 @findex gnus-group-mark-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1695 Mark all groups in the buffer (@code{gnus-group-mark-buffer}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1696
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1697 @item M r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1698 @kindex M r (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1699 @findex gnus-group-mark-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1700 Mark all groups that match some regular expression
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1701 (@code{gnus-group-mark-regexp}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1702 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1703
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1704 Also @pxref{Process/Prefix}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1705
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1706 @findex gnus-group-universal-argument
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1707 If you want to execute some command on all groups that have been marked
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1708 with the process mark, you can use the @kbd{M-&}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1709 (@code{gnus-group-universal-argument}) command. It will prompt you for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1710 the command to be executed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1711
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1712
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1713 @node Foreign Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1714 @section Foreign Groups
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1715 @cindex foreign groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1716
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1717 Below are some group mode commands for making and editing general foreign
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1718 groups, as well as commands to ease the creation of a few
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1719 special-purpose groups. All these commands insert the newly created
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1720 groups under point---@code{gnus-subscribe-newsgroup-method} is not
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1721 consulted.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1722
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1723 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1724
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1725 @item G m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1726 @kindex G m (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1727 @findex gnus-group-make-group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1728 @cindex making groups
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1729 Make a new group (@code{gnus-group-make-group}). Gnus will prompt you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1730 for a name, a method and possibly an @dfn{address}. For an easier way
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1731 to subscribe to @sc{nntp} groups, @pxref{Browse Foreign Server}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1732
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1733 @item G r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1734 @kindex G r (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1735 @findex gnus-group-rename-group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1736 @cindex renaming groups
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1737 Rename the current group to something else
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1738 (@code{gnus-group-rename-group}). This is legal only on some
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1739 groups---mail groups mostly. This command might very well be quite slow
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1740 on some backends.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1741
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1742 @item G c
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1743 @kindex G c (Group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1744 @cindex customizing
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1745 @findex gnus-group-customize
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1746 Customize the group parameters (@code{gnus-group-customize}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1747
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1748 @item G e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1749 @kindex G e (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1750 @findex gnus-group-edit-group-method
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1751 @cindex renaming groups
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1752 Enter a buffer where you can edit the select method of the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1753 group (@code{gnus-group-edit-group-method}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1754
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1755 @item G p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1756 @kindex G p (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1757 @findex gnus-group-edit-group-parameters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1758 Enter a buffer where you can edit the group parameters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1759 (@code{gnus-group-edit-group-parameters}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1760
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1761 @item G E
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1762 @kindex G E (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1763 @findex gnus-group-edit-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1764 Enter a buffer where you can edit the group info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1765 (@code{gnus-group-edit-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1766
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1767 @item G d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1768 @kindex G d (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1769 @findex gnus-group-make-directory-group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1770 @cindex nndir
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1771 Make a directory group (@pxref{Directory Groups}). You will be prompted
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1772 for a directory name (@code{gnus-group-make-directory-group}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1773
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1774 @item G h
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1775 @kindex G h (Group)
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1776 @cindex help group
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1777 @findex gnus-group-make-help-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1778 Make the Gnus help group (@code{gnus-group-make-help-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1779
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1780 @item G a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1781 @kindex G a (Group)
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1782 @cindex (ding) archive
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1783 @cindex archive group
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1784 @findex gnus-group-make-archive-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1785 @vindex gnus-group-archive-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1786 @vindex gnus-group-recent-archive-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1787 Make a Gnus archive group (@code{gnus-group-make-archive-group}). By
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1788 default a group pointing to the most recent articles will be created
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1789 (@code{gnus-group-recent-archive-directory}), but given a prefix, a full
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1790 group will be created from @code{gnus-group-archive-directory}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1791
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1792 @item G k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1793 @kindex G k (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1794 @findex gnus-group-make-kiboze-group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1795 @cindex nnkiboze
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1796 Make a kiboze group. You will be prompted for a name, for a regexp to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1797 match groups to be ``included'' in the kiboze group, and a series of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1798 strings to match on headers (@code{gnus-group-make-kiboze-group}).
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1799 @xref{Kibozed Groups}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1800
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1801 @item G D
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1802 @kindex G D (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1803 @findex gnus-group-enter-directory
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1804 @cindex nneething
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1805 Read an arbitrary directory as if with were a newsgroup with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1806 @code{nneething} backend (@code{gnus-group-enter-directory}).
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1807 @xref{Anything Groups}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1808
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1809 @item G f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1810 @kindex G f (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1811 @findex gnus-group-make-doc-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1812 @cindex ClariNet Briefs
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1813 @cindex nndoc
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1814 Make a group based on some file or other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1815 (@code{gnus-group-make-doc-group}). If you give a prefix to this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1816 command, you will be prompted for a file name and a file type.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1817 Currently supported types are @code{babyl}, @code{mbox}, @code{digest},
24
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
1818 @code{mmdf}, @code{news}, @code{rnews}, @code{clari-briefs},
34
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
1819 @code{rfc934}, @code{rfc822-forward}, and @code{forward}. If you run
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
1820 this command without a prefix, Gnus will guess at the file type.
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
1821 @xref{Document Groups}.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1822
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1823 @item G w
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1824 @kindex G w (Group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1825 @findex gnus-group-make-web-group
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1826 @cindex DejaNews
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1827 @cindex Alta Vista
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1828 @cindex InReference
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1829 @cindex nnweb
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1830 Make an ephemeral group based on a web search
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1831 (@code{gnus-group-make-web-group}). If you give a prefix to this
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1832 command, make a solid group instead. You will be prompted for the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1833 search engine type and the search string. Legal search engine types
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1834 include @code{dejanews}, @code{altavista} and @code{reference}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1835 @xref{Web Searches}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1836
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1837 @item G DEL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1838 @kindex G DEL (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1839 @findex gnus-group-delete-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1840 This function will delete the current group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1841 (@code{gnus-group-delete-group}). If given a prefix, this function will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1842 actually delete all the articles in the group, and forcibly remove the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1843 group itself from the face of the Earth. Use a prefix only if you are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1844 absolutely sure of what you are doing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1845
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1846 @item G V
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1847 @kindex G V (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1848 @findex gnus-group-make-empty-virtual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1849 Make a new, fresh, empty @code{nnvirtual} group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1850 (@code{gnus-group-make-empty-virtual}). @xref{Virtual Groups}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1851
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1852 @item G v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1853 @kindex G v (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1854 @findex gnus-group-add-to-virtual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1855 Add the current group to an @code{nnvirtual} group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1856 (@code{gnus-group-add-to-virtual}). Uses the process/prefix convention.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1857 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1858
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1859 @xref{Select Methods} for more information on the various select
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1860 methods.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1861
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1862 @vindex gnus-activate-foreign-newsgroups
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1863 If @code{gnus-activate-foreign-newsgroups} is a positive number,
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1864 Gnus will check all foreign groups with this level or lower at startup.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1865 This might take quite a while, especially if you subscribe to lots of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1866 groups from different @sc{nntp} servers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1867
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1868
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1869 @node Group Parameters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1870 @section Group Parameters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1871 @cindex group parameters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1872
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1873 The group parameters store information local to a particular group:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1874
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1875 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1876 @item to-address
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1877 @cindex to-address
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1878 If the group parameter list contains an element that looks like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1879 @code{(to-address . "some@@where.com")}, that address will be used by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1880 the backend when doing followups and posts. This is primarily useful in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1881 mail groups that represent closed mailing lists---mailing lists where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1882 it's expected that everybody that writes to the mailing list is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1883 subscribed to it. Since using this parameter ensures that the mail only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1884 goes to the mailing list itself, it means that members won't receive two
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1885 copies of your followups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1886
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1887 Using @code{to-address} will actually work whether the group is foreign
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1888 or not. Let's say there's a group on the server that is called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1889 @samp{fa.4ad-l}. This is a real newsgroup, but the server has gotten
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1890 the articles from a mail-to-news gateway. Posting directly to this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1891 group is therefore impossible---you have to send mail to the mailing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1892 list address instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1893
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1894 @item to-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1895 @cindex to-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1896 If the group parameter list has an element that looks like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1897 @code{(to-list . "some@@where.com")}, that address will be used when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1898 doing a @kbd{a} in any group. It is totally ignored when doing a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1899 followup---except that if it is present in a news group, you'll get mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1900 group semantics when doing @kbd{f}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1901
34
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
1902 If you do an @kbd{a} command in a mail group and you don't have a
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
1903 @code{to-list} group parameter, one will be added automatically upon
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
1904 sending the message.
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
1905
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1906 @item broken-reply-to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1907 @cindex broken-reply-to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1908 Elements like @code{(broken-reply-to . t)} signals that @code{Reply-To}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1909 headers in this group are to be ignored. This can be useful if you're
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1910 reading a mailing list group where the listserv has inserted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1911 @code{Reply-To} headers that point back to the listserv itself. This is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1912 broken behavior. So there!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1913
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1914 @item to-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1915 @cindex to-group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1916 Elements like @code{(to-group . "some.group.name")} means that all
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1917 posts in that group will be sent to @code{some.group.name}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1918
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1919 @item newsgroup
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1920 @cindex newsgroup
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1921 If this symbol is present in the group parameter list, Gnus will treat
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1922 all responses as if they were responses to news articles. This can be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1923 useful if you have a mail group that's really a mirror of a news group.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1924
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1925 @item gcc-self
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1926 @cindex gcc-self
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1927 If this symbol is present in the group parameter list and set to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1928 @code{t}, new composed messages will be @code{Gcc}'d to the current
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1929 group. If it is present and set to @code{none}, no @code{Gcc:} header
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1930 will be generated, if it is present and a string, this string will be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1931 inserted literally as a @code{gcc} header (this symbol takes precedence over
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1932 any default @code{Gcc} rules as described later).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1933
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1934 @item auto-expire
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1935 @cindex auto-expire
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1936 If the group parameter has an element that looks like @code{(auto-expire
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1937 . t)}, , all articles that are read will be marked as expirable. For an
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1938 alternative approach, @pxref{Expiring Mail}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1939
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1940 @item total-expire
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1941 @cindex total-expire
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1942 If the group parameter has an element that looks like
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1943 @code{(total-expire . t)}, all read articles will be put through the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1944 expiry process, even if they are not marked as expirable. Use with
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1945 caution.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1946
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1947 @item expiry-wait
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1948 @cindex expiry-wait
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1949 @vindex nnmail-expiry-wait-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1950 If the group parameter has an element that looks like @code{(expiry-wait
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1951 . 10)}, this value will override any @code{nnmail-expiry-wait} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1952 @code{nnmail-expiry-wait-function} when expiring expirable messages.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1953 The value can either be a number of days (not necessarily an integer) or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1954 the symbols @code{never} or @code{immediate}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1955
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1956 @item score-file
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1957 @cindex score file group parameter
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1958 Elements that look like @code{(score-file . "file")} will make
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1959 @file{file} into the current score file for the group in question. This
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1960 means that all score commands you issue will end up in that file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1961
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1962 @item adapt-file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1963 @cindex adapt file group parameter
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1964 Elements that look like @code{(adapt-file . "file")} will make
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1965 @file{file} into the current adaptive file for the group in question.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1966 All adaptive score entries will be put into this file.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1967
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1968 @item admin-address
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1969 When unsubscribing to a mailing list you should never send the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1970 unsubscription notice to the mailing list itself. Instead, you'd send
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1971 messages to the administrative address. This parameter allows you to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1972 put the admin address somewhere convenient.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1973
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1974 @item display
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1975 Elements that look like @code{(display . MODE)} says which articles to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1976 display on entering the group. Legal values are:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1977
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1978 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1979 @item all
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1980 Display all articles, both read and unread.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1981
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1982 @item default
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1983 Display the default visible articles, which normally includes unread and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1984 ticked articles.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1985 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1986
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1987 @item comment
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1988 Elements that look like @code{(comment . "This is a comment")}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1989 are arbitrary comments on the group. They are currently ignored by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1990 Gnus, but provide a place for you to store information on particular
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1991 groups.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1992
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1993 @item @var{(variable form)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1994 You can use the group parameters to set variables local to the group you
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1995 are entering. If you want to turn threading off in @samp{news.answers},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1996 you could put @code{(gnus-show-threads nil)} in the group parameters of
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1997 that group. @code{gnus-show-threads} will be made into a local variable
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1998 in the summary buffer you enter, and the form @code{nil} will be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
1999 @code{eval}ed there.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2000
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2001 This can also be used as a group-specific hook function, if you'd like.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2002 If you want to hear a beep when you enter a group, you could put
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2003 something like @code{(dummy-variable (ding))} in the parameters of that
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2004 group. @code{dummy-variable} will be set to the result of the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2005 @code{(ding)} form, but who cares?
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2006
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2007 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2008
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2009 Use the @kbd{G p} command to edit group parameters of a group.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2010
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2011 Also @pxref{Topic Parameters}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2012
30
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
2013 Here's an example group parameter list:
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
2014
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
2015 @example
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
2016 ((to-address . "ding@@ifi.uio.no")
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
2017 (auto-expiry . t))
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
2018 @end example
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
2019
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2020
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2021 @node Listing Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2022 @section Listing Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2023 @cindex group listing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2024
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2025 These commands all list various slices of the groups that are available.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2026
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2027 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2028
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2029 @item l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2030 @itemx A s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2031 @kindex A s (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2032 @kindex l (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2033 @findex gnus-group-list-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2034 List all groups that have unread articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2035 (@code{gnus-group-list-groups}). If the numeric prefix is used, this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2036 command will list only groups of level ARG and lower. By default, it
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2037 only lists groups of level five (i. e.,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2038 @code{gnus-group-default-list-level}) or lower (i.e., just subscribed
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2039 groups).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2040
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2041 @item L
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2042 @itemx A u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2043 @kindex A u (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2044 @kindex L (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2045 @findex gnus-group-list-all-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2046 List all groups, whether they have unread articles or not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2047 (@code{gnus-group-list-all-groups}). If the numeric prefix is used,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2048 this command will list only groups of level ARG and lower. By default,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2049 it lists groups of level seven or lower (i.e., just subscribed and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2050 unsubscribed groups).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2051
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2052 @item A l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2053 @kindex A l (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2054 @findex gnus-group-list-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2055 List all unread groups on a specific level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2056 (@code{gnus-group-list-level}). If given a prefix, also list the groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2057 with no unread articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2058
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2059 @item A k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2060 @kindex A k (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2061 @findex gnus-group-list-killed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2062 List all killed groups (@code{gnus-group-list-killed}). If given a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2063 prefix argument, really list all groups that are available, but aren't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2064 currently (un)subscribed. This could entail reading the active file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2065 from the server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2066
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2067 @item A z
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2068 @kindex A z (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2069 @findex gnus-group-list-zombies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2070 List all zombie groups (@code{gnus-group-list-zombies}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2071
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2072 @item A m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2073 @kindex A m (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2074 @findex gnus-group-list-matching
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
2075 List all unread, subscribed groups with names that match a regexp
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2076 (@code{gnus-group-list-matching}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2077
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2078 @item A M
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2079 @kindex A M (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2080 @findex gnus-group-list-all-matching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2081 List groups that match a regexp (@code{gnus-group-list-all-matching}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2082
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2083 @item A A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2084 @kindex A A (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2085 @findex gnus-group-list-active
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2086 List absolutely all groups that are in the active file(s) of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2087 server(s) you are connected to (@code{gnus-group-list-active}). This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2088 might very well take quite a while. It might actually be a better idea
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2089 to do a @kbd{A M} to list all matching, and just give @samp{.} as the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2090 thing to match on. Also note that this command may list group that
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2091 don't exist (yet)---these will be listed as if they are killed groups.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2092 Take the output with some grains of salt.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2093
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2094 @item A a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2095 @kindex A a (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2096 @findex gnus-group-apropos
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2097 List all groups that have names that match a regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2098 (@code{gnus-group-apropos}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2099
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2100 @item A d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2101 @kindex A d (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2102 @findex gnus-group-description-apropos
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2103 List all groups that have names or descriptions that match a regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2104 (@code{gnus-group-description-apropos}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2105
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2106 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2107
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2108 @vindex gnus-permanently-visible-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2109 @cindex visible group parameter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2110 Groups that match the @code{gnus-permanently-visible-groups} regexp will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2111 always be shown, whether they have unread articles or not. You can also
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2112 add the @code{visible} element to the group parameters in question to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2113 get the same effect.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2114
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2115 @vindex gnus-list-groups-with-ticked-articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2116 Groups that have just ticked articles in it are normally listed in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2117 group buffer. If @code{gnus-list-groups-with-ticked-articles} is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2118 @code{nil}, these groups will be treated just like totally empty
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2119 groups. It is @code{t} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2120
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2121
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2122 @node Sorting Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2123 @section Sorting Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2124 @cindex sorting groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2125
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2126 @kindex C-c C-s (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2127 @findex gnus-group-sort-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2128 @vindex gnus-group-sort-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2129 The @kbd{C-c C-s} (@code{gnus-group-sort-groups}) command sorts the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2130 group buffer according to the function(s) given by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2131 @code{gnus-group-sort-function} variable. Available sorting functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2132 include:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2133
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2134 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2135
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2136 @item gnus-group-sort-by-alphabet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2137 @findex gnus-group-sort-by-alphabet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2138 Sort the group names alphabetically. This is the default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2139
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2140 @item gnus-group-sort-by-real-name
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2141 @findex gnus-group-sort-by-real-name
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2142 Sort the group alphabetically on the real (unprefixed) group names.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2143
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2144 @item gnus-group-sort-by-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2145 @findex gnus-group-sort-by-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2146 Sort by group level.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2147
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2148 @item gnus-group-sort-by-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2149 @findex gnus-group-sort-by-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2150 Sort by group score.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2151
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2152 @item gnus-group-sort-by-rank
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2153 @findex gnus-group-sort-by-rank
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2154 Sort by group score and then the group level. The level and the score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2155 are, when taken together, the group's @dfn{rank}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2156
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2157 @item gnus-group-sort-by-unread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2158 @findex gnus-group-sort-by-unread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2159 Sort by number of unread articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2160
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2161 @item gnus-group-sort-by-method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2162 @findex gnus-group-sort-by-method
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2163 Sort alphabetically on the select method.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2164
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2165
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2166 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2167
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2168 @code{gnus-group-sort-function} can also be a list of sorting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2169 functions. In that case, the most significant sort key function must be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2170 the last one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2171
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2172
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2173 There are also a number of commands for sorting directly according to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2174 some sorting criteria:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2175
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2176 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2177 @item G S a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2178 @kindex G S a (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2179 @findex gnus-group-sort-groups-by-alphabet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2180 Sort the group buffer alphabetically by group name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2181 (@code{gnus-group-sort-groups-by-alphabet}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2182
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2183 @item G S u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2184 @kindex G S u (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2185 @findex gnus-group-sort-groups-by-unread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2186 Sort the group buffer by the number of unread articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2187 (@code{gnus-group-sort-groups-by-unread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2188
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2189 @item G S l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2190 @kindex G S l (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2191 @findex gnus-group-sort-groups-by-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2192 Sort the group buffer by group level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2193 (@code{gnus-group-sort-groups-by-level}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2194
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2195 @item G S v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2196 @kindex G S v (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2197 @findex gnus-group-sort-groups-by-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2198 Sort the group buffer by group score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2199 (@code{gnus-group-sort-groups-by-score}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2200
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2201 @item G S r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2202 @kindex G S r (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2203 @findex gnus-group-sort-groups-by-rank
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2204 Sort the group buffer by group rank
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2205 (@code{gnus-group-sort-groups-by-rank}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2206
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2207 @item G S m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2208 @kindex G S m (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2209 @findex gnus-group-sort-groups-by-method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2210 Sort the group buffer alphabetically by backend name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2211 (@code{gnus-group-sort-groups-by-method}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2212
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2213 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2214
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2215 When given a prefix, all these commands will sort in reverse order.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2216
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2217 You can also sort a subset of the groups:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2218
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2219 @table @kbd
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2220 @item G P a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2221 @kindex G P a (Group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2222 @findex gnus-group-sort-selected-groups-by-alphabet
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2223 Sort the process/prefixed groups in the group buffer alphabetically by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2224 group name (@code{gnus-group-sort-selected-groups-by-alphabet}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2225
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2226 @item G P u
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2227 @kindex G P u (Group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2228 @findex gnus-group-sort-selected-groups-by-unread
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2229 Sort the process/prefixed groups in the group buffer by the number of
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2230 unread articles (@code{gnus-group-sort-selected-groups-by-unread}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2231
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2232 @item G P l
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2233 @kindex G P l (Group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2234 @findex gnus-group-sort-selected-groups-by-level
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2235 Sort the process/prefixed groups in the group buffer by group level
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2236 (@code{gnus-group-sort-selected-groups-by-level}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2237
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2238 @item G P v
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2239 @kindex G P v (Group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2240 @findex gnus-group-sort-selected-groups-by-score
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2241 Sort the process/prefixed groups in the group buffer by group score
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2242 (@code{gnus-group-sort-selected-groups-by-score}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2243
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2244 @item G P r
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2245 @kindex G P r (Group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2246 @findex gnus-group-sort-selected-groups-by-rank
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2247 Sort the process/prefixed groups in the group buffer by group rank
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2248 (@code{gnus-group-sort-selected-groups-by-rank}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2249
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2250 @item G P m
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2251 @kindex G P m (Group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2252 @findex gnus-group-sort-selected-groups-by-method
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2253 Sort the process/prefixed groups in the group buffer alphabetically by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2254 backend name (@code{gnus-group-sort-selected-groups-by-method}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2255
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2256 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2257
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2258
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2259
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2260 @node Group Maintenance
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2261 @section Group Maintenance
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2262 @cindex bogus groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2263
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2264 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2265 @item b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2266 @kindex b (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2267 @findex gnus-group-check-bogus-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2268 Find bogus groups and delete them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2269 (@code{gnus-group-check-bogus-groups}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2270
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2271 @item F
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2272 @kindex F (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2273 @findex gnus-find-new-newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2274 Find new groups and process them (@code{gnus-find-new-newsgroups}). If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2275 given a prefix, use the @code{ask-server} method to query the server for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2276 new groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2277
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2278 @item C-c C-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2279 @kindex C-c C-x (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2280 @findex gnus-group-expire-articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2281 Run all expirable articles in the current group through the expiry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2282 process (if any) (@code{gnus-group-expire-articles}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2283
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2284 @item C-c M-C-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2285 @kindex C-c M-C-x (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2286 @findex gnus-group-expire-all-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2287 Run all articles in all groups through the expiry process
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2288 (@code{gnus-group-expire-all-groups}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2289
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2290 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2291
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2292
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2293 @node Browse Foreign Server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2294 @section Browse Foreign Server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2295 @cindex foreign servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2296 @cindex browsing servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2297
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2298 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2299 @item B
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2300 @kindex B (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2301 @findex gnus-group-browse-foreign-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2302 You will be queried for a select method and a server name. Gnus will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2303 then attempt to contact this server and let you browse the groups there
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2304 (@code{gnus-group-browse-foreign-server}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2305 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2306
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2307 @findex gnus-browse-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2308 A new buffer with a list of available groups will appear. This buffer
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2309 will be use the @code{gnus-browse-mode}. This buffer looks a bit (well,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2310 a lot) like a normal group buffer.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2311
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2312 Here's a list of keystrokes available in the browse mode:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2313
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2314 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2315 @item n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2316 @kindex n (Browse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2317 @findex gnus-group-next-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2318 Go to the next group (@code{gnus-group-next-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2319
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2320 @item p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2321 @kindex p (Browse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2322 @findex gnus-group-prev-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2323 Go to the previous group (@code{gnus-group-prev-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2324
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2325 @item SPACE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2326 @kindex SPACE (Browse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2327 @findex gnus-browse-read-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2328 Enter the current group and display the first article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2329 (@code{gnus-browse-read-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2330
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2331 @item RET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2332 @kindex RET (Browse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2333 @findex gnus-browse-select-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2334 Enter the current group (@code{gnus-browse-select-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2335
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2336 @item u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2337 @kindex u (Browse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2338 @findex gnus-browse-unsubscribe-current-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2339 Unsubscribe to the current group, or, as will be the case here,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2340 subscribe to it (@code{gnus-browse-unsubscribe-current-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2341
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2342 @item l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2343 @itemx q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2344 @kindex q (Browse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2345 @kindex l (Browse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2346 @findex gnus-browse-exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2347 Exit browse mode (@code{gnus-browse-exit}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2348
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2349 @item ?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2350 @kindex ? (Browse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2351 @findex gnus-browse-describe-briefly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2352 Describe browse mode briefly (well, there's not much to describe, is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2353 there) (@code{gnus-browse-describe-briefly}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2354 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2355
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2356
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2357 @node Exiting Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2358 @section Exiting Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2359 @cindex exiting Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2360
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2361 Yes, Gnus is ex(c)iting.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2362
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2363 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2364 @item z
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2365 @kindex z (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2366 @findex gnus-group-suspend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2367 Suspend Gnus (@code{gnus-group-suspend}). This doesn't really exit Gnus,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2368 but it kills all buffers except the Group buffer. I'm not sure why this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2369 is a gain, but then who am I to judge?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2370
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2371 @item q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2372 @kindex q (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2373 @findex gnus-group-exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2374 Quit Gnus (@code{gnus-group-exit}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2375
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2376 @item Q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2377 @kindex Q (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2378 @findex gnus-group-quit
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2379 Quit Gnus without saving the @file{.newsrc} files (@code{gnus-group-quit}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2380 The dribble file will be saved, though (@pxref{Auto Save}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2381 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2382
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2383 @vindex gnus-exit-gnus-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2384 @vindex gnus-suspend-gnus-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2385 @code{gnus-suspend-gnus-hook} is called when you suspend Gnus and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2386 @code{gnus-exit-gnus-hook} is called when you quit Gnus, while
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2387 @code{gnus-after-exiting-gnus-hook} is called as the final item when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2388 exiting Gnus.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2389
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2390 @findex gnus-unload
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2391 @cindex unloading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2392 If you wish to completely unload Gnus and all its adherents, you can use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2393 the @code{gnus-unload} command. This command is also very handy when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2394 trying to customize meta-variables.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2395
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2396 Note:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2397
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2398 @quotation
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2399 Miss Lisa Cannifax, while sitting in English class, felt her feet go
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2400 numbly heavy and herself fall into a hazy trance as the boy sitting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2401 behind her drew repeated lines with his pencil across the back of her
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2402 plastic chair.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2403 @end quotation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2404
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2405
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2406 @node Group Topics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2407 @section Group Topics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2408 @cindex topics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2409
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2410 If you read lots and lots of groups, it might be convenient to group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2411 them hierarchically according to topics. You put your Emacs groups over
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2412 here, your sex groups over there, and the rest (what, two groups or so?)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2413 you put in some misc section that you never bother with anyway. You can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2414 even group the Emacs sex groups as a sub-topic to either the Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2415 groups or the sex groups---or both! Go wild!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2416
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2417 Here's an example:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2418
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2419 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2420 Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2421 Emacs -- I wuw it!
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2422 3: comp.emacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2423 2: alt.religion.emacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2424 Naughty Emacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2425 452: alt.sex.emacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2426 0: comp.talk.emacs.recovery
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2427 Misc
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2428 8: comp.binaries.fractals
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2429 13: comp.sources.unix
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2430 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2431
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2432 @findex gnus-topic-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2433 @kindex t (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2434 To get this @emph{fab} functionality you simply turn on (ooh!) the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2435 @code{gnus-topic} minor mode---type @kbd{t} in the group buffer. (This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2436 is a toggling command.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2437
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2438 Go ahead, just try it. I'll still be here when you get back. La de
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2439 dum... Nice tune, that... la la la... What, you're back? Yes, and now
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2440 press @kbd{l}. There. All your groups are now listed under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2441 @samp{misc}. Doesn't that make you feel all warm and fuzzy? Hot and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2442 bothered?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2443
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2444 If you want this permanently enabled, you should add that minor mode to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2445 the hook for the group mode:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2446
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2447 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2448 (add-hook 'gnus-group-mode-hook 'gnus-topic-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2449 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2450
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2451 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2452 * Topic Variables:: How to customize the topics the Lisp Way.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2453 * Topic Commands:: Interactive E-Z commands.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2454 * Topic Sorting:: Sorting each topic individually.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2455 * Topic Topology:: A map of the world.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2456 * Topic Parameters:: Parameters that apply to all groups in a topic.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2457 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2458
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2459
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2460 @node Topic Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2461 @subsection Topic Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2462 @cindex topic variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2463
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2464 Now, if you select a topic, if will fold/unfold that topic, which is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2465 really neat, I think.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2466
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2467 @vindex gnus-topic-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2468 The topic lines themselves are created according to the
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2469 @code{gnus-topic-line-format} variable (@pxref{Formatting Variables}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2470 Legal elements are:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2471
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2472 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2473 @item i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2474 Indentation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2475 @item n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2476 Topic name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2477 @item v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2478 Visibility.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2479 @item l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2480 Level.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2481 @item g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2482 Number of groups in the topic.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2483 @item a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2484 Number of unread articles in the topic.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2485 @item A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2486 Number of unread articles in the topic and all its subtopics.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2487 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2488
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2489 @vindex gnus-topic-indent-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2490 Each sub-topic (and the groups in the sub-topics) will be indented with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2491 @code{gnus-topic-indent-level} times the topic level number of spaces.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2492 The default is 2.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2493
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2494 @vindex gnus-topic-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2495 @code{gnus-topic-mode-hook} is called in topic minor mode buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2496
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2497 @vindex gnus-topic-display-empty-topics
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2498 The @code{gnus-topic-display-empty-topics} says whether to display even
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2499 topics that have no unread articles in them. The default is @code{t}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2500
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2501
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2502 @node Topic Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2503 @subsection Topic Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2504 @cindex topic commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2505
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2506 When the topic minor mode is turned on, a new @kbd{T} submap will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2507 available. In addition, a few of the standard keys change their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2508 definitions slightly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2509
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2510 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2511
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2512 @item T n
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2513 @kindex T n (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2514 @findex gnus-topic-create-topic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2515 Prompt for a new topic name and create it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2516 (@code{gnus-topic-create-topic}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2517
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2518 @item T m
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2519 @kindex T m (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2520 @findex gnus-topic-move-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2521 Move the current group to some other topic
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2522 (@code{gnus-topic-move-group}). This command uses the process/prefix
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2523 convention (@pxref{Process/Prefix}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2524
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2525 @item T c
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2526 @kindex T c (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2527 @findex gnus-topic-copy-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2528 Copy the current group to some other topic
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2529 (@code{gnus-topic-copy-group}). This command uses the process/prefix
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2530 convention (@pxref{Process/Prefix}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2531
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2532 @item T D
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2533 @kindex T D (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2534 @findex gnus-topic-remove-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2535 Remove a group from the current topic (@code{gnus-topic-remove-group}).
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2536 This command uses the process/prefix convention
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2537 (@pxref{Process/Prefix}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2538
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2539 @item T M
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2540 @kindex T M (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2541 @findex gnus-topic-move-matching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2542 Move all groups that match some regular expression to a topic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2543 (@code{gnus-topic-move-matching}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2544
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2545 @item T C
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2546 @kindex T C (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2547 @findex gnus-topic-copy-matching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2548 Copy all groups that match some regular expression to a topic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2549 (@code{gnus-topic-copy-matching}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2550
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2551 @item T #
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2552 @kindex T # (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2553 @findex gnus-topic-mark-topic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2554 Mark all groups in the current topic with the process mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2555 (@code{gnus-topic-mark-topic}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2556
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2557 @item T M-#
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2558 @kindex T M-# (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2559 @findex gnus-topic-unmark-topic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2560 Remove the process mark from all groups in the current topic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2561 (@code{gnus-topic-unmark-topic}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2562
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2563 @item RET
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2564 @kindex RET (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2565 @findex gnus-topic-select-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2566 @itemx SPACE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2567 Either select a group or fold a topic (@code{gnus-topic-select-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2568 When you perform this command on a group, you'll enter the group, as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2569 usual. When done on a topic line, the topic will be folded (if it was
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2570 visible) or unfolded (if it was folded already). So it's basically a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2571 toggling command on topics. In addition, if you give a numerical
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2572 prefix, group on that level (and lower) will be displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2573
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2574 @item T TAB
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2575 @kindex T TAB (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2576 @findex gnus-topic-indent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2577 ``Indent'' the current topic so that it becomes a sub-topic of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2578 previous topic (@code{gnus-topic-indent}). If given a prefix,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2579 ``un-indent'' the topic instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2580
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2581 @item C-k
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2582 @kindex C-k (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2583 @findex gnus-topic-kill-group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2584 Kill a group or topic (@code{gnus-topic-kill-group}). All groups in the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2585 topic will be removed along with the topic.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2586
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2587 @item C-y
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2588 @kindex C-y (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2589 @findex gnus-topic-yank-group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2590 Yank the previously killed group or topic
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2591 (@code{gnus-topic-yank-group}). Note that all topics will be yanked
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2592 before all groups.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2593
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2594 @item T r
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2595 @kindex T r (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2596 @findex gnus-topic-rename
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2597 Rename a topic (@code{gnus-topic-rename}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2598
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2599 @item T DEL
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2600 @kindex T DEL (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2601 @findex gnus-topic-delete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2602 Delete an empty topic (@code{gnus-topic-delete}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2603
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2604 @item A T
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2605 @kindex A T (Topic)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2606 @findex gnus-topic-list-active
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2607 List all groups that Gnus knows about in a topics-ified way
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2608 (@code{gnus-topic-list-active}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2609
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2610 @item G p
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2611 @kindex G p (Topic)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2612 @findex gnus-topic-edit-parameters
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2613 @cindex group parameters
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2614 @cindex topic parameters
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2615 @cindex parameters
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2616 Edit the topic parameters (@code{gnus-topic-edit-parameters}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2617 @xref{Topic Parameters}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2618
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2619 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2620
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2621
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2622 @node Topic Sorting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2623 @subsection Topic Sorting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2624 @cindex topic sorting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2625
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2626 You can sort the groups in each topic individually with the following
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2627 commands:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2628
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2629
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2630 @table @kbd
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2631 @item T S a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2632 @kindex T S a (Topic)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2633 @findex gnus-topic-sort-groups-by-alphabet
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2634 Sort the current topic alphabetically by group name
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2635 (@code{gnus-topic-sort-groups-by-alphabet}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2636
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2637 @item T S u
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2638 @kindex T S u (Topic)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2639 @findex gnus-topic-sort-groups-by-unread
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2640 Sort the current topic by the number of unread articles
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2641 (@code{gnus-topic-sort-groups-by-unread}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2642
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2643 @item T S l
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2644 @kindex T S l (Topic)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2645 @findex gnus-topic-sort-groups-by-level
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2646 Sort the current topic by group level
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2647 (@code{gnus-topic-sort-groups-by-level}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2648
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2649 @item T S v
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2650 @kindex T S v (Topic)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2651 @findex gnus-topic-sort-groups-by-score
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2652 Sort the current topic by group score
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2653 (@code{gnus-topic-sort-groups-by-score}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2654
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2655 @item T S r
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2656 @kindex T S r (Topic)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2657 @findex gnus-topic-sort-groups-by-rank
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2658 Sort the current topic by group rank
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2659 (@code{gnus-topic-sort-groups-by-rank}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2660
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2661 @item T S m
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2662 @kindex T S m (Topic)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2663 @findex gnus-topic-sort-groups-by-method
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2664 Sort the current topic alphabetically by backend name
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2665 (@code{gnus-topic-sort-groups-by-method}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2666
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2667 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2668
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2669 @xref{Sorting Groups} for more information about group sorting.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2670
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2671
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2672 @node Topic Topology
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2673 @subsection Topic Topology
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2674 @cindex topic topology
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2675 @cindex topology
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2676
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2677 So, let's have a look at an example group buffer:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2678
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2679 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2680 Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2681 Emacs -- I wuw it!
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2682 3: comp.emacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2683 2: alt.religion.emacs
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2684 Naughty Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2685 452: alt.sex.emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2686 0: comp.talk.emacs.recovery
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2687 Misc
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2688 8: comp.binaries.fractals
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2689 13: comp.sources.unix
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2690 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2691
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2692 So, here we have one top-level topic (@samp{Gnus}), two topics under
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2693 that, and one sub-topic under one of the sub-topics. (There is always
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2694 just one (1) top-level topic). This topology can be expressed as
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2695 follows:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2696
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2697 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2698 (("Gnus" visible)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2699 (("Emacs -- I wuw it!" visible)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2700 (("Naughty Emacs" visible)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2701 (("Misc" visible)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2702 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2703
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2704 @vindex gnus-topic-topology
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2705 This is in fact how the variable @code{gnus-topic-topology} would look
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2706 for the display above. That variable is saved in the @file{.newsrc.eld}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2707 file, and shouldn't be messed with manually---unless you really want
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2708 to. Since this variable is read from the @file{.newsrc.eld} file,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2709 setting it in any other startup files will have no effect.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2710
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2711 This topology shows what topics are sub-topics of what topics (right),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2712 and which topics are visible. Two settings are currently
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2713 allowed---@code{visible} and @code{invisible}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2714
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2715
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2716 @node Topic Parameters
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2717 @subsection Topic Parameters
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2718 @cindex topic parameters
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2719
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2720 All groups in a topic will inherit group parameters from the parent (and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2721 ancestor) topic parameters. All legal group parameters are legal topic
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2722 parameters (@pxref{Group Parameters}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2723
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2724 Group parameters (of course) override topic parameters, and topic
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2725 parameters in sub-topics override topic parameters in super-topics. You
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2726 know. Normal inheritance rules. (@dfn{Rules} is here a noun, not a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2727 verb, although you may feel free to disagree with me here.)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2728
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2729 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2730 Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2731 Emacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2732 3: comp.emacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2733 2: alt.religion.emacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2734 452: alt.sex.emacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2735 Relief
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2736 452: alt.sex.emacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2737 0: comp.talk.emacs.recovery
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2738 Misc
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2739 8: comp.binaries.fractals
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2740 13: comp.sources.unix
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2741 452: alt.sex.emacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2742 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2743
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2744 The @samp{Emacs} topic has the topic parameter @code{(score-file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2745 . "emacs.SCORE")}; the @samp{Relief} topic has the topic parameter
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2746 @code{(score-file . "relief.SCORE")}; and the @samp{Misc} topic has the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2747 topic parameter @code{(score-file . "emacs.SCORE")}. In addition,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2748 @samp{alt.religion.emacs} has the group parameter @code{(score-file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2749 . "religion.SCORE")}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2750
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2751 Now, when you enter @samp{alt.sex.emacs} in the @samp{Relief} topic, you
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2752 will get the @file{relief.SCORE} home score file. If you enter the same
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2753 group in the @samp{Emacs} topic, you'll get the @file{emacs.SCORE} home
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2754 score file. If you enter the group @samp{alt.religion.emacs}, you'll
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2755 get the @file{religion.SCORE} home score file.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2756
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2757 This seems rather simple and self-evident, doesn't it? Well, yes. But
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2758 there are some problems, especially with the @code{total-expiry}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2759 parameter. Say you have a mail group in two topics; one with
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2760 @code{total-expiry} and one without. What happens when you do @kbd{M-x
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2761 gnus-expire-all-expirable-groups}? Gnus has no way of telling which one
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2762 of these topics you mean to expire articles from, so anything may
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2763 happen. In fact, I hereby declare that it is @dfn{undefined} what
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2764 happens. You just have to be careful if you do stuff like that.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2765
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2766
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2767 @node Misc Group Stuff
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2768 @section Misc Group Stuff
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2769
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2770 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2771 * Scanning New Messages:: Asking Gnus to see whether new messages have arrived.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2772 * Group Information:: Information and help on groups and Gnus.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2773 * Group Timestamp:: Making Gnus keep track of when you last read a group.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2774 * File Commands:: Reading and writing the Gnus files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2775 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2776
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2777 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2778
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2779 @item ^
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2780 @kindex ^ (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2781 @findex gnus-group-enter-server-mode
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2782 Enter the server buffer (@code{gnus-group-enter-server-mode}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2783 @xref{The Server Buffer}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2784
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2785 @item a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2786 @kindex a (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2787 @findex gnus-group-post-news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2788 Post an article to a group (@code{gnus-group-post-news}). The current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2789 group name will be used as the default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2790
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2791 @item m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2792 @kindex m (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2793 @findex gnus-group-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2794 Mail a message somewhere (@code{gnus-group-mail}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2795
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2796 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2797
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2798 Variables for the group buffer:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2799
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2800 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2801
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2802 @item gnus-group-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2803 @vindex gnus-group-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2804 @code{gnus-group-mode-hook} is called after the group buffer has been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2805 created.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2806
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2807 @item gnus-group-prepare-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2808 @vindex gnus-group-prepare-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2809 @code{gnus-group-prepare-hook} is called after the group buffer is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2810 generated. It may be used to modify the buffer in some strange,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2811 unnatural way.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2812
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2813 @item gnus-permanently-visible-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2814 @vindex gnus-permanently-visible-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2815 Groups matching this regexp will always be listed in the group buffer,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2816 whether they are empty or not.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2817
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2818 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2819
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2820
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2821 @node Scanning New Messages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2822 @subsection Scanning New Messages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2823 @cindex new messages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2824 @cindex scanning new news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2825
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2826 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2827
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2828 @item g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2829 @kindex g (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2830 @findex gnus-group-get-new-news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2831 Check the server(s) for new articles. If the numerical prefix is used,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2832 this command will check only groups of level @var{arg} and lower
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2833 (@code{gnus-group-get-new-news}). If given a non-numerical prefix, this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2834 command will force a total rereading of the active file(s) from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2835 backend(s).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2836
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2837 @item M-g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2838 @kindex M-g (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2839 @findex gnus-group-get-new-news-this-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2840 @vindex gnus-goto-next-group-when-activating
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2841 Check whether new articles have arrived in the current group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2842 (@code{gnus-group-get-new-news-this-group}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2843 @code{gnus-goto-next-group-when-activating} says whether this command is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2844 to move point to the next group or not. It is @code{t} by default.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2845
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2846 @findex gnus-activate-all-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2847 @cindex activating groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2848 @item C-c M-g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2849 @kindex C-c M-g (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2850 Activate absolutely all groups (@code{gnus-activate-all-groups}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2851
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2852 @item R
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2853 @kindex R (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2854 @cindex restarting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2855 @findex gnus-group-restart
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2856 Restart Gnus (@code{gnus-group-restart}). This saves the @file{.newsrc}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2857 file(s), closes the connection to all servers, clears up all run-time
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2858 Gnus variables, and then starts Gnus all over again.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2859
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2860 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2861
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2862 @vindex gnus-get-new-news-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2863 @code{gnus-get-new-news-hook} is run just before checking for new news.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2864
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2865 @vindex gnus-after-getting-new-news-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2866 @code{gnus-after-getting-new-news-hook} is run after checking for new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2867 news.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2868
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2869
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2870 @node Group Information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2871 @subsection Group Information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2872 @cindex group information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2873 @cindex information on groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2874
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2875 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2876
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2877
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2878 @item H f
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2879 @kindex H f (Group)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2880 @findex gnus-group-fetch-faq
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2881 @vindex gnus-group-faq-directory
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2882 @cindex FAQ
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2883 @cindex ange-ftp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2884 Try to fetch the FAQ for the current group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2885 (@code{gnus-group-fetch-faq}). Gnus will try to get the FAQ from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2886 @code{gnus-group-faq-directory}, which is usually a directory on a
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2887 remote machine. This variable can also be a list of directories. In
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2888 that case, giving a prefix to this command will allow you to choose
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2889 between the various sites. @code{ange-ftp} (or @code{efs}) will be used
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2890 for fetching the file.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2891
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2892 If fetching from the first site is unsuccessful, Gnus will attempt to go
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2893 through @code{gnus-group-faq-directory} and try to open them one by one.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2894
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2895 @item H d
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2896 @itemx C-c C-d
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2897 @kindex H d (Group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2898 @kindex C-c C-d (Group)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2899 @cindex describing groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2900 @cindex group description
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2901 @findex gnus-group-describe-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2902 Describe the current group (@code{gnus-group-describe-group}). If given
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2903 a prefix, force Gnus to re-read the description from the server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2904
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2905 @item M-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2906 @kindex M-d (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2907 @findex gnus-group-describe-all-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2908 Describe all groups (@code{gnus-group-describe-all-groups}). If given a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2909 prefix, force Gnus to re-read the description file from the server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2910
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2911 @item V
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2912 @kindex V (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2913 @cindex version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2914 @findex gnus-version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2915 Display current Gnus version numbers (@code{gnus-version}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2916
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2917 @item ?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2918 @kindex ? (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2919 @findex gnus-group-describe-briefly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2920 Give a very short help message (@code{gnus-group-describe-briefly}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2921
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2922 @item C-c C-i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2923 @kindex C-c C-i (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2924 @cindex info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2925 @cindex manual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2926 @findex gnus-info-find-node
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2927 Go to the Gnus info node (@code{gnus-info-find-node}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2928 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2929
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2930
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2931 @node Group Timestamp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2932 @subsection Group Timestamp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2933 @cindex timestamps
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2934 @cindex group timestamps
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2935
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2936 It can be convenient to let Gnus keep track of when you last read a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2937 group. To set the ball rolling, you should add
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2938 @code{gnus-group-set-timestamp} to @code{gnus-select-group-hook}:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2939
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2940 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2941 (add-hook 'gnus-select-group-hook 'gnus-group-set-timestamp)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2942 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2943
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2944 After doing this, each time you enter a group, it'll be recorded.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2945
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2946 This information can be displayed in various ways---the easiest is to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2947 use the @samp{%d} spec in the group line format:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2948
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2949 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2950 (setq gnus-group-line-format
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2951 "%M\%S\%p\%P\%5y: %(%-40,40g%) %d\n")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2952 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2953
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2954 This will result in lines looking like:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2955
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2956 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2957 * 0: mail.ding 19961002T012943
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2958 0: custom 19961002T012713
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2959 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2960
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2961 As you can see, the date is displayed in compact ISO 8601 format. This
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2962 may be a bit too much, so to just display the date, you could say
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2963 something like:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2964
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2965 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2966 (setq gnus-group-line-format
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2967 "%M\%S\%p\%P\%5y: %(%-40,40g%) %6,6~(cut 2)d\n")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2968 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2969
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2970
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2971 @node File Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2972 @subsection File Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2973 @cindex file commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2974
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2975 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2976
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2977 @item r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2978 @kindex r (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2979 @findex gnus-group-read-init-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2980 @vindex gnus-init-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2981 @cindex reading init file
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
2982 Re-read the init file (@code{gnus-init-file}, which defaults to
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2983 @file{~/.gnus}) (@code{gnus-group-read-init-file}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2984
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2985 @item s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2986 @kindex s (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2987 @findex gnus-group-save-newsrc
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2988 @cindex saving .newsrc
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2989 Save the @file{.newsrc.eld} file (and @file{.newsrc} if wanted)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2990 (@code{gnus-group-save-newsrc}). If given a prefix, force saving the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2991 file(s) whether Gnus thinks it is necessary or not.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2992
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
2993 @c @item Z
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
2994 @c @kindex Z (Group)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
2995 @c @findex gnus-group-clear-dribble
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
2996 @c Clear the dribble buffer (@code{gnus-group-clear-dribble}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2997
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2998 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2999
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3000
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3001 @node The Summary Buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3002 @chapter The Summary Buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3003 @cindex summary buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3004
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3005 A line for each article is displayed in the summary buffer. You can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3006 move around, read articles, post articles and reply to articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3007
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3008 The most common way to a summary buffer is to select a group from the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3009 group buffer (@pxref{Selecting a Group}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3010
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3011 You can have as many summary buffers open as you wish.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3012
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3013 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3014 * Summary Buffer Format:: Deciding how the summary buffer is to look.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3015 * Summary Maneuvering:: Moving around the summary buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3016 * Choosing Articles:: Reading articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3017 * Paging the Article:: Scrolling the current article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3018 * Reply Followup and Post:: Posting articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3019 * Canceling and Superseding:: ``Whoops, I shouldn't have called him that.''
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3020 * Marking Articles:: Marking articles as read, expirable, etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3021 * Limiting:: You can limit the summary buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3022 * Threading:: How threads are made.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3023 * Sorting:: How articles and threads are sorted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3024 * Asynchronous Fetching:: Gnus might be able to pre-fetch articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3025 * Article Caching:: You may store articles in a cache.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3026 * Persistent Articles:: Making articles expiry-resistant.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3027 * Article Backlog:: Having already read articles hang around.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3028 * Saving Articles:: Ways of customizing article saving.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3029 * Decoding Articles:: Gnus can treat series of (uu)encoded articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3030 * Article Treatment:: The article buffer can be mangled at will.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3031 * Article Commands:: Doing various things with the article buffer.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3032 * Summary Sorting:: Sorting the summary buffer in various ways.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3033 * Finding the Parent:: No child support? Get the parent.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3034 * Alternative Approaches:: Reading using non-default summaries.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3035 * Tree Display:: A more visual display of threads.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3036 * Mail Group Commands:: Some commands can only be used in mail groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3037 * Various Summary Stuff:: What didn't fit anywhere else.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3038 * Exiting the Summary Buffer:: Returning to the Group buffer.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3039 * Crosspost Handling:: How crossposted articles are dealt with.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3040 * Duplicate Suppression:: An alternative when crosspost handling fails.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3041 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3042
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3043
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3044 @node Summary Buffer Format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3045 @section Summary Buffer Format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3046 @cindex summary buffer format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3047
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3048 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3049 * Summary Buffer Lines:: You can specify how summary lines should look.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3050 * Summary Buffer Mode Line:: You can say how the mode line should look.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3051 * Summary Highlighting:: Making the summary buffer all pretty and nice.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3052 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3053
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3054 @findex mail-extract-address-components
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3055 @findex gnus-extract-address-components
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3056 @vindex gnus-extract-address-components
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3057 Gnus will use the value of the @code{gnus-extract-address-components}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3058 variable as a function for getting the name and address parts of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3059 @code{From} header. Two pre-defined function exist:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3060 @code{gnus-extract-address-components}, which is the default, quite
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3061 fast, and too simplistic solution; and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3062 @code{mail-extract-address-components}, which works very nicely, but is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3063 slower. The default function will return the wrong answer in 5% of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3064 cases. If this is unacceptable to you, use the other function instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3065
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3066 @vindex gnus-summary-same-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3067 @code{gnus-summary-same-subject} is a string indicating that the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3068 article has the same subject as the previous. This string will be used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3069 with those specs that require it. The default is @samp{}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3070
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3071
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3072 @node Summary Buffer Lines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3073 @subsection Summary Buffer Lines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3074
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3075 @vindex gnus-summary-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3076 You can change the format of the lines in the summary buffer by changing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3077 the @code{gnus-summary-line-format} variable. It works along the same
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3078 lines a a normal @code{format} string, with some extensions
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3079 (@pxref{Formatting Variables}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3080
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3081 The default string is @samp{%U%R%z%I%(%[%4L: %-20,20n%]%) %s\n}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3082
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3083 The following format specification characters are understood:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3084
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3085 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3086 @item N
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3087 Article number.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3088 @item S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3089 Subject string.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3090 @item s
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3091 Subject if the article is the root or the previous article had a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3092 different subject, @code{gnus-summary-same-subject} otherwise.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3093 (@code{gnus-summary-same-subject} defaults to @samp{}.)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3094 @item F
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3095 Full @code{From} header.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3096 @item n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3097 The name (from the @code{From} header).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3098 @item a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3099 The name (from the @code{From} header). This differs from the @code{n}
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3100 spec in that it uses the function designated by the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3101 @code{gnus-extract-address-components} variable, which is slower, but
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3102 may be more thorough.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3103 @item A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3104 The address (from the @code{From} header). This works the same way as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3105 the @code{a} spec.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3106 @item L
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3107 Number of lines in the article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3108 @item c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3109 Number of characters in the article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3110 @item I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3111 Indentation based on thread level (@pxref{Customizing Threading}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3112 @item T
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3113 Nothing if the article is a root and lots of spaces if it isn't (it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3114 pushes everything after it off the screen).
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3115 @item [
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3116 Opening bracket, which is normally @samp{[}, but can also be @samp{<}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3117 for adopted articles (@pxref{Customizing Threading}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3118 @item ]
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3119 Closing bracket, which is normally @samp{]}, but can also be @samp{>}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3120 for adopted articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3121 @item >
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3122 One space for each thread level.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3123 @item <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3124 Twenty minus thread level spaces.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3125 @item U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3126 Unread.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3127 @item R
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3128 Replied.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3129 @item i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3130 Score as a number.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3131 @item z
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3132 @vindex gnus-summary-zcore-fuzz
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3133 Zcore, @samp{+} if above the default level and @samp{-} if below the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3134 default level. If the difference between
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3135 @code{gnus-summary-default-level} and the score is less than
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3136 @code{gnus-summary-zcore-fuzz}, this spec will not be used.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3137 @item V
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3138 Total thread score.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3139 @item x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3140 @code{Xref}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3141 @item D
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3142 @code{Date}.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3143 @item d
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3144 The @code{Date} in @code{DD-MMM} format.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3145 @item o
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3146 The @code{Date} in @code{YYYYMMDDTHHMMSS} format.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3147 @item M
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3148 @code{Message-ID}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3149 @item r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3150 @code{References}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3151 @item t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3152 Number of articles in the current sub-thread. Using this spec will slow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3153 down summary buffer generation somewhat.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3154 @item e
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3155 An @samp{=} (@code{gnus-not-empty-thread-mark}) will be displayed if the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3156 article has any children.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3157 @item P
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3158 The line number.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3159 @item u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3160 User defined specifier. The next character in the format string should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3161 be a letter. @sc{gnus} will call the function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3162 @code{gnus-user-format-function-}@samp{X}, where @samp{X} is the letter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3163 following @samp{%u}. The function will be passed the current header as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3164 argument. The function should return a string, which will be inserted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3165 into the summary just like information from any other summary specifier.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3166 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3167
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3168 The @samp{%U} (status), @samp{%R} (replied) and @samp{%z} (zcore) specs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3169 have to be handled with care. For reasons of efficiency, Gnus will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3170 compute what column these characters will end up in, and ``hard-code''
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3171 that. This means that it is illegal to have these specs after a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3172 variable-length spec. Well, you might not be arrested, but your summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3173 buffer will look strange, which is bad enough.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3174
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3175 The smart choice is to have these specs as far to the left as possible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3176 (Isn't that the case with everything, though? But I digress.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3177
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3178 This restriction may disappear in later versions of Gnus.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3179
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3180
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3181 @node Summary Buffer Mode Line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3182 @subsection Summary Buffer Mode Line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3183
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3184 @vindex gnus-summary-mode-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3185 You can also change the format of the summary mode bar. Set
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3186 @code{gnus-summary-mode-line-format} to whatever you like. The default
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3187 is @samp{Gnus: %%b [%A] %Z}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3188
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3189 Here are the elements you can play with:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3190
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3191 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3192 @item G
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3193 Group name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3194 @item p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3195 Unprefixed group name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3196 @item A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3197 Current article number.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3198 @item V
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3199 Gnus version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3200 @item U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3201 Number of unread articles in this group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3202 @item e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3203 Number of unselected articles in this group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3204 @item Z
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3205 A string with the number of unread and unselected articles represented
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3206 either as @samp{<%U(+%e) more>} if there are both unread and unselected
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3207 articles, and just as @samp{<%U more>} if there are just unread articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3208 and no unselected ones.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3209 @item g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3210 Shortish group name. For instance, @samp{rec.arts.anime} will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3211 shortened to @samp{r.a.anime}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3212 @item S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3213 Subject of the current article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3214 @item u
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3215 User-defined spec.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3216 @item s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3217 Name of the current score file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3218 @item d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3219 Number of dormant articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3220 @item t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3221 Number of ticked articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3222 @item r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3223 Number of articles that have been marked as read in this session.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3224 @item E
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3225 Number of articles expunged by the score files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3226 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3227
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3228
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3229 @node Summary Highlighting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3230 @subsection Summary Highlighting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3231
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3232 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3233
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3234 @item gnus-visual-mark-article-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3235 @vindex gnus-visual-mark-article-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3236 This hook is run after selecting an article. It is meant to be used for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3237 highlighting the article in some way. It is not run if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3238 @code{gnus-visual} is @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3239
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3240 @item gnus-summary-update-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3241 @vindex gnus-summary-update-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3242 This hook is called when a summary line is changed. It is not run if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3243 @code{gnus-visual} is @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3244
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3245 @item gnus-summary-selected-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3246 @vindex gnus-summary-selected-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3247 This is the face (or @dfn{font} as some people call it) that is used to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3248 highlight the current article in the summary buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3250 @item gnus-summary-highlight
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3251 @vindex gnus-summary-highlight
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3252 Summary lines are highlighted according to this variable, which is a
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3253 list where the elements are on the format @var{(FORM . FACE)}. If you
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3254 would, for instance, like ticked articles to be italic and high-scored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3255 articles to be bold, you could set this variable to something like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3256 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3257 (((eq mark gnus-ticked-mark) . italic)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3258 ((> score default) . bold))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3259 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3260 As you may have guessed, if @var{FORM} returns a non-@code{nil} value,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3261 @var{FACE} will be applied to the line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3262 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3263
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3264
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3265 @node Summary Maneuvering
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3266 @section Summary Maneuvering
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3267 @cindex summary movement
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3268
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3269 All the straight movement commands understand the numeric prefix and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3270 behave pretty much as you'd expect.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3271
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3272 None of these commands select articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3273
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3274 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3275 @item G M-n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3276 @itemx M-n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3277 @kindex M-n (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3278 @kindex G M-n (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3279 @findex gnus-summary-next-unread-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3280 Go to the next summary line of an unread article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3281 (@code{gnus-summary-next-unread-subject}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3282
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3283 @item G M-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3284 @itemx M-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3285 @kindex M-p (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3286 @kindex G M-p (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3287 @findex gnus-summary-prev-unread-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3288 Go to the previous summary line of an unread article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3289 (@code{gnus-summary-prev-unread-subject}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3290
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3291 @item G j
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3292 @itemx j
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3293 @kindex j (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3294 @kindex G j (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3295 @findex gnus-summary-goto-article
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3296 Ask for an article number and then go to that article
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3297 (@code{gnus-summary-goto-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3298
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3299 @item G g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3300 @kindex G g (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3301 @findex gnus-summary-goto-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3302 Ask for an article number and then go the summary line of that article
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3303 without displaying the article (@code{gnus-summary-goto-subject}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3304 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3305
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3306 If Gnus asks you to press a key to confirm going to the next group, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3307 can use the @kbd{C-n} and @kbd{C-p} keys to move around the group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3308 buffer, searching for the next group to read without actually returning
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3309 to the group buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3310
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3311 Variables related to summary movement:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3312
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3313 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3314
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3315 @vindex gnus-auto-select-next
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3316 @item gnus-auto-select-next
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3317 If you issue one of the movement commands (like @kbd{n}) and there are
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3318 no more unread articles after the current one, Gnus will offer to go to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3319 the next group. If this variable is @code{t} and the next group is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3320 empty, Gnus will exit summary mode and return to the group buffer. If
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3321 this variable is neither @code{t} nor @code{nil}, Gnus will select the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3322 next group, no matter whether it has any unread articles or not. As a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3323 special case, if this variable is @code{quietly}, Gnus will select the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3324 next group without asking for confirmation. If this variable is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3325 @code{almost-quietly}, the same will happen only if you are located on
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3326 the last article in the group. Finally, if this variable is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3327 @code{slightly-quietly}, the @kbd{Z n} command will go to the next group
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3328 without confirmation. Also @pxref{Group Levels}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3329
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3330 @item gnus-auto-select-same
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3331 @vindex gnus-auto-select-same
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3332 If non-@code{nil}, all the movement commands will try to go to the next
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
3333 article with the same subject as the current. (@dfn{Same} here might
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
3334 mean @dfn{roughly equal}. See @code{gnus-summary-gather-subject-limit}
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
3335 for details (@pxref{Customizing Threading}).) This variable is not
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3336 particularly useful if you use a threaded display.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3337
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3338 @item gnus-summary-check-current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3339 @vindex gnus-summary-check-current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3340 If non-@code{nil}, all the ``unread'' movement commands will not proceed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3341 to the next (or previous) article if the current article is unread.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3342 Instead, they will choose the current article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3343
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3344 @item gnus-auto-center-summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3345 @vindex gnus-auto-center-summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3346 If non-@code{nil}, Gnus will keep the point in the summary buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3347 centered at all times. This makes things quite tidy, but if you have a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3348 slow network connection, or simply do not like this un-Emacsism, you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3349 set this variable to @code{nil} to get the normal Emacs scrolling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3350 action. This will also inhibit horizontal re-centering of the summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3351 buffer, which might make it more inconvenient to read extremely long
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3352 threads.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3353
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3354 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3355
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3356
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3357 @node Choosing Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3358 @section Choosing Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3359 @cindex selecting articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3360
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3361 @menu
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3362 * Choosing Commands:: Commands for choosing articles.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3363 * Choosing Variables:: Variables that influence these commands.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3364 @end menu
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3365
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3366
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3367 @node Choosing Commands
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3368 @subsection Choosing Commands
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3369
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3370 None of the following movement commands understand the numeric prefix,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3371 and they all select and display an article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3372
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3373 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3374 @item SPACE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3375 @kindex SPACE (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3376 @findex gnus-summary-next-page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3377 Select the current article, or, if that one's read already, the next
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3378 unread article (@code{gnus-summary-next-page}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3379
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3380 @item G n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3381 @itemx n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3382 @kindex n (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3383 @kindex G n (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3384 @findex gnus-summary-next-unread-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3385 Go to next unread article (@code{gnus-summary-next-unread-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3386
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3387 @item G p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3388 @itemx p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3389 @kindex p (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3390 @findex gnus-summary-prev-unread-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3391 Go to previous unread article (@code{gnus-summary-prev-unread-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3392
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3393 @item G N
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3394 @itemx N
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3395 @kindex N (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3396 @kindex G N (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3397 @findex gnus-summary-next-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3398 Go to the next article (@code{gnus-summary-next-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3399
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3400 @item G P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3401 @itemx P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3402 @kindex P (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3403 @kindex G P (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3404 @findex gnus-summary-prev-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3405 Go to the previous article (@code{gnus-summary-prev-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3406
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3407 @item G C-n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3408 @kindex G C-n (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3409 @findex gnus-summary-next-same-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3410 Go to the next article with the same subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3411 (@code{gnus-summary-next-same-subject}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3412
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3413 @item G C-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3414 @kindex G C-p (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3415 @findex gnus-summary-prev-same-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3416 Go to the previous article with the same subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3417 (@code{gnus-summary-prev-same-subject}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3418
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3419 @item G f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3420 @itemx .
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3421 @kindex G f (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3422 @kindex . (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3423 @findex gnus-summary-first-unread-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3424 Go to the first unread article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3425 (@code{gnus-summary-first-unread-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3426
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3427 @item G b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3428 @itemx ,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3429 @kindex G b (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3430 @kindex , (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3431 @findex gnus-summary-best-unread-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3432 Go to the article with the highest score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3433 (@code{gnus-summary-best-unread-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3434
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3435 @item G l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3436 @itemx l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3437 @kindex l (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3438 @kindex G l (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3439 @findex gnus-summary-goto-last-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3440 Go to the previous article read (@code{gnus-summary-goto-last-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3441
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3442 @item G p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3443 @kindex G p (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3444 @findex gnus-summary-pop-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3445 Pop an article off the summary history and go to this article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3446 (@code{gnus-summary-pop-article}). This command differs from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3447 command above in that you can pop as many previous articles off the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3448 history as you like.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3449 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3450
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3451
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3452 @node Choosing Variables
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3453 @subsection Choosing Variables
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3454
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3455 Some variables that are relevant for moving and selecting articles:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3456
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3457 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3458 @item gnus-auto-extend-newsgroup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3459 @vindex gnus-auto-extend-newsgroup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3460 All the movement commands will try to go to the previous (or next)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3461 article, even if that article isn't displayed in the Summary buffer if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3462 this variable is non-@code{nil}. Gnus will then fetch the article from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3463 the server and display it in the article buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3464
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3465 @item gnus-select-article-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3466 @vindex gnus-select-article-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3467 This hook is called whenever an article is selected. By default it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3468 exposes any threads hidden under the selected article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3469
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3470 @item gnus-mark-article-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3471 @vindex gnus-mark-article-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3472 @findex gnus-summary-mark-unread-as-read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3473 @findex gnus-summary-mark-read-and-unread-as-read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3474 @findex gnus-unread-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3475 This hook is called whenever an article is selected. It is intended to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3476 be used for marking articles as read. The default value is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3477 @code{gnus-summary-mark-read-and-unread-as-read}, and will change the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3478 mark of almost any article you read to @code{gnus-unread-mark}. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3479 only articles not affected by this function are ticked, dormant, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3480 expirable articles. If you'd instead like to just have unread articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3481 marked as read, you can use @code{gnus-summary-mark-unread-as-read}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3482 instead. It will leave marks like @code{gnus-low-score-mark},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3483 @code{gnus-del-mark} (and so on) alone.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3484
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3485 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3486
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3487
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3488 @node Paging the Article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3489 @section Scrolling the Article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3490 @cindex article scrolling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3491
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3492 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3493
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3494 @item SPACE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3495 @kindex SPACE (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3496 @findex gnus-summary-next-page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3497 Pressing @kbd{SPACE} will scroll the current article forward one page,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3498 or, if you have come to the end of the current article, will choose the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3499 next article (@code{gnus-summary-next-page}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3500
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3501 @item DEL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3502 @kindex DEL (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3503 @findex gnus-summary-prev-page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3504 Scroll the current article back one page (@code{gnus-summary-prev-page}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3505
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3506 @item RET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3507 @kindex RET (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3508 @findex gnus-summary-scroll-up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3509 Scroll the current article one line forward
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3510 (@code{gnus-summary-scroll-up}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3511
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3512 @item A g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3513 @itemx g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3514 @kindex A g (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3515 @kindex g (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3516 @findex gnus-summary-show-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3517 (Re)fetch the current article (@code{gnus-summary-show-article}). If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3518 given a prefix, fetch the current article, but don't run any of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3519 article treatment functions. This will give you a ``raw'' article, just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3520 the way it came from the server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3521
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3522 @item A <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3523 @itemx <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3524 @kindex < (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3525 @kindex A < (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3526 @findex gnus-summary-beginning-of-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3527 Scroll to the beginning of the article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3528 (@code{gnus-summary-beginning-of-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3529
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3530 @item A >
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3531 @itemx >
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3532 @kindex > (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3533 @kindex A > (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3534 @findex gnus-summary-end-of-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3535 Scroll to the end of the article (@code{gnus-summary-end-of-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3536
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3537 @item A s
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3538 @itemx s
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3539 @kindex A s (Summary)
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3540 @kindex s (Summary)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3541 @findex gnus-summary-isearch-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3542 Perform an isearch in the article buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3543 (@code{gnus-summary-isearch-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3544
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3545 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3546
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3547
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3548 @node Reply Followup and Post
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3549 @section Reply, Followup and Post
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3550
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3551 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3552 * Summary Mail Commands:: Sending mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3553 * Summary Post Commands:: Sending news.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3554 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3555
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3556
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3557 @node Summary Mail Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3558 @subsection Summary Mail Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3559 @cindex mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3560 @cindex composing mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3561
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3562 Commands for composing a mail message:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3563
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3564 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3565
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3566 @item S r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3567 @itemx r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3568 @kindex S r (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3569 @kindex r (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3570 @findex gnus-summary-reply
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3571 Mail a reply to the author of the current article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3572 (@code{gnus-summary-reply}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3573
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3574 @item S R
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3575 @itemx R
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3576 @kindex R (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3577 @kindex S R (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3578 @findex gnus-summary-reply-with-original
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3579 Mail a reply to the author of the current article and include the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3580 original message (@code{gnus-summary-reply-with-original}). This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3581 command uses the process/prefix convention.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3582
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3583 @item S w
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3584 @kindex S w (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3585 @findex gnus-summary-wide-reply
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3586 Mail a wide reply to the author of the current article
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3587 (@code{gnus-summary-wide-reply}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3588
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3589 @item S W
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3590 @kindex S W (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3591 @findex gnus-summary-wide-reply-with-original
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3592 Mail a wide reply to the current article and include the original
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3593 message (@code{gnus-summary-reply-with-original}). This command uses
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3594 the process/prefix convention.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3595
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3596 @item S o m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3597 @kindex S o m (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3598 @findex gnus-summary-mail-forward
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3599 Forward the current article to some other person
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3600 (@code{gnus-summary-mail-forward}). If given a prefix, include the full
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3601 headers of the forwarded article.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3602
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3603 @item S m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3604 @itemx m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3605 @kindex m (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3606 @kindex S m (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3607 @findex gnus-summary-mail-other-window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3608 Send a mail to some other person
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3609 (@code{gnus-summary-mail-other-window}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3610
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3611 @item S D b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3612 @kindex S D b (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3613 @findex gnus-summary-resend-bounced-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3614 @cindex bouncing mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3615 If you have sent a mail, but the mail was bounced back to you for some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3616 reason (wrong address, transient failure), you can use this command to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3617 resend that bounced mail (@code{gnus-summary-resend-bounced-mail}). You
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3618 will be popped into a mail buffer where you can edit the headers before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3619 sending the mail off again. If you give a prefix to this command, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3620 the bounced mail is a reply to some other mail, Gnus will try to fetch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3621 that mail and display it for easy perusal of its headers. This might
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3622 very well fail, though.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3623
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3624 @item S D r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3625 @kindex S D r (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3626 @findex gnus-summary-resend-message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3627 Not to be confused with the previous command,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3628 @code{gnus-summary-resend-message} will prompt you for an address to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3629 send the current message off to, and then send it to that place. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3630 headers of the message won't be altered---but lots of headers that say
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3631 @code{Resent-To}, @code{Resent-From} and so on will be added. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3632 means that you actually send a mail to someone that has a @code{To}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3633 header that (probably) points to yourself. This will confuse people.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3634 So, natcherly you'll only do that if you're really eVIl.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3635
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3636 This command is mainly used if you have several accounts and want to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3637 ship a mail to a different account of yours. (If you're both
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3638 @code{root} and @code{postmaster} and get a mail for @code{postmaster}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3639 to the @code{root} account, you may want to resend it to
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3640 @code{postmaster}. Ordnung muß sein!
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3641
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3642 This command understands the process/prefix convention
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3643 (@pxref{Process/Prefix}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3644
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3645 @item S O m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3646 @kindex S O m (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3647 @findex gnus-uu-digest-mail-forward
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3648 Digest the current series and forward the result using mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3649 (@code{gnus-uu-digest-mail-forward}). This command uses the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3650 process/prefix convention (@pxref{Process/Prefix}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3651
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3652 @item S M-c
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3653 @kindex S M-c (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3654 @findex gnus-summary-mail-crosspost-complaint
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3655 @cindex crossposting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3656 @cindex excessive crossposting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3657 Send a complaint about excessive crossposting to the author of the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3658 current article (@code{gnus-summary-mail-crosspost-complaint}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3659
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3660 @findex gnus-crosspost-complaint
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3661 This command is provided as a way to fight back agains the current
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3662 crossposting pandemic that's sweeping Usenet. It will compose a reply
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3663 using the @code{gnus-crosspost-complaint} variable as a preamble. This
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3664 command understands the process/prefix convention
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3665 (@pxref{Process/Prefix}) and will prompt you before sending each mail.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3666
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3667 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3668
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3669
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3670 @node Summary Post Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3671 @subsection Summary Post Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3672 @cindex post
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3673 @cindex composing news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3674
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3675 Commands for posting a news article:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3676
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3677 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3678 @item S p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3679 @itemx a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3680 @kindex a (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3681 @kindex S p (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3682 @findex gnus-summary-post-news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3683 Post an article to the current group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3684 (@code{gnus-summary-post-news}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3685
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3686 @item S f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3687 @itemx f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3688 @kindex f (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3689 @kindex S f (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3690 @findex gnus-summary-followup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3691 Post a followup to the current article (@code{gnus-summary-followup}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3692
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3693 @item S F
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3694 @itemx F
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3695 @kindex S F (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3696 @kindex F (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3697 @findex gnus-summary-followup-with-original
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3698 Post a followup to the current article and include the original message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3699 (@code{gnus-summary-followup-with-original}). This command uses the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3700 process/prefix convention.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3701
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3702 @item S n
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3703 @kindex S n (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3704 @findex gnus-summary-followup-to-mail
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3705 Post a followup to the current article via news, even if you got the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3706 message through mail (@code{gnus-summary-followup-to-mail}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3707
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3708 @item S n
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3709 @kindex S n (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3710 @findex gnus-summary-followup-to-mail
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3711 Post a followup to the current article via news, even if you got the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3712 message through mail and include the original message
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3713 (@code{gnus-summary-followup-to-mail-with-original}). This command uses
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3714 the process/prefix convention.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3715
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3716 @item S o p
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3717 @kindex S o p (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3718 @findex gnus-summary-post-forward
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3719 Forward the current article to a newsgroup
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3720 (@code{gnus-summary-post-forward}). If given a prefix, include the full
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3721 headers of the forwarded article.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3722
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3723 @item S O p
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3724 @kindex S O p (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3725 @findex gnus-uu-digest-post-forward
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3726 Digest the current series and forward the result to a newsgroup
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3727 (@code{gnus-uu-digest-mail-forward}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3728
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3729 @item S u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3730 @kindex S u (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3731 @findex gnus-uu-post-news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3732 Uuencode a file, split it into parts, and post it as a series
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3733 (@code{gnus-uu-post-news}). (@pxref{Uuencoding and Posting}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3734 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3735
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3736
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3737 @node Canceling and Superseding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3738 @section Canceling Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3739 @cindex canceling articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3740 @cindex superseding articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3741
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3742 Have you ever written something, and then decided that you really,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3743 really, really wish you hadn't posted that?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3744
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3745 Well, you can't cancel mail, but you can cancel posts.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3746
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3747 @findex gnus-summary-cancel-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3748 @kindex C (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3749 Find the article you wish to cancel (you can only cancel your own
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3750 articles, so don't try any funny stuff). Then press @kbd{C} or @kbd{S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3751 c} (@code{gnus-summary-cancel-article}). Your article will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3752 canceled---machines all over the world will be deleting your article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3753
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3754 Be aware, however, that not all sites honor cancels, so your article may
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3755 live on here and there, while most sites will delete the article in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3756 question.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3757
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3758 If you discover that you have made some mistakes and want to do some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3759 corrections, you can post a @dfn{superseding} article that will replace
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3760 your original article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3761
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3762 @findex gnus-summary-supersede-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3763 @kindex S (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3764 Go to the original article and press @kbd{S s}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3765 (@code{gnus-summary-supersede-article}). You will be put in a buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3766 where you can edit the article all you want before sending it off the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3767 usual way.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3768
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3769 The same goes for superseding as for canceling, only more so: Some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3770 sites do not honor superseding. On those sites, it will appear that you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3771 have posted almost the same article twice.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3772
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3773 If you have just posted the article, and change your mind right away,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3774 there is a trick you can use to cancel/supersede the article without
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3775 waiting for the article to appear on your site first. You simply return
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3776 to the post buffer (which is called @code{*sent ...*}). There you will
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3777 find the article you just posted, with all the headers intact. Change
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3778 the @code{Message-ID} header to a @code{Cancel} or @code{Supersedes}
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3779 header by substituting one of those words for the word
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3780 @code{Message-ID}. Then just press @kbd{C-c C-c} to send the article as
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3781 you would do normally. The previous article will be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3782 canceled/superseded.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3783
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3784 Just remember, kids: There is no 'c' in 'supersede'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3785
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3786
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3787 @node Marking Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3788 @section Marking Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3789 @cindex article marking
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3790 @cindex article ticking
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3791 @cindex marks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3792
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3793 There are several marks you can set on an article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3794
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3795 You have marks that decide the @dfn{readedness} (whoo, neato-keano
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3796 neologism ohoy!) of the article. Alphabetic marks generally mean
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3797 @dfn{read}, while non-alphabetic characters generally mean @dfn{unread}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3798
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3799 In addition, you also have marks that do not affect readedness.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3800
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3801 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3802 * Unread Articles:: Marks for unread articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3803 * Read Articles:: Marks for read articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3804 * Other Marks:: Marks that do not affect readedness.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3805 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3806
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3807 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3808 There's a plethora of commands for manipulating these marks:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3809 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3810
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3811 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3812 * Setting Marks:: How to set and remove marks.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3813 * Setting Process Marks:: How to mark articles for later processing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3814 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3815
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3816
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3817 @node Unread Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3818 @subsection Unread Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3819
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3820 The following marks mark articles as (kinda) unread, in one form or
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3821 other.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3822
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3823 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3824 @item !
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3825 @vindex gnus-ticked-mark
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3826 Marked as ticked (@code{gnus-ticked-mark}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3827
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3828 @dfn{Ticked articles} are articles that will remain visible always. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3829 you see an article that you find interesting, or you want to put off
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3830 reading it, or replying to it, until sometime later, you'd typically
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3831 tick it. However, articles can be expired, so if you want to keep an
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3832 article forever, you'll have to make it persistent (@pxref{Persistent
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3833 Articles}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3834
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3835 @item ?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3836 @vindex gnus-dormant-mark
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3837 Marked as dormant (@code{gnus-dormant-mark}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3838
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3839 @dfn{Dormant articles} will only appear in the summary buffer if there
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3840 are followups to it.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3841
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3842 @item SPACE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3843 @vindex gnus-unread-mark
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3844 Markes as unread (@code{gnus-unread-mark}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3845
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3846 @dfn{Unread articles} are articles that haven't been read at all yet.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3847 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3848
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3849
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3850 @node Read Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3851 @subsection Read Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3852 @cindex expirable mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3853
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3854 All the following marks mark articles as read.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3855
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3856 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3857
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3858 @item r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3859 @vindex gnus-del-mark
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3860 These are articles that the user has marked as read with the @kbd{d}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3861 command manually, more or less (@code{gnus-del-mark}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3862
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3863 @item R
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3864 @vindex gnus-read-mark
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3865 Articles that have actually been read (@code{gnus-read-mark}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3866
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3867 @item O
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3868 @vindex gnus-ancient-mark
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3869 Articles that were marked as read in previous sessions and are now
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3870 @dfn{old} (@code{gnus-ancient-mark}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3871
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3872 @item K
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3873 @vindex gnus-killed-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3874 Marked as killed (@code{gnus-killed-mark}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3875
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3876 @item X
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3877 @vindex gnus-kill-file-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3878 Marked as killed by kill files (@code{gnus-kill-file-mark}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3879
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3880 @item Y
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3881 @vindex gnus-low-score-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3882 Marked as read by having a too low score (@code{gnus-low-score-mark}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3883
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3884 @item C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3885 @vindex gnus-catchup-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3886 Marked as read by a catchup (@code{gnus-catchup-mark}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3887
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3888 @item G
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3889 @vindex gnus-canceled-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3890 Canceled article (@code{gnus-canceled-mark})
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3891
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3892 @item F
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3893 @vindex gnus-souped-mark
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3894 @sc{SOUP}ed article (@code{gnus-souped-mark}). @xref{SOUP}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3895
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3896 @item Q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3897 @vindex gnus-sparse-mark
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3898 Sparsely reffed article (@code{gnus-sparse-mark}). @xref{Customizing
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3899 Threading}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3900
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3901 @item M
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3902 @vindex gnus-duplicate-mark
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3903 Article marked as read by duplicate suppression
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3904 (@code{gnus-duplicated-mark}). @xref{Duplicate Suppression}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3905
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3906 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3907
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3908 All these marks just mean that the article is marked as read, really.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3909 They are interpreted differently when doing adaptive scoring, though.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3910
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3911 One more special mark, though:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3912
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3913 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3914 @item E
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3915 @vindex gnus-expirable-mark
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3916 Marked as expirable (@code{gnus-expirable-mark}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3917
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3918 Marking articles as @dfn{expirable} (or have them marked as such
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3919 automatically) doesn't make much sense in normal groups---a user doesn't
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3920 control the expiring of news articles, but in mail groups, for instance,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3921 articles that are marked as @dfn{expirable} can be deleted by Gnus at
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3922 any time.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3923 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3924
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3925
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3926 @node Other Marks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3927 @subsection Other Marks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3928 @cindex process mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3929 @cindex bookmarks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3930
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3931 There are some marks that have nothing to do with whether the article is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3932 read or not.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3933
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3934 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3935
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3936 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3937 You can set a bookmark in the current article. Say you are reading a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3938 long thesis on cats' urinary tracts, and have to go home for dinner
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3939 before you've finished reading the thesis. You can then set a bookmark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3940 in the article, and Gnus will jump to this bookmark the next time it
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
3941 encounters the article. @xref{Setting Marks}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3942
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3943 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3944 @vindex gnus-replied-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3945 All articles that you have replied to or made a followup to (i.e., have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3946 answered) will be marked with an @samp{A} in the second column
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3947 (@code{gnus-replied-mark}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3948
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3949 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3950 @vindex gnus-cached-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3951 Articles that are stored in the article cache will be marked with an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3952 @samp{*} in the second column (@code{gnus-cached-mark}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3953
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3954 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3955 @vindex gnus-saved-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3956 Articles that are ``saved'' (in some manner or other; not necessarily
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3957 religiously) are marked with an @samp{S} in the second column
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3958 (@code{gnus-saved-mark}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3959
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3960 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3961 @vindex gnus-not-empty-thread-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3962 @vindex gnus-empty-thread-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3963 It the @samp{%e} spec is used, the presence of threads or not will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3964 marked with @code{gnus-not-empty-thread-mark} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3965 @code{gnus-empty-thread-mark} in the third column, respectively.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3966
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3967 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3968 @vindex gnus-process-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3969 Finally we have the @dfn{process mark} (@code{gnus-process-mark}. A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3970 variety of commands react to the presence of the process mark. For
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3971 instance, @kbd{X u} (@code{gnus-uu-decode-uu}) will uudecode and view
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3972 all articles that have been marked with the process mark. Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3973 marked with the process mark have a @samp{#} in the second column.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3974
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3975 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3976
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3977 You might have noticed that most of these ``non-readedness'' marks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3978 appear in the second column by default. So if you have a cached, saved,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3979 replied article that you have process-marked, what will that look like?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3980
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3981 Nothing much. The precedence rules go as follows: process -> cache ->
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3982 replied -> saved. So if the article is in the cache and is replied,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3983 you'll only see the cache mark and not the replied mark.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3984
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3985
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3986 @node Setting Marks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3987 @subsection Setting Marks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3988 @cindex setting marks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3989
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3990 All the marking commands understand the numeric prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3991
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3992 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3993 @item M t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3994 @itemx !
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3995 @kindex ! (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3996 @kindex M t (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3997 @findex gnus-summary-tick-article-forward
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3998 Tick the current article (@code{gnus-summary-tick-article-forward}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3999
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4000 @item M ?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4001 @itemx ?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4002 @kindex ? (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4003 @kindex M ? (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4004 @findex gnus-summary-mark-as-dormant
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4005 Mark the current article as dormant
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4006 (@code{gnus-summary-mark-as-dormant}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4007
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4008 @item M d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4009 @itemx d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4010 @kindex M d (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4011 @kindex d (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4012 @findex gnus-summary-mark-as-read-forward
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4013 Mark the current article as read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4014 (@code{gnus-summary-mark-as-read-forward}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4015
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4016 @item D
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4017 @kindex D (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4018 @findex gnus-summary-mark-as-read-backward
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4019 Mark the current article as read and move point to the previous line
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4020 (@code{gnus-summary-mark-as-read-backward}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4021
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4022 @item M k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4023 @itemx k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4024 @kindex k (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4025 @kindex M k (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4026 @findex gnus-summary-kill-same-subject-and-select
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4027 Mark all articles that have the same subject as the current one as read,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4028 and then select the next unread article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4029 (@code{gnus-summary-kill-same-subject-and-select}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4030
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4031 @item M K
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4032 @itemx C-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4033 @kindex M K (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4034 @kindex C-k (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4035 @findex gnus-summary-kill-same-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4036 Mark all articles that have the same subject as the current one as read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4037 (@code{gnus-summary-kill-same-subject}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4038
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4039 @item M C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4040 @kindex M C (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4041 @findex gnus-summary-catchup
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4042 Mark all unread articles as read (@code{gnus-summary-catchup}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4043
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4044 @item M C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4045 @kindex M C-c (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4046 @findex gnus-summary-catchup-all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4047 Mark all articles in the group as read---even the ticked and dormant
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4048 articles (@code{gnus-summary-catchup-all}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4049
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4050 @item M H
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4051 @kindex M H (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4052 @findex gnus-summary-catchup-to-here
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4053 Catchup the current group to point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4054 (@code{gnus-summary-catchup-to-here}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4055
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4056 @item C-w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4057 @kindex C-w (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4058 @findex gnus-summary-mark-region-as-read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4059 Mark all articles between point and mark as read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4060 (@code{gnus-summary-mark-region-as-read}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4061
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4062 @item M V k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4063 @kindex M V k (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4064 @findex gnus-summary-kill-below
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4065 Kill all articles with scores below the default score (or below the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4066 numeric prefix) (@code{gnus-summary-kill-below}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4067
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4068 @item M c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4069 @itemx M-u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4070 @kindex M c (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4071 @kindex M-u (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4072 @findex gnus-summary-clear-mark-forward
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4073 Clear all readedness-marks from the current article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4074 (@code{gnus-summary-clear-mark-forward}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4075
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4076 @item M e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4077 @itemx E
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4078 @kindex M e (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4079 @kindex E (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4080 @findex gnus-summary-mark-as-expirable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4081 Mark the current article as expirable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4082 (@code{gnus-summary-mark-as-expirable}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4083
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4084 @item M b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4085 @kindex M b (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4086 @findex gnus-summary-set-bookmark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4087 Set a bookmark in the current article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4088 (@code{gnus-summary-set-bookmark}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4089
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4090 @item M B
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4091 @kindex M B (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4092 @findex gnus-summary-remove-bookmark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4093 Remove the bookmark from the current article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4094 (@code{gnus-summary-remove-bookmark}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4095
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4096 @item M V c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4097 @kindex M V c (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4098 @findex gnus-summary-clear-above
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4099 Clear all marks from articles with scores over the default score (or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4100 over the numeric prefix) (@code{gnus-summary-clear-above}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4102 @item M V u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4103 @kindex M V u (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4104 @findex gnus-summary-tick-above
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4105 Tick all articles with scores over the default score (or over the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4106 numeric prefix) (@code{gnus-summary-tick-above}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4107
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4108 @item M V m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4109 @kindex M V m (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4110 @findex gnus-summary-mark-above
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4111 Prompt for a mark, and mark all articles with scores over the default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4112 score (or over the numeric prefix) with this mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4113 (@code{gnus-summary-clear-above}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4114 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4115
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4116 @vindex gnus-summary-goto-unread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4117 The @code{gnus-summary-goto-unread} variable controls what action should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4118 be taken after setting a mark. If non-@code{nil}, point will move to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4119 the next/previous unread article. If @code{nil}, point will just move
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4120 one line up or down. As a special case, if this variable is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4121 @code{never}, all the marking commands as well as other commands (like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4122 @kbd{SPACE}) will move to the next article, whether it is unread or not.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4123 The default is @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4124
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4125
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4126 @node Setting Process Marks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4127 @subsection Setting Process Marks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4128 @cindex setting process marks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4129
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4130 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4131
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4132 @item M P p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4133 @itemx #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4134 @kindex # (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4135 @kindex M P p (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4136 @findex gnus-summary-mark-as-processable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4137 Mark the current article with the process mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4138 (@code{gnus-summary-mark-as-processable}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4139 @findex gnus-summary-unmark-as-processable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4140
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4141 @item M P u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4142 @itemx M-#
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4143 @kindex M P u (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4144 @kindex M-# (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4145 Remove the process mark, if any, from the current article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4146 (@code{gnus-summary-unmark-as-processable}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4147
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4148 @item M P U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4149 @kindex M P U (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4150 @findex gnus-summary-unmark-all-processable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4151 Remove the process mark from all articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4152 (@code{gnus-summary-unmark-all-processable}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4153
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4154 @item M P i
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4155 @kindex M P i (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4156 @findex gnus-uu-invert-processable
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4157 Invert the list of process marked articles
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4158 (@code{gnus-uu-invert-processable}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4159
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4160 @item M P R
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4161 @kindex M P R (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4162 @findex gnus-uu-mark-by-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4163 Mark articles by a regular expression (@code{gnus-uu-mark-by-regexp}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4164
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4165 @item M P r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4166 @kindex M P r (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4167 @findex gnus-uu-mark-region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4168 Mark articles in region (@code{gnus-uu-mark-region}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4169
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4170 @item M P t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4171 @kindex M P t (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4172 @findex gnus-uu-mark-thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4173 Mark all articles in the current (sub)thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4174 (@code{gnus-uu-mark-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4175
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4176 @item M P T
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4177 @kindex M P T (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4178 @findex gnus-uu-unmark-thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4179 Unmark all articles in the current (sub)thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4180 (@code{gnus-uu-unmark-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4181
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4182 @item M P v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4183 @kindex M P v (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4184 @findex gnus-uu-mark-over
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4185 Mark all articles that have a score above the prefix argument
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4186 (@code{gnus-uu-mark-over}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4187
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4188 @item M P s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4189 @kindex M P s (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4190 @findex gnus-uu-mark-series
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4191 Mark all articles in the current series (@code{gnus-uu-mark-series}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4192
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4193 @item M P S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4194 @kindex M P S (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4195 @findex gnus-uu-mark-sparse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4196 Mark all series that have already had some articles marked
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4197 (@code{gnus-uu-mark-sparse}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4198
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4199 @item M P a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4200 @kindex M P a (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4201 @findex gnus-uu-mark-all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4202 Mark all articles in series order (@code{gnus-uu-mark-series}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4203
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4204 @item M P b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4205 @kindex M P b (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4206 @findex gnus-uu-mark-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4207 Mark all articles in the buffer in the order they appear
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4208 (@code{gnus-uu-mark-buffer}).
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4209
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4210 @item M P k
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4211 @kindex M P k (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4212 @findex gnus-summary-kill-process-mark
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4213 Push the current process mark set onto the stack and unmark all articles
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4214 (@code{gnus-summary-kill-process-mark}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4215
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4216 @item M P y
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4217 @kindex M P y (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4218 @findex gnus-summary-yank-process-mark
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4219 Pop the previous process mark set from the stack and restore it
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4220 (@code{gnus-summary-yank-process-mark}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4221
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4222 @item M P w
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4223 @kindex M P w (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4224 @findex gnus-summary-save-process-mark
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4225 Push the current process mark set onto the stack
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4226 (@code{gnus-summary-save-process-mark}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4227
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4228 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4229
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4230
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4231 @node Limiting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4232 @section Limiting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4233 @cindex limiting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4234
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4235 It can be convenient to limit the summary buffer to just show some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4236 subset of the articles currently in the group. The effect most limit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4237 commands have is to remove a few (or many) articles from the summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4238 buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4239
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4240 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4241
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4242 @item / /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4243 @itemx / s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4244 @kindex / / (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4245 @findex gnus-summary-limit-to-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4246 Limit the summary buffer to articles that match some subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4247 (@code{gnus-summary-limit-to-subject}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4248
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4249 @item / a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4250 @kindex / a (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4251 @findex gnus-summary-limit-to-author
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4252 Limit the summary buffer to articles that match some author
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4253 (@code{gnus-summary-limit-to-author}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4254
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4255 @item / u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4256 @itemx x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4257 @kindex / u (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4258 @kindex x (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4259 @findex gnus-summary-limit-to-unread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4260 Limit the summary buffer to articles that are not marked as read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4261 (@code{gnus-summary-limit-to-unread}). If given a prefix, limit the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4262 buffer to articles that are strictly unread. This means that ticked and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4263 dormant articles will also be excluded.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4264
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4265 @item / m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4266 @kindex / m (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4267 @findex gnus-summary-limit-to-marks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4268 Ask for a mark and then limit to all articles that have not been marked
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4269 with that mark (@code{gnus-summary-limit-to-marks}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4270
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4271 @item / t
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4272 @kindex / t (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4273 @findex gnus-summary-limit-to-age
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4274 Ask for a number and then limit the summary buffer to articles that are
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4275 older than (or equal to) that number of days
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4276 (@code{gnus-summary-limit-to-marks}). If given a prefix, limit to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4277 articles that are younger than that number of days.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4278
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4279 @item / n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4280 @kindex / n (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4281 @findex gnus-summary-limit-to-articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4282 Limit the summary buffer to the current article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4283 (@code{gnus-summary-limit-to-articles}). Uses the process/prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4284 convention (@pxref{Process/Prefix}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4285
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4286 @item / w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4287 @kindex / w (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4288 @findex gnus-summary-pop-limit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4289 Pop the previous limit off the stack and restore it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4290 (@code{gnus-summary-pop-limit}). If given a prefix, pop all limits off
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4291 the stack.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4292
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4293 @item / v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4294 @kindex / v (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4295 @findex gnus-summary-limit-to-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4296 Limit the summary buffer to articles that have a score at or above some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4297 score (@code{gnus-summary-limit-to-score}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4298
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4299 @item / E
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4300 @itemx M S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4301 @kindex M S (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4302 @kindex / E (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4303 @findex gnus-summary-limit-include-expunged
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4304 Display all expunged articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4305 (@code{gnus-summary-limit-include-expunged}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4306
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4307 @item / D
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4308 @kindex / D (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4309 @findex gnus-summary-limit-include-dormant
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4310 Display all dormant articles (@code{gnus-summary-limit-include-dormant}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4311
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4312 @item / d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4313 @kindex / d (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4314 @findex gnus-summary-limit-exclude-dormant
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4315 Hide all dormant articles (@code{gnus-summary-limit-exclude-dormant}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4316
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4317 @item / c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4318 @kindex / c (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4319 @findex gnus-summary-limit-exclude-childless-dormant
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4320 Hide all dormant articles that have no children
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4321 (@code{gnus-summary-limit-exclude-childless-dormant}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4322
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4323 @item / C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4324 @kindex / C (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4325 @findex gnus-summary-limit-mark-excluded-as-read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4326 Mark all excluded unread articles as read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4327 (@code{gnus-summary-limit-mark-excluded-as-read}). If given a prefix,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4328 also mark excluded ticked and dormant articles as read.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4329
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4330 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4331
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4332
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4333 @node Threading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4334 @section Threading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4335 @cindex threading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4336 @cindex article threading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4337
24
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
4338 Gnus threads articles by default. @dfn{To thread} is to put responses
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
4339 to articles directly after the articles they respond to---in a
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
4340 hierarchical fashion.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4341
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4342 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4343 * Customizing Threading:: Variables you can change to affect the threading.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4344 * Thread Commands:: Thread based commands in the summary buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4345 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4346
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4347
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4348 @node Customizing Threading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4349 @subsection Customizing Threading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4350 @cindex customizing threading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4351 @cindex <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4352 @cindex >
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4353
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4354 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4355
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4356 @item gnus-show-threads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4357 @vindex gnus-show-threads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4358 If this variable is @code{nil}, no threading will be done, and all of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4359 the rest of the variables here will have no effect. Turning threading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4360 off will speed group selection up a bit, but it is sure to make reading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4361 slower and more awkward.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4362
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4363 @item gnus-fetch-old-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4364 @vindex gnus-fetch-old-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4365 If non-@code{nil}, Gnus will attempt to build old threads by fetching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4366 more old headers---headers to articles that are marked as read. If you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4367 would like to display as few summary lines as possible, but still
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4368 connect as many loose threads as possible, you should set this variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4369 to @code{some} or a number. If you set it to a number, no more than
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4370 that number of extra old headers will be fetched. In either case,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4371 fetching old headers only works if the backend you are using carries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4372 overview files---this would normally be @code{nntp}, @code{nnspool} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4373 @code{nnml}. Also remember that if the root of the thread has been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4374 expired by the server, there's not much Gnus can do about that.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4375
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4376 @item gnus-build-sparse-threads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4377 @vindex gnus-build-sparse-threads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4378 Fetching old headers can be slow. A low-rent similar effect can be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4379 gotten by setting this variable to @code{some}. Gnus will then look at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4380 the complete @code{References} headers of all articles and try to string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4381 articles that belong in the same thread together. This will leave
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4382 @dfn{gaps} in the threading display where Gnus guesses that an article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4383 is missing from the thread. (These gaps appear like normal summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4384 lines. If you select a gap, Gnus will try to fetch the article in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4385 question.) If this variable is @code{t}, Gnus will display all these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4386 ``gaps'' without regard for whether they are useful for completing the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4387 thread or not. Finally, if this variable is @code{more}, Gnus won't cut
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4388 off sparse leaf nodes that don't lead anywhere. This variable is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4389 @code{nil} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4390
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4391 @item gnus-summary-gather-subject-limit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4392 @vindex gnus-summary-gather-subject-limit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4393 Loose threads are gathered by comparing subjects of articles. If this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4394 variable is @code{nil}, Gnus requires an exact match between the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4395 subjects of the loose threads before gathering them into one big
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4396 super-thread. This might be too strict a requirement, what with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4397 presence of stupid newsreaders that chop off long subjects lines. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4398 you think so, set this variable to, say, 20 to require that only the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4399 first 20 characters of the subjects have to match. If you set this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4400 variable to a really low number, you'll find that Gnus will gather
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4401 everything in sight into one thread, which isn't very helpful.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4402
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4403 @cindex fuzzy article gathering
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4404 If you set this variable to the special value @code{fuzzy}, Gnus will
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
4405 use a fuzzy string comparison algorithm on the subjects (@pxref{Fuzzy
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
4406 Matching}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4407
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4408 @item gnus-simplify-subject-fuzzy-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4409 @vindex gnus-simplify-subject-fuzzy-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4410 This can either be a regular expression or list of regular expressions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4411 that match strings that will be removed from subjects if fuzzy subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4412 simplification is used.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4413
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4414 @item gnus-simplify-ignored-prefixes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4415 @vindex gnus-simplify-ignored-prefixes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4416 If you set @code{gnus-summary-gather-subject-limit} to something as low
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4417 as 10, you might consider setting this variable to something sensible:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4418
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4419 @c Written by Michael Ernst <mernst@cs.rice.edu>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4420 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4421 (setq gnus-simplify-ignored-prefixes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4422 (concat
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4423 "\\`\\[?\\("
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4424 (mapconcat
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4425 'identity
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4426 '("looking"
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4427 "wanted" "followup" "summary\\( of\\)?"
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4428 "help" "query" "problem" "question"
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4429 "answer" "reference" "announce"
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4430 "How can I" "How to" "Comparison of"
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4431 ;; ...
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4432 )
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4433 "\\|")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4434 "\\)\\s *\\("
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4435 (mapconcat 'identity
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4436 '("for" "for reference" "with" "about")
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4437 "\\|")
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4438 "\\)?\\]?:?[ \t]*"))
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4439 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4440
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4441 All words that match this regexp will be removed before comparing two
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4442 subjects.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4443
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4444 @item gnus-summary-gather-exclude-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4445 @vindex gnus-summary-gather-exclude-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4446 Since loose thread gathering is done on subjects only, that might lead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4447 to many false hits, especially with certain common subjects like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4448 @samp{} and @samp{(none)}. To make the situation slightly better,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4449 you can use the regexp @code{gnus-summary-gather-exclude-subject} to say
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4450 what subjects should be excluded from the gathering process. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4451 default is @samp{^ *$\\|^(none)$}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4452
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4453 @item gnus-summary-thread-gathering-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4454 @vindex gnus-summary-thread-gathering-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4455 Gnus gathers threads by looking at @code{Subject} headers. This means
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4456 that totally unrelated articles may end up in the same ``thread'', which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4457 is confusing. An alternate approach is to look at all the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4458 @code{Message-ID}s in all the @code{References} headers to find matches.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4459 This will ensure that no gathered threads ever includes unrelated
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4460 articles, but it's also means that people who have posted with broken
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4461 newsreaders won't be gathered properly. The choice is yours---plague or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4462 cholera:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4463
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4464 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4465 @item gnus-gather-threads-by-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4466 @findex gnus-gather-threads-by-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4467 This function is the default gathering function and looks at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4468 @code{Subject}s exclusively.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4469
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4470 @item gnus-gather-threads-by-references
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4471 @findex gnus-gather-threads-by-references
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4472 This function looks at @code{References} headers exclusively.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4473 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4474
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4475 If you want to test gathering by @code{References}, you could say
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4476 something like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4477
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4478 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4479 (setq gnus-summary-thread-gathering-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4480 'gnus-gather-threads-by-references)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4481 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4482
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4483 @item gnus-summary-make-false-root
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4484 @vindex gnus-summary-make-false-root
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4485 If non-@code{nil}, Gnus will gather all loose subtrees into one big tree
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4486 and create a dummy root at the top. (Wait a minute. Root at the top?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4487 Yup.) Loose subtrees occur when the real root has expired, or you've
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4488 read or killed the root in a previous session.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4489
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4490 When there is no real root of a thread, Gnus will have to fudge
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4491 something. This variable says what fudging method Gnus should use.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4492 There are four possible values:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4493
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4494 @cindex adopting articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4495
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4496 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4497
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4498 @item adopt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4499 Gnus will make the first of the orphaned articles the parent. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4500 parent will adopt all the other articles. The adopted articles will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4501 marked as such by pointy brackets (@samp{<>}) instead of the standard
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4502 square brackets (@samp{[]}). This is the default method.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4503
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4504 @item dummy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4505 @vindex gnus-summary-dummy-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4506 Gnus will create a dummy summary line that will pretend to be the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4507 parent. This dummy line does not correspond to any real article, so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4508 selecting it will just select the first real article after the dummy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4509 article. @code{gnus-summary-dummy-line-format} is used to specify the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4510 format of the dummy roots. It accepts only one format spec: @samp{S},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4511 which is the subject of the article. @xref{Formatting Variables}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4512
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4513 @item empty
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4514 Gnus won't actually make any article the parent, but simply leave the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4515 subject field of all orphans except the first empty. (Actually, it will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4516 use @code{gnus-summary-same-subject} as the subject (@pxref{Summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4517 Buffer Format}).)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4518
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4519 @item none
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4520 Don't make any article parent at all. Just gather the threads and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4521 display them after one another.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4522
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4523 @item nil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4524 Don't gather loose threads.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4525 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4526
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4527 @item gnus-thread-hide-subtree
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4528 @vindex gnus-thread-hide-subtree
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4529 If non-@code{nil}, all threads will be hidden when the summary buffer is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4530 generated.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4531
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4532 @item gnus-thread-expunge-below
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4533 @vindex gnus-thread-expunge-below
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4534 All threads that have a total score (as defined by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4535 @code{gnus-thread-score-function}) less than this number will be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4536 expunged. This variable is @code{nil} by default, which means that no
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4537 threads are expunged.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4538
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4539 @item gnus-thread-hide-killed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4540 @vindex gnus-thread-hide-killed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4541 if you kill a thread and this variable is non-@code{nil}, the subtree
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4542 will be hidden.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4543
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4544 @item gnus-thread-ignore-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4545 @vindex gnus-thread-ignore-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4546 Sometimes somebody changes the subject in the middle of a thread. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4547 this variable is non-@code{nil}, the subject change is ignored. If it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4548 is @code{nil}, which is the default, a change in the subject will result
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4549 in a new thread.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4550
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4551 @item gnus-thread-indent-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4552 @vindex gnus-thread-indent-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4553 This is a number that says how much each sub-thread should be indented.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4554 The default is 4.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4555
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4556 @item gnus-parse-headers-hook
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4557 @vindex gnus-parse-headers-hook
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4558 Hook run before parsing any headers. The default value is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4559 @code{(gnus-decode-rfc1522)}, which means that QPized headers will be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4560 slightly decoded in a hackish way. This is likely to change in the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4561 future when Gnus becomes @sc{MIME}ified.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4562
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4563 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4564
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4565
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4566 @node Thread Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4567 @subsection Thread Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4568 @cindex thread commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4569
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4570 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4571
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4572 @item T k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4573 @itemx M-C-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4574 @kindex T k (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4575 @kindex M-C-k (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4576 @findex gnus-summary-kill-thread
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4577 Mark all articles in the current (sub-)thread as read
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4578 (@code{gnus-summary-kill-thread}). If the prefix argument is positive,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4579 remove all marks instead. If the prefix argument is negative, tick
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4580 articles instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4581
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4582 @item T l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4583 @itemx M-C-l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4584 @kindex T l (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4585 @kindex M-C-l (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4586 @findex gnus-summary-lower-thread
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4587 Lower the score of the current (sub-)thread
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4588 (@code{gnus-summary-lower-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4589
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4590 @item T i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4591 @kindex T i (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4592 @findex gnus-summary-raise-thread
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4593 Increase the score of the current (sub-)thread
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4594 (@code{gnus-summary-raise-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4595
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4596 @item T #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4597 @kindex T # (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4598 @findex gnus-uu-mark-thread
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4599 Set the process mark on the current (sub-)thread
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4600 (@code{gnus-uu-mark-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4601
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4602 @item T M-#
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4603 @kindex T M-# (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4604 @findex gnus-uu-unmark-thread
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4605 Remove the process mark from the current (sub-)thread
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4606 (@code{gnus-uu-unmark-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4607
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4608 @item T T
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4609 @kindex T T (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4610 @findex gnus-summary-toggle-threads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4611 Toggle threading (@code{gnus-summary-toggle-threads}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4612
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4613 @item T s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4614 @kindex T s (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4615 @findex gnus-summary-show-thread
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4616 Expose the (sub-)thread hidden under the current article, if any
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4617 (@code{gnus-summary-show-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4618
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4619 @item T h
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4620 @kindex T h (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4621 @findex gnus-summary-hide-thread
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4622 Hide the current (sub-)thread (@code{gnus-summary-hide-thread}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4623
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4624 @item T S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4625 @kindex T S (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4626 @findex gnus-summary-show-all-threads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4627 Expose all hidden threads (@code{gnus-summary-show-all-threads}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4628
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4629 @item T H
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4630 @kindex T H (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4631 @findex gnus-summary-hide-all-threads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4632 Hide all threads (@code{gnus-summary-hide-all-threads}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4633
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4634 @item T t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4635 @kindex T t (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4636 @findex gnus-summary-rethread-current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4637 Re-thread the thread the current article is part of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4638 (@code{gnus-summary-rethread-current}). This works even when the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4639 summary buffer is otherwise unthreaded.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4640
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4641 @item T ^
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4642 @kindex T ^ (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4643 @findex gnus-summary-reparent-thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4644 Make the current article the child of the marked (or previous) article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4645 (@code{gnus-summary-reparent-thread}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4646
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4647 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4648
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4649 The following commands are thread movement commands. They all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4650 understand the numeric prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4651
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4652 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4653
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4654 @item T n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4655 @kindex T n (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4656 @findex gnus-summary-next-thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4657 Go to the next thread (@code{gnus-summary-next-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4658
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4659 @item T p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4660 @kindex T p (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4661 @findex gnus-summary-prev-thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4662 Go to the previous thread (@code{gnus-summary-prev-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4663
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4664 @item T d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4665 @kindex T d (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4666 @findex gnus-summary-down-thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4667 Descend the thread (@code{gnus-summary-down-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4668
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4669 @item T u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4670 @kindex T u (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4671 @findex gnus-summary-up-thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4672 Ascend the thread (@code{gnus-summary-up-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4673
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4674 @item T o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4675 @kindex T o (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4676 @findex gnus-summary-top-thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4677 Go to the top of the thread (@code{gnus-summary-top-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4678 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4679
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4680 @vindex gnus-thread-operation-ignore-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4681 If you ignore subject while threading, you'll naturally end up with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4682 threads that have several different subjects in them. If you then issue
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4683 a command like `T k' (@code{gnus-summary-kill-thread}) you might not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4684 wish to kill the entire thread, but just those parts of the thread that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4685 have the same subject as the current article. If you like this idea,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4686 you can fiddle with @code{gnus-thread-operation-ignore-subject}. If is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4687 is non-@code{nil} (which it is by default), subjects will be ignored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4688 when doing thread commands. If this variable is @code{nil}, articles in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4689 the same thread with different subjects will not be included in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4690 operation in question. If this variable is @code{fuzzy}, only articles
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
4691 that have subjects that are fuzzily equal will be included (@pxref{Fuzzy
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
4692 Matching}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4693
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4694
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4695 @node Sorting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4696 @section Sorting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4697
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4698 @findex gnus-thread-sort-by-total-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4699 @findex gnus-thread-sort-by-date
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4700 @findex gnus-thread-sort-by-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4701 @findex gnus-thread-sort-by-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4702 @findex gnus-thread-sort-by-author
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4703 @findex gnus-thread-sort-by-number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4704 @vindex gnus-thread-sort-functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4705 If you are using a threaded summary display, you can sort the threads by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4706 setting @code{gnus-thread-sort-functions}, which is a list of functions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4707 By default, sorting is done on article numbers. Ready-made sorting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4708 predicate functions include @code{gnus-thread-sort-by-number},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4709 @code{gnus-thread-sort-by-author}, @code{gnus-thread-sort-by-subject},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4710 @code{gnus-thread-sort-by-date}, @code{gnus-thread-sort-by-score}, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4711 @code{gnus-thread-sort-by-total-score}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4712
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4713 Each function takes two threads and return non-@code{nil} if the first
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4714 thread should be sorted before the other. Note that sorting really is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4715 normally done by looking only at the roots of each thread. If you use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4716 more than one function, the primary sort key should be the last function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4717 in the list. You should probably always include
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4718 @code{gnus-thread-sort-by-number} in the list of sorting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4719 functions---preferably first. This will ensure that threads that are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4720 equal with respect to the other sort criteria will be displayed in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4721 ascending article order.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4722
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4723 If you would like to sort by score, then by subject, and finally by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4724 number, you could do something like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4725
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4726 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4727 (setq gnus-thread-sort-functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4728 '(gnus-thread-sort-by-number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4729 gnus-thread-sort-by-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4730 gnus-thread-sort-by-score))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4731 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4732
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4733 The threads that have highest score will be displayed first in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4734 summary buffer. When threads have the same score, they will be sorted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4735 alphabetically. The threads that have the same score and the same
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4736 subject will be sorted by number, which is (normally) the sequence in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4737 which the articles arrived.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4738
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4739 If you want to sort by score and then reverse arrival order, you could
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4740 say something like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4741
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4742 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4743 (setq gnus-thread-sort-functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4744 '((lambda (t1 t2)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4745 (not (gnus-thread-sort-by-number t1 t2)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4746 gnus-thread-sort-by-score))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4747 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4748
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4749 @vindex gnus-thread-score-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4750 The function in the @code{gnus-thread-score-function} variable (default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4751 @code{+}) is used for calculating the total score of a thread. Useful
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4752 functions might be @code{max}, @code{min}, or squared means, or whatever
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4753 tickles your fancy.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4754
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4755 @findex gnus-article-sort-functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4756 @findex gnus-article-sort-by-date
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4757 @findex gnus-article-sort-by-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4758 @findex gnus-article-sort-by-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4759 @findex gnus-article-sort-by-author
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4760 @findex gnus-article-sort-by-number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4761 If you are using an unthreaded display for some strange reason or other,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4762 you have to fiddle with the @code{gnus-article-sort-functions} variable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4763 It is very similar to the @code{gnus-thread-sort-functions}, except that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4764 is uses slightly different functions for article comparison. Available
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4765 sorting predicate functions are @code{gnus-article-sort-by-number},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4766 @code{gnus-article-sort-by-author}, @code{gnus-article-sort-by-subject},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4767 @code{gnus-article-sort-by-date}, and @code{gnus-article-sort-by-score}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4768
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4769 If you want to sort an unthreaded summary display by subject, you could
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4770 say something like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4771
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4772 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4773 (setq gnus-article-sort-functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4774 '(gnus-article-sort-by-number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4775 gnus-article-sort-by-subject))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4776 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4777
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4778
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4779
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4780 @node Asynchronous Fetching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4781 @section Asynchronous Article Fetching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4782 @cindex asynchronous article fetching
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4783 @cindex article pre-fetch
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4784 @cindex pre-fetch
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4785
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4786 If you read your news from an @sc{nntp} server that's far away, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4787 network latencies may make reading articles a chore. You have to wait
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4788 for a while after pressing @kbd{n} to go to the next article before the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4789 article appears. Why can't Gnus just go ahead and fetch the article
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4790 while you are reading the previous one? Why not, indeed.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4791
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4792 First, some caveats. There are some pitfalls to using asynchronous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4793 article fetching, especially the way Gnus does it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4794
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4795 Let's say you are reading article 1, which is short, and article 2 is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4796 quite long, and you are not interested in reading that. Gnus does not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4797 know this, so it goes ahead and fetches article 2. You decide to read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4798 article 3, but since Gnus is in the process of fetching article 2, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4799 connection is blocked.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4800
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4801 To avoid these situations, Gnus will open two (count 'em two)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4802 connections to the server. Some people may think this isn't a very nice
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4803 thing to do, but I don't see any real alternatives. Setting up that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4804 extra connection takes some time, so Gnus startup will be slower.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4805
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4806 Gnus will fetch more articles than you will read. This will mean that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4807 the link between your machine and the @sc{nntp} server will become more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4808 loaded than if you didn't use article pre-fetch. The server itself will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4809 also become more loaded---both with the extra article requests, and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4810 extra connection.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4811
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4812 Ok, so now you know that you shouldn't really use this thing... unless
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4813 you really want to.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4814
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4815 @vindex gnus-asynchronous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4816 Here's how: Set @code{gnus-asynchronous} to @code{t}. The rest should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4817 happen automatically.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4818
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4819 @vindex gnus-use-article-prefetch
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4820 You can control how many articles that are to be pre-fetched by setting
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4821 @code{gnus-use-article-prefetch}. This is 30 by default, which means
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4822 that when you read an article in the group, the backend will pre-fetch
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4823 the next 30 articles. If this variable is @code{t}, the backend will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4824 pre-fetch all the articles that it can without bound. If it is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4825 @code{nil}, no pre-fetching will be made.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4826
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4827 @vindex gnus-async-prefetch-article-p
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4828 @findex gnus-async-read-p
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4829 There are probably some articles that you don't want to pre-fetch---read
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4830 articles, for instance. Which articles to pre-fetch is controlled by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4831 the @code{gnus-async-prefetch-article-p} variable. This function should
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4832 return non-@code{nil} when the article in question is to be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4833 pre-fetched. The default is @code{gnus-async-read-p}, which returns
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4834 @code{nil} on read articles. The function is called with an article
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4835 data structure as the only parameter.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4836
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4837 If, for instance, you wish to pre-fetch only unread articles that are
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4838 shorter than 100 lines, you could say something like:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4839
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4840 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4841 (defun my-async-short-unread-p (data)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4842 "Return non-nil for short, unread articles."
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4843 (and (gnus-data-unread-p data)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4844 (< (mail-header-lines (gnus-data-header data))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4845 100)))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4846
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4847 (setq gnus-async-prefetch-article-p 'my-async-short-unread-p)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4848 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4849
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4850 These functions will be called many, many times, so they should
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4851 preferrably be short and sweet to avoid slowing down Gnus too much.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4852 It's also probably a good idea to byte-compile things like this.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4853
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4854 @vindex gnus-prefetched-article-deletion-strategy
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4855 Articles have to be removed from the asynch buffer sooner or later. The
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4856 @code{gnus-prefetched-article-deletion-strategy} says when to remove
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4857 articles. This is a list that may contain the following elements:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4858
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4859 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4860 @item read
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4861 Remove articles when they are read.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4862
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4863 @item exit
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4864 Remove articles when exiting the group.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4865 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4866
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4867 The default value is @code{(read exit)}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4868
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4869 @vindex gnus-use-header-prefetch
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4870 If @code{gnus-use-header-prefetch} is non-@code{nil}, prefetch articles
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
4871 from the next group.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4872
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4873
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4874 @node Article Caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4875 @section Article Caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4876 @cindex article caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4877 @cindex caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4878
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4879 If you have an @emph{extremely} slow @sc{nntp} connection, you may
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4880 consider turning article caching on. Each article will then be stored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4881 locally under your home directory. As you may surmise, this could
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4882 potentially use @emph{huge} amounts of disk space, as well as eat up all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4883 your inodes so fast it will make your head swim. In vodka.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4884
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4885 Used carefully, though, it could be just an easier way to save articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4886
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4887 @vindex gnus-use-long-file-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4888 @vindex gnus-cache-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4889 @vindex gnus-use-cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4890 To turn caching on, set @code{gnus-use-cache} to @code{t}. By default,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4891 all articles that are ticked or marked as dormant will then be copied
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4892 over to your local cache (@code{gnus-cache-directory}). Whether this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4893 cache is flat or hierarchal is controlled by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4894 @code{gnus-use-long-file-name} variable, as usual.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4895
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4896 When re-select a ticked or dormant article, it will be fetched from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4897 cache instead of from the server. As articles in your cache will never
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4898 expire, this might serve as a method of saving articles while still
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4899 keeping them where they belong. Just mark all articles you want to save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4900 as dormant, and don't worry.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4901
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4902 When an article is marked as read, is it removed from the cache.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4903
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4904 @vindex gnus-cache-remove-articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4905 @vindex gnus-cache-enter-articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4906 The entering/removal of articles from the cache is controlled by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4907 @code{gnus-cache-enter-articles} and @code{gnus-cache-remove-articles}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4908 variables. Both are lists of symbols. The first is @code{(ticked
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4909 dormant)} by default, meaning that ticked and dormant articles will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4910 put in the cache. The latter is @code{(read)} by default, meaning that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4911 articles that are marked as read are removed from the cache. Possibly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4912 symbols in these two lists are @code{ticked}, @code{dormant},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4913 @code{unread} and @code{read}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4914
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4915 @findex gnus-jog-cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4916 So where does the massive article-fetching and storing come into the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4917 picture? The @code{gnus-jog-cache} command will go through all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4918 subscribed newsgroups, request all unread articles, and store them in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4919 the cache. You should only ever, ever ever ever, use this command if 1)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4920 your connection to the @sc{nntp} server is really, really, really slow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4921 and 2) you have a really, really, really huge disk. Seriously.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4922
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4923 @vindex gnus-uncacheable-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4924 It is likely that you do not want caching on some groups. For instance,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4925 if your @code{nnml} mail is located under your home directory, it makes no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4926 sense to cache it somewhere else under your home directory. Unless you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4927 feel that it's neat to use twice as much space. To limit the caching,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4928 you could set the @code{gnus-uncacheable-groups} regexp to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4929 @samp{^nnml}, for instance. This variable is @code{nil} by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4930 default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4931
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4932 @findex gnus-cache-generate-nov-databases
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4933 @findex gnus-cache-generate-active
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4934 @vindex gnus-cache-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4935 The cache stores information on what articles it contains in its active
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4936 file (@code{gnus-cache-active-file}). If this file (or any other parts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4937 of the cache) becomes all messed up for some reason or other, Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4938 offers two functions that will try to set things right. @kbd{M-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4939 gnus-cache-generate-nov-databases} will (re)build all the @sc{nov}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4940 files, and @kbd{gnus-cache-generate-active} will (re)generate the active
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4941 file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4942
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4943
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4944 @node Persistent Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4945 @section Persistent Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4946 @cindex persistent articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4947
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4948 Closely related to article caching, we have @dfn{persistent articles}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4949 In fact, it's just a different way of looking at caching, and much more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4950 useful in my opinion.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4951
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4952 Say you're reading a newsgroup, and you happen on to some valuable gem
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4953 that you want to keep and treasure forever. You'd normally just save it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4954 (using one of the many saving commands) in some file. The problem with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4955 that is that it's just, well, yucky. Ideally you'd prefer just having
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4956 the article remain in the group where you found it forever; untouched by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4957 the expiry going on at the news server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4958
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4959 This is what a @dfn{persistent article} is---an article that just won't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4960 be deleted. It's implemented using the normal cache functions, but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4961 you use two explicit commands for managing persistent articles:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4962
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4963 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4964
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4965 @item *
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4966 @kindex * (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4967 @findex gnus-cache-enter-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4968 Make the current article persistent (@code{gnus-cache-enter-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4969
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4970 @item M-*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4971 @kindex M-* (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4972 @findex gnus-cache-remove-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4973 Remove the current article from the persistent articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4974 (@code{gnus-cache-remove-article}). This will normally delete the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4975 article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4976 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4977
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4978 Both these commands understand the process/prefix convention.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4979
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4980 To avoid having all ticked articles (and stuff) entered into the cache,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4981 you should set @code{gnus-use-cache} to @code{passive} if you're just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4982 interested in persistent articles:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4983
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4984 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4985 (setq gnus-use-cache 'passive)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4986 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4987
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4988
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4989 @node Article Backlog
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4990 @section Article Backlog
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4991 @cindex backlog
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4992 @cindex article backlog
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4993
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4994 If you have a slow connection, but the idea of using caching seems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4995 unappealing to you (and it is, really), you can help the situation some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4996 by switching on the @dfn{backlog}. This is where Gnus will buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4997 already read articles so that it doesn't have to re-fetch articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4998 you've already read. This only helps if you are in the habit of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4999 re-selecting articles you've recently read, of course. If you never do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5000 that, turning the backlog on will slow Gnus down a little bit, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5001 increase memory usage some.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5002
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5003 @vindex gnus-keep-backlog
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5004 If you set @code{gnus-keep-backlog} to a number @var{n}, Gnus will store
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5005 at most @var{n} old articles in a buffer for later re-fetching. If this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5006 variable is non-@code{nil} and is not a number, Gnus will store
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5007 @emph{all} read articles, which means that your Emacs will grow without
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5008 bound before exploding and taking your machine down with you. I put
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5009 that in there just to keep y'all on your toes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5010
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5011 This variable is @code{nil} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5012
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5013
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5014 @node Saving Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5015 @section Saving Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5016 @cindex saving articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5017
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5018 Gnus can save articles in a number of ways. Below is the documentation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5019 for saving articles in a fairly straight-forward fashion (i.e., little
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5020 processing of the article is done before it is saved). For a different
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5021 approach (uudecoding, unsharing) you should use @code{gnus-uu}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5022 (@pxref{Decoding Articles}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5023
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5024 @vindex gnus-save-all-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5025 If @code{gnus-save-all-headers} is non-@code{nil}, Gnus will not delete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5026 unwanted headers before saving the article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5027
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5028 @vindex gnus-saved-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5029 If the preceding variable is @code{nil}, all headers that match the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5030 @code{gnus-saved-headers} regexp will be kept, while the rest will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5031 deleted before saving.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5032
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5033 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5034
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5035 @item O o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5036 @itemx o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5037 @kindex O o (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5038 @kindex o (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5039 @findex gnus-summary-save-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5040 Save the current article using the default article saver
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5041 (@code{gnus-summary-save-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5042
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5043 @item O m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5044 @kindex O m (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5045 @findex gnus-summary-save-article-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5046 Save the current article in mail format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5047 (@code{gnus-summary-save-article-mail}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5048
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5049 @item O r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5050 @kindex O r (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5051 @findex gnus-summary-save-article-rmail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5052 Save the current article in rmail format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5053 (@code{gnus-summary-save-article-rmail}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5054
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5055 @item O f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5056 @kindex O f (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5057 @findex gnus-summary-save-article-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5058 Save the current article in plain file format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5059 (@code{gnus-summary-save-article-file}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5060
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5061 @item O F
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5062 @kindex O F (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5063 @findex gnus-summary-write-article-file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5064 Write the current article in plain file format, overwriting any previous
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5065 file contents (@code{gnus-summary-write-article-file}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5066
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5067 @item O b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5068 @kindex O b (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5069 @findex gnus-summary-save-article-body-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5070 Save the current article body in plain file format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5071 (@code{gnus-summary-save-article-body-file}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5072
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5073 @item O h
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5074 @kindex O h (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5075 @findex gnus-summary-save-article-folder
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5076 Save the current article in mh folder format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5077 (@code{gnus-summary-save-article-folder}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5078
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5079 @item O v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5080 @kindex O v (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5081 @findex gnus-summary-save-article-vm
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5082 Save the current article in a VM folder
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5083 (@code{gnus-summary-save-article-vm}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5084
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5085 @item O p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5086 @kindex O p (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5087 @findex gnus-summary-pipe-output
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5088 Save the current article in a pipe. Uhm, like, what I mean is---Pipe
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5089 the current article to a process (@code{gnus-summary-pipe-output}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5090 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5091
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5092 @vindex gnus-prompt-before-saving
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5093 All these commands use the process/prefix convention
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5094 (@pxref{Process/Prefix}). If you save bunches of articles using these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5095 functions, you might get tired of being prompted for files to save each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5096 and every article in. The prompting action is controlled by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5097 the @code{gnus-prompt-before-saving} variable, which is @code{always} by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5098 default, giving you that excessive prompting action you know and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5099 loathe. If you set this variable to @code{t} instead, you'll be prompted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5100 just once for each series of articles you save. If you like to really
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5101 have Gnus do all your thinking for you, you can even set this variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5102 to @code{nil}, which means that you will never be prompted for files to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5103 save articles in. Gnus will simply save all the articles in the default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5104 files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5105
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5106
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5107 @vindex gnus-default-article-saver
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5108 You can customize the @code{gnus-default-article-saver} variable to make
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5109 Gnus do what you want it to. You can use any of the four ready-made
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5110 functions below, or you can create your own.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5111
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5112 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5113
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5114 @item gnus-summary-save-in-rmail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5115 @findex gnus-summary-save-in-rmail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5116 @vindex gnus-rmail-save-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5117 @findex gnus-plain-save-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5118 This is the default format, @dfn{babyl}. Uses the function in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5119 @code{gnus-rmail-save-name} variable to get a file name to save the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5120 article in. The default is @code{gnus-plain-save-name}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5121
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5122 @item gnus-summary-save-in-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5123 @findex gnus-summary-save-in-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5124 @vindex gnus-mail-save-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5125 Save in a Unix mail (mbox) file. Uses the function in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5126 @code{gnus-mail-save-name} variable to get a file name to save the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5127 article in. The default is @code{gnus-plain-save-name}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5128
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5129 @item gnus-summary-save-in-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5130 @findex gnus-summary-save-in-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5131 @vindex gnus-file-save-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5132 @findex gnus-numeric-save-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5133 Append the article straight to an ordinary file. Uses the function in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5134 the @code{gnus-file-save-name} variable to get a file name to save the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5135 article in. The default is @code{gnus-numeric-save-name}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5136
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5137 @item gnus-summary-save-body-in-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5138 @findex gnus-summary-save-body-in-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5139 Append the article body to an ordinary file. Uses the function in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5140 @code{gnus-file-save-name} variable to get a file name to save the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5141 article in. The default is @code{gnus-numeric-save-name}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5142
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5143 @item gnus-summary-save-in-folder
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5144 @findex gnus-summary-save-in-folder
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5145 @findex gnus-folder-save-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5146 @findex gnus-Folder-save-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5147 @vindex gnus-folder-save-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5148 @cindex rcvstore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5149 @cindex MH folders
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5150 Save the article to an MH folder using @code{rcvstore} from the MH
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5151 library. Uses the function in the @code{gnus-folder-save-name} variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5152 to get a file name to save the article in. The default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5153 @code{gnus-folder-save-name}, but you can also use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5154 @code{gnus-Folder-save-name}. The former creates capitalized names, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5155 the latter does not.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5156
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5157 @item gnus-summary-save-in-vm
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5158 @findex gnus-summary-save-in-vm
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5159 Save the article in a VM folder. You have to have the VM mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5160 reader to use this setting.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5161 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5162
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5163 @vindex gnus-article-save-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5164 All of these functions, except for the last one, will save the article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5165 in the @code{gnus-article-save-directory}, which is initialized from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5166 @code{SAVEDIR} environment variable. This is @file{~/News/} by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5167 default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5168
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5169 As you can see above, the functions use different functions to find a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5170 suitable name of a file to save the article in. Below is a list of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5171 available functions that generate names:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5172
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5173 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5174
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5175 @item gnus-Numeric-save-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5176 @findex gnus-Numeric-save-name
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5177 File names like @file{~/News/Alt.andrea-dworkin/45}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5178
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5179 @item gnus-numeric-save-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5180 @findex gnus-numeric-save-name
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5181 File names like @file{~/News/alt.andrea-dworkin/45}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5182
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5183 @item gnus-Plain-save-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5184 @findex gnus-Plain-save-name
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5185 File names like @file{~/News/Alt.andrea-dworkin}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5186
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5187 @item gnus-plain-save-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5188 @findex gnus-plain-save-name
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5189 File names like @file{~/News/alt.andrea-dworkin}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5190 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5191
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5192 @vindex gnus-split-methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5193 You can have Gnus suggest where to save articles by plonking a regexp into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5194 the @code{gnus-split-methods} alist. For instance, if you would like to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5195 save articles related to Gnus in the file @file{gnus-stuff}, and articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5196 related to VM in @code{vm-stuff}, you could set this variable to something
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5197 like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5198
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5199 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5200 (("^Subject:.*gnus\\|^Newsgroups:.*gnus" "gnus-stuff")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5201 ("^Subject:.*vm\\|^Xref:.*vm" "vm-stuff")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5202 (my-choosing-function "../other-dir/my-stuff")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5203 ((equal gnus-newsgroup-name "mail.misc") "mail-stuff"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5204 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5205
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5206 We see that this is a list where each element is a list that has two
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5207 elements---the @dfn{match} and the @dfn{file}. The match can either be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5208 a string (in which case it is used as a regexp to match on the article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5209 head); it can be a symbol (which will be called as a function with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5210 group name as a parameter); or it can be a list (which will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5211 @code{eval}ed). If any of these actions have a non-@code{nil} result,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5212 the @dfn{file} will be used as a default prompt. In addition, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5213 result of the operation itself will be used if the function or form
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5214 called returns a string or a list of strings.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5215
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5216 You basically end up with a list of file names that might be used when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5217 saving the current article. (All ``matches'' will be used.) You will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5218 then be prompted for what you really want to use as a name, with file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5219 name completion over the results from applying this variable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5220
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5221 This variable is @code{((gnus-article-archive-name))} by default, which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5222 means that Gnus will look at the articles it saves for an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5223 @code{Archive-name} line and use that as a suggestion for the file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5224 name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5225
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5226 @vindex gnus-use-long-file-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5227 Finally, you have the @code{gnus-use-long-file-name} variable. If it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5228 @code{nil}, all the preceding functions will replace all periods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5229 (@samp{.}) in the group names with slashes (@samp{/})---which means that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5230 the functions will generate hierarchies of directories instead of having
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5231 all the files in the toplevel directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5232 (@file{~/News/alt/andrea-dworkin} instead of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5233 @file{~/News/alt.andrea-dworkin}.) This variable is @code{t} by default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5234 on most systems. However, for historical reasons, this is @code{nil} on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5235 Xenix and usg-unix-v machines by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5236
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5237 This function also affects kill and score file names. If this variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5238 is a list, and the list contains the element @code{not-score}, long file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5239 names will not be used for score files, if it contains the element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5240 @code{not-save}, long file names will not be used for saving, and if it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5241 contains the element @code{not-kill}, long file names will not be used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5242 for kill files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5243
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5244 If you'd like to save articles in a hierarchy that looks something like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5245 a spool, you could
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5246
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5247 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5248 (setq gnus-use-long-file-name '(not-save)) ; to get a hierarchy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5249 (setq gnus-default-article-save 'gnus-summary-save-in-file) ; no encoding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5250 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5251
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5252 Then just save with @kbd{o}. You'd then read this hierarchy with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5253 ephemeral @code{nneething} groups---@kbd{G D} in the group buffer, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5254 the toplevel directory as the argument (@file{~/News/}). Then just walk
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5255 around to the groups/directories with @code{nneething}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5256
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5257
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5258 @node Decoding Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5259 @section Decoding Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5260 @cindex decoding articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5261
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5262 Sometime users post articles (or series of articles) that have been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5263 encoded in some way or other. Gnus can decode them for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5264
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5265 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5266 * Uuencoded Articles:: Uudecode articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5267 * Shared Articles:: Unshar articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5268 * PostScript Files:: Split PostScript.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5269 * Decoding Variables:: Variables for a happy decoding.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5270 * Viewing Files:: You want to look at the result of the decoding?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5271 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5272
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5273 All these functions use the process/prefix convention
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5274 (@pxref{Process/Prefix}) for finding out what articles to work on, with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5275 the extension that a ``single article'' means ``a single series''. Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5276 can find out by itself what articles belong to a series, decode all the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5277 articles and unpack/view/save the resulting file(s).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5278
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5279 Gnus guesses what articles are in the series according to the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5280 simplish rule: The subjects must be (nearly) identical, except for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5281 last two numbers of the line. (Spaces are largely ignored, however.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5282
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5283 For example: If you choose a subject called @samp{cat.gif (2/3)}, Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5284 will find all the articles that match the regexp @samp{^cat.gif
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5285 ([0-9]+/[0-9]+).*$}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5286
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5287 Subjects that are nonstandard, like @samp{cat.gif (2/3) Part 6 of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5288 series}, will not be properly recognized by any of the automatic viewing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5289 commands, and you have to mark the articles manually with @kbd{#}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5290
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5291
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5292 @node Uuencoded Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5293 @subsection Uuencoded Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5294 @cindex uudecode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5295 @cindex uuencoded articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5296
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5297 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5298
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5299 @item X u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5300 @kindex X u (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5301 @findex gnus-uu-decode-uu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5302 Uudecodes the current series (@code{gnus-uu-decode-uu}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5303
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5304 @item X U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5305 @kindex X U (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5306 @findex gnus-uu-decode-uu-and-save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5307 Uudecodes and saves the current series
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5308 (@code{gnus-uu-decode-uu-and-save}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5309
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5310 @item X v u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5311 @kindex X v u (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5312 @findex gnus-uu-decode-uu-view
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5313 Uudecodes and views the current series (@code{gnus-uu-decode-uu-view}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5314
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5315 @item X v U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5316 @kindex X v U (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5317 @findex gnus-uu-decode-uu-and-save-view
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5318 Uudecodes, views and saves the current series
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5319 (@code{gnus-uu-decode-uu-and-save-view}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5320 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5321
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5322 Remember that these all react to the presence of articles marked with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5323 the process mark. If, for instance, you'd like to decode and save an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5324 entire newsgroup, you'd typically do @kbd{M P a}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5325 (@code{gnus-uu-mark-all}) and then @kbd{X U}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5326 (@code{gnus-uu-decode-uu-and-save}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5327
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5328 All this is very much different from how @code{gnus-uu} worked with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5329 @sc{gnus 4.1}, where you had explicit keystrokes for everything under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5330 the sun. This version of @code{gnus-uu} generally assumes that you mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5331 articles in some way (@pxref{Setting Process Marks}) and then press
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5332 @kbd{X u}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5333
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5334 @vindex gnus-uu-notify-files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5335 Note: When trying to decode articles that have names matching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5336 @code{gnus-uu-notify-files}, which is hard-coded to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5337 @samp{[Cc][Ii][Nn][Dd][Yy][0-9]+.\\(gif\\|jpg\\)}, @code{gnus-uu} will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5338 automatically post an article on @samp{comp.unix.wizards} saying that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5339 you have just viewed the file in question. This feature can't be turned
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5340 off.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5341
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5342
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5343 @node Shared Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5344 @subsection Shared Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5345 @cindex unshar
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5346 @cindex shared articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5347
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5348 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5349
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5350 @item X s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5351 @kindex X s (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5352 @findex gnus-uu-decode-unshar
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5353 Unshars the current series (@code{gnus-uu-decode-unshar}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5354
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5355 @item X S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5356 @kindex X S (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5357 @findex gnus-uu-decode-unshar-and-save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5358 Unshars and saves the current series (@code{gnus-uu-decode-unshar-and-save}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5359
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5360 @item X v s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5361 @kindex X v s (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5362 @findex gnus-uu-decode-unshar-view
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5363 Unshars and views the current series (@code{gnus-uu-decode-unshar-view}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5364
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5365 @item X v S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5366 @kindex X v S (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5367 @findex gnus-uu-decode-unshar-and-save-view
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5368 Unshars, views and saves the current series
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5369 (@code{gnus-uu-decode-unshar-and-save-view}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5370 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5371
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5372
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5373 @node PostScript Files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5374 @subsection PostScript Files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5375 @cindex PostScript
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5376
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5377 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5378
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5379 @item X p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5380 @kindex X p (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5381 @findex gnus-uu-decode-postscript
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5382 Unpack the current PostScript series (@code{gnus-uu-decode-postscript}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5383
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5384 @item X P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5385 @kindex X P (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5386 @findex gnus-uu-decode-postscript-and-save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5387 Unpack and save the current PostScript series
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5388 (@code{gnus-uu-decode-postscript-and-save}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5389
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5390 @item X v p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5391 @kindex X v p (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5392 @findex gnus-uu-decode-postscript-view
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5393 View the current PostScript series
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5394 (@code{gnus-uu-decode-postscript-view}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5395
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5396 @item X v P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5397 @kindex X v P (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5398 @findex gnus-uu-decode-postscript-and-save-view
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5399 View and save the current PostScript series
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5400 (@code{gnus-uu-decode-postscript-and-save-view}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5401 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5402
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5403
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5404 @node Decoding Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5405 @subsection Decoding Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5406
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5407 Adjective, not verb.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5408
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5409 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5410 * Rule Variables:: Variables that say how a file is to be viewed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5411 * Other Decode Variables:: Other decode variables.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5412 * Uuencoding and Posting:: Variables for customizing uuencoding.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5413 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5414
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5415
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5416 @node Rule Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5417 @subsubsection Rule Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5418 @cindex rule variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5419
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5420 Gnus uses @dfn{rule variables} to decide how to view a file. All these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5421 variables are on the form
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5422
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5423 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5424 (list '(regexp1 command2)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5425 '(regexp2 command2)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5426 ...)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5427 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5428
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5429 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5430
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5431 @item gnus-uu-user-view-rules
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5432 @vindex gnus-uu-user-view-rules
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5433 @cindex sox
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5434 This variable is consulted first when viewing files. If you wish to use,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5435 for instance, @code{sox} to convert an @samp{.au} sound file, you could
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5436 say something like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5437 @lisp
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5438 (setq gnus-uu-user-view-rules
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5439 (list '(\"\\\\.au$\" \"sox %s -t .aiff > /dev/audio\")))
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5440 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5441
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5442 @item gnus-uu-user-view-rules-end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5443 @vindex gnus-uu-user-view-rules-end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5444 This variable is consulted if Gnus couldn't make any matches from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5445 user and default view rules.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5446
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5447 @item gnus-uu-user-archive-rules
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5448 @vindex gnus-uu-user-archive-rules
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5449 This variable can be used to say what commands should be used to unpack
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5450 archives.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5451 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5452
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5453
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5454 @node Other Decode Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5455 @subsubsection Other Decode Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5456
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5457 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5458 @vindex gnus-uu-grabbed-file-functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5459
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5460 @item gnus-uu-grabbed-file-functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5461 All functions in this list will be called right each file has been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5462 successfully decoded---so that you can move or view files right away,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5463 and don't have to wait for all files to be decoded before you can do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5464 anything. Ready-made functions you can put in this list are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5465
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5466 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5467
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5468 @item gnus-uu-grab-view
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5469 @findex gnus-uu-grab-view
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5470 View the file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5471
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5472 @item gnus-uu-grab-move
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5473 @findex gnus-uu-grab-move
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5474 Move the file (if you're using a saving function.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5475 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5476
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5477 @item gnus-uu-be-dangerous
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5478 @vindex gnus-uu-be-dangerous
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5479 Specifies what to do if unusual situations arise during decoding. If
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5480 @code{nil}, be as conservative as possible. If @code{t}, ignore things
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5481 that didn't work, and overwrite existing files. Otherwise, ask each
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5482 time.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5483
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5484 @item gnus-uu-ignore-files-by-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5485 @vindex gnus-uu-ignore-files-by-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5486 Files with name matching this regular expression won't be viewed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5487
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5488 @item gnus-uu-ignore-files-by-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5489 @vindex gnus-uu-ignore-files-by-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5490 Files with a @sc{mime} type matching this variable won't be viewed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5491 Note that Gnus tries to guess what type the file is based on the name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5492 @code{gnus-uu} is not a @sc{mime} package (yet), so this is slightly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5493 kludgey.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5494
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5495 @item gnus-uu-tmp-dir
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5496 @vindex gnus-uu-tmp-dir
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5497 Where @code{gnus-uu} does its work.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5498
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5499 @item gnus-uu-do-not-unpack-archives
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5500 @vindex gnus-uu-do-not-unpack-archives
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5501 Non-@code{nil} means that @code{gnus-uu} won't peek inside archives
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5502 looking for files to display.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5503
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5504 @item gnus-uu-view-and-save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5505 @vindex gnus-uu-view-and-save
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5506 Non-@code{nil} means that the user will always be asked to save a file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5507 after viewing it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5508
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5509 @item gnus-uu-ignore-default-view-rules
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5510 @vindex gnus-uu-ignore-default-view-rules
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5511 Non-@code{nil} means that @code{gnus-uu} will ignore the default viewing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5512 rules.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5513
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5514 @item gnus-uu-ignore-default-archive-rules
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5515 @vindex gnus-uu-ignore-default-archive-rules
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5516 Non-@code{nil} means that @code{gnus-uu} will ignore the default archive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5517 unpacking commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5518
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5519 @item gnus-uu-kill-carriage-return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5520 @vindex gnus-uu-kill-carriage-return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5521 Non-@code{nil} means that @code{gnus-uu} will strip all carriage returns
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5522 from articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5523
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5524 @item gnus-uu-unmark-articles-not-decoded
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5525 @vindex gnus-uu-unmark-articles-not-decoded
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5526 Non-@code{nil} means that @code{gnus-uu} will mark articles that were
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5527 unsuccessfully decoded as unread.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5528
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5529 @item gnus-uu-correct-stripped-uucode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5530 @vindex gnus-uu-correct-stripped-uucode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5531 Non-@code{nil} means that @code{gnus-uu} will @emph{try} to fix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5532 uuencoded files that have had trailing spaces deleted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5533
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5534 @item gnus-uu-view-with-metamail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5535 @vindex gnus-uu-view-with-metamail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5536 @cindex metamail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5537 Non-@code{nil} means that @code{gnus-uu} will ignore the viewing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5538 commands defined by the rule variables and just fudge a @sc{mime}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5539 content type based on the file name. The result will be fed to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5540 @code{metamail} for viewing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5541
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5542 @item gnus-uu-save-in-digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5543 @vindex gnus-uu-save-in-digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5544 Non-@code{nil} means that @code{gnus-uu}, when asked to save without
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5545 decoding, will save in digests. If this variable is @code{nil},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5546 @code{gnus-uu} will just save everything in a file without any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5547 embellishments. The digesting almost conforms to RFC1153---no easy way
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5548 to specify any meaningful volume and issue numbers were found, so I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5549 simply dropped them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5550
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5551 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5552
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5553
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5554 @node Uuencoding and Posting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5555 @subsubsection Uuencoding and Posting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5556
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5557 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5558
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5559 @item gnus-uu-post-include-before-composing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5560 @vindex gnus-uu-post-include-before-composing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5561 Non-@code{nil} means that @code{gnus-uu} will ask for a file to encode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5562 before you compose the article. If this variable is @code{t}, you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5563 either include an encoded file with @kbd{C-c C-i} or have one included
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5564 for you when you post the article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5565
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5566 @item gnus-uu-post-length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5567 @vindex gnus-uu-post-length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5568 Maximum length of an article. The encoded file will be split into how
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5569 many articles it takes to post the entire file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5570
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5571 @item gnus-uu-post-threaded
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5572 @vindex gnus-uu-post-threaded
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5573 Non-@code{nil} means that @code{gnus-uu} will post the encoded file in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5574 thread. This may not be smart, as no other decoder I have seen are able
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5575 to follow threads when collecting uuencoded articles. (Well, I have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5576 seen one package that does that---@code{gnus-uu}, but somehow, I don't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5577 think that counts...) Default is @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5578
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5579 @item gnus-uu-post-separate-description
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5580 @vindex gnus-uu-post-separate-description
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5581 Non-@code{nil} means that the description will be posted in a separate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5582 article. The first article will typically be numbered (0/x). If this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5583 variable is @code{nil}, the description the user enters will be included
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5584 at the beginning of the first article, which will be numbered (1/x).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5585 Default is @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5586
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5587 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5588
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5589
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5590 @node Viewing Files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5591 @subsection Viewing Files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5592 @cindex viewing files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5593 @cindex pseudo-articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5594
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5595 After decoding, if the file is some sort of archive, Gnus will attempt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5596 to unpack the archive and see if any of the files in the archive can be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5597 viewed. For instance, if you have a gzipped tar file @file{pics.tar.gz}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5598 containing the files @file{pic1.jpg} and @file{pic2.gif}, Gnus will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5599 uncompress and de-tar the main file, and then view the two pictures.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5600 This unpacking process is recursive, so if the archive contains archives
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5601 of archives, it'll all be unpacked.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5602
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5603 Finally, Gnus will normally insert a @dfn{pseudo-article} for each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5604 extracted file into the summary buffer. If you go to these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5605 ``articles'', you will be prompted for a command to run (usually Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5606 will make a suggestion), and then the command will be run.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5607
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5608 @vindex gnus-view-pseudo-asynchronously
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5609 If @code{gnus-view-pseudo-asynchronously} is @code{nil}, Emacs will wait
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5610 until the viewing is done before proceeding.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5611
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5612 @vindex gnus-view-pseudos
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5613 If @code{gnus-view-pseudos} is @code{automatic}, Gnus will not insert
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5614 the pseudo-articles into the summary buffer, but view them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5615 immediately. If this variable is @code{not-confirm}, the user won't even
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5616 be asked for a confirmation before viewing is done.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5617
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5618 @vindex gnus-view-pseudos-separately
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5619 If @code{gnus-view-pseudos-separately} is non-@code{nil}, one
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5620 pseudo-article will be created for each file to be viewed. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5621 @code{nil}, all files that use the same viewing command will be given as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5622 a list of parameters to that command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5623
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5624 @vindex gnus-insert-pseudo-articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5625 If @code{gnus-insert-pseudo-articles} is non-@code{nil}, insert
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5626 pseudo-articles when decoding. It is @code{t} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5627
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5628 So; there you are, reading your @emph{pseudo-articles} in your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5629 @emph{virtual newsgroup} from the @emph{virtual server}; and you think:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5630 Why isn't anything real anymore? How did we get here?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5631
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5632
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5633 @node Article Treatment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5634 @section Article Treatment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5635
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5636 Reading through this huge manual, you may have quite forgotten that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5637 object of newsreaders are to actually, like, read what people have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5638 written. Reading articles. Unfortunately, people are quite bad at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5639 writing, so there are tons of functions and variables to make reading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5640 these articles easier.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5641
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5642 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5643 * Article Highlighting:: You want to make the article look like fruit salad.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5644 * Article Fontisizing:: Making emphasized text look niced.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5645 * Article Hiding:: You also want to make certain info go away.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5646 * Article Washing:: Lots of way-neat functions to make life better.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5647 * Article Buttons:: Click on URLs, Message-IDs, addresses and the like.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5648 * Article Date:: Grumble, UT!
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5649 * Article Signature:: What is a signature?
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5650 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5651
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5652
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5653 @node Article Highlighting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5654 @subsection Article Highlighting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5655 @cindex highlight
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5656
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5657 Not only do you want your article buffer to look like fruit salad, but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5658 you want it to look like technicolor fruit salad.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5659
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5660 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5661
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5662 @item W H a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5663 @kindex W H a (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5664 @findex gnus-article-highlight
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5665 Highlight the current article (@code{gnus-article-highlight}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5666
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5667 @item W H h
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5668 @kindex W H h (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5669 @findex gnus-article-highlight-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5670 @vindex gnus-header-face-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5671 Highlight the headers (@code{gnus-article-highlight-headers}). The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5672 highlighting will be done according to the @code{gnus-header-face-alist}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5673 variable, which is a list where each element has the form @var{(regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5674 name content)}. @var{regexp} is a regular expression for matching the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5675 header, @var{name} is the face used for highlighting the header name and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5676 @var{content} is the face for highlighting the header value. The first
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5677 match made will be used. Note that @var{regexp} shouldn't have @samp{^}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5678 prepended---Gnus will add one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5679
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5680 @item W H c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5681 @kindex W H c (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5682 @findex gnus-article-highlight-citation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5683 Highlight cited text (@code{gnus-article-highlight-citation}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5684
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5685 Some variables to customize the citation highlights:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5686
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5687 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5688 @vindex gnus-cite-parse-max-size
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5689
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5690 @item gnus-cite-parse-max-size
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5691 If the article size if bigger than this variable (which is 25000 by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5692 default), no citation highlighting will be performed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5693
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5694 @item gnus-cite-prefix-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5695 @vindex gnus-cite-prefix-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5696 Regexp matching the longest possible citation prefix on a line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5697
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5698 @item gnus-cite-max-prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5699 @vindex gnus-cite-max-prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5700 Maximum possible length for a citation prefix (default 20).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5701
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5702 @item gnus-cite-face-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5703 @vindex gnus-cite-face-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5704 List of faces used for highlighting citations. When there are citations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5705 from multiple articles in the same message, Gnus will try to give each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5706 citation from each article its own face. This should make it easier to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5707 see who wrote what.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5708
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5709 @item gnus-supercite-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5710 @vindex gnus-supercite-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5711 Regexp matching normal Supercite attribution lines.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5712
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5713 @item gnus-supercite-secondary-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5714 @vindex gnus-supercite-secondary-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5715 Regexp matching mangled Supercite attribution lines.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5716
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5717 @item gnus-cite-minimum-match-count
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5718 @vindex gnus-cite-minimum-match-count
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5719 Minimum number of identical prefixes we have to see before we believe
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5720 that it's a citation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5721
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5722 @item gnus-cite-attribution-prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5723 @vindex gnus-cite-attribution-prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5724 Regexp matching the beginning of an attribution line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5725
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5726 @item gnus-cite-attribution-suffix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5727 @vindex gnus-cite-attribution-suffix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5728 Regexp matching the end of an attribution line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5729
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5730 @item gnus-cite-attribution-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5731 @vindex gnus-cite-attribution-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5732 Face used for attribution lines. It is merged with the face for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5733 cited text belonging to the attribution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5734
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5735 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5736
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5737
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5738 @item W H s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5739 @kindex W H s (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5740 @vindex gnus-signature-separator
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5741 @vindex gnus-signature-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5742 @findex gnus-article-highlight-signature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5743 Highlight the signature (@code{gnus-article-highlight-signature}).
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5744 Everything after @code{gnus-signature-separator} (@pxref{Article
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5745 Signature}) in an article will be considered a signature and will be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5746 highlighted with @code{gnus-signature-face}, which is @code{italic} by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5747 default.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5748
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5749 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5750
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5751
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5752 @node Article Fontisizing
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5753 @subsection Article Fontisizing
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5754 @cindex emphasis
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5755 @cindex article emphasis
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5756
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5757 @findex gnus-article-emphasize
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5758 @kindex W e (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5759 People commonly add emphasis to words in news articles by writing things
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5760 like @samp{_this_} or @samp{*this*}. Gnus can make this look nicer by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5761 running the article through the @kbd{W e}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5762 (@code{gnus-article-emphasize}) command.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5763
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5764 @vindex gnus-article-emphasis
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5765 How the emphasis is computed is controlled by the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5766 @code{gnus-article-emphasis} variable. This is an alist where the first
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5767 element is a regular expression to be matched. The second is a number
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5768 that says what regular expression grouping used to find the entire
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5769 emphasized word. The third is a number that says what regexp grouping
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5770 should be displayed and highlighted. (The text between these two
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5771 groupings will be hidden.) The fourth is the face used for
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5772 highlighting.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5773
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5774 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5775 (setq gnus-article-emphasis
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5776 '(("_\\(\\w+\\)_" 0 1 gnus-emphasis-underline)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5777 ("\\*\\(\\w+\\)\\*" 0 1 gnus-emphasis-bold)))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5778 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5779
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5780 @vindex gnus-emphasis-underline
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5781 @vindex gnus-emphasis-bold
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5782 @vindex gnus-emphasis-italic
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5783 @vindex gnus-emphasis-underline-bold
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5784 @vindex gnus-emphasis-underline-italic
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5785 @vindex gnus-emphasis-bold-italic
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5786 @vindex gnus-emphasis-underline-bold-italic
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5787 By default, there are seven rules, and they use the following faces:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5788 @code{gnus-emphasis-bold}, @code{gnus-emphasis-italic},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5789 @code{gnus-emphasis-underline}, @code{gnus-emphasis-bold-italic},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5790 @code{gnus-emphasis-underline-italic},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5791 @code{gnus-emphasis-undeline-bold}, and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5792 @code{gnus-emphasis-underline-bold-italic}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5793
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5794 If you want to change these faces, you can either use @kbd{M-x
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5795 customize}, or you can use @code{copy-face}. For instance, if you want
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5796 to make @code{gnus-emphasis-italic} use a red face instead, you could
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5797 say something like:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5798
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5799 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5800 (copy-face 'red 'gnus-emphasis-italic)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5801 @end lisp
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5802
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5803
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5804 @node Article Hiding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5805 @subsection Article Hiding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5806 @cindex article hiding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5807
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5808 Or rather, hiding certain things in each article. There usually is much
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5809 too much cruft in most articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5810
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5811 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5812
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5813 @item W W a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5814 @kindex W W a (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5815 @findex gnus-article-hide
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5816 Do maximum hiding on the summary buffer (@kbd{gnus-article-hide}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5817
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5818 @item W W h
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5819 @kindex W W h (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5820 @findex gnus-article-hide-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5821 Hide headers (@code{gnus-article-hide-headers}). @xref{Hiding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5822 Headers}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5823
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5824 @item W W b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5825 @kindex W W b (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5826 @findex gnus-article-hide-boring-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5827 Hide headers that aren't particularly interesting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5828 (@code{gnus-article-hide-boring-headers}). @xref{Hiding Headers}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5829
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5830 @item W W s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5831 @kindex W W s (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5832 @findex gnus-article-hide-signature
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5833 Hide signature (@code{gnus-article-hide-signature}). @xref{Article
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5834 Signature}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5835
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5836 @item W W p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5837 @kindex W W p (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5838 @findex gnus-article-hide-pgp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5839 Hide @sc{pgp} signatures (@code{gnus-article-hide-pgp}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5840
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5841 @item W W P
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5842 @kindex W W P (Summary)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5843 @findex gnus-article-hide-pem
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5844 Hide @sc{pem} (privacy enhanced messages) gruft
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5845 (@code{gnus-article-hide-pem}).
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5846
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5847 @item W W c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5848 @kindex W W c (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5849 @findex gnus-article-hide-citation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5850 Hide citation (@code{gnus-article-hide-citation}). Some variables for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5851 customizing the hiding:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5852
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5853 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5854
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5855 @item gnus-cite-hide-percentage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5856 @vindex gnus-cite-hide-percentage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5857 If the cited text is of a bigger percentage than this variable (default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5858 50), hide the cited text.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5859
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5860 @item gnus-cite-hide-absolute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5861 @vindex gnus-cite-hide-absolute
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5862 The cited text must be have at least this length (default 10) before it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5863 is hidden.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5864
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5865 @item gnus-cited-text-button-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5866 @vindex gnus-cited-text-button-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5867 Gnus adds buttons show where the cited text has been hidden, and to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5868 allow toggle hiding the text. The format of the variable is specified
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5869 by this format-like variable (@pxref{Formatting Variables}). These
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5870 specs are legal:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5871
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5872 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5873 @item b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5874 Start point of the hidden text.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5875 @item e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5876 End point of the hidden text.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5877 @item l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5878 Length of the hidden text.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5879 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5880
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5881 @item gnus-cited-lines-visible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5882 @vindex gnus-cited-lines-visible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5883 The number of lines at the beginning of the cited text to leave shown.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5884
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5885 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5886
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5887 @item W W C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5888 @kindex W W C (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5889 @findex gnus-article-hide-citation-in-followups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5890 Hide cited text in articles that aren't roots
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5891 (@code{gnus-article-hide-citation-in-followups}). This isn't very
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5892 useful as an interactive command, but might be a handy function to stick
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5893 in @code{gnus-article-display-hook} (@pxref{Customizing Articles}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5894
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5895 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5896
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5897 All these ``hiding'' commands are toggles, but if you give a negative
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5898 prefix to these commands, they will show what they have previously
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5899 hidden. If you give a positive prefix, they will always hide.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5900
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5901 Also @pxref{Article Highlighting} for further variables for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5902 citation customization.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5903
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5904
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5905 @node Article Washing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5906 @subsection Article Washing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5907 @cindex washing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5908 @cindex article washing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5909
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5910 We call this ``article washing'' for a really good reason. Namely, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5911 @kbd{A} key was taken, so we had to use the @kbd{W} key instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5912
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5913 @dfn{Washing} is defined by us as ``changing something from something to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5914 something else'', but normally results in something looking better.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5915 Cleaner, perhaps.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5916
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5917 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5918
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5919 @item W l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5920 @kindex W l (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5921 @findex gnus-summary-stop-page-breaking
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5922 Remove page breaks from the current article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5923 (@code{gnus-summary-stop-page-breaking}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5924
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5925 @item W r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5926 @kindex W r (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5927 @findex gnus-summary-caesar-message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5928 Do a Caesar rotate (rot13) on the article buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5929 (@code{gnus-summary-caesar-message}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5930
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5931 @item W t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5932 @kindex W t (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5933 @findex gnus-summary-toggle-header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5934 Toggle whether to display all headers in the article buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5935 (@code{gnus-summary-toggle-header}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5936
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5937 @item W v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5938 @kindex W v (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5939 @findex gnus-summary-verbose-header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5940 Toggle whether to display all headers in the article buffer permanently
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5941 (@code{gnus-summary-verbose-header}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5942
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5943 @item W m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5944 @kindex W m (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5945 @findex gnus-summary-toggle-mime
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5946 Toggle whether to run the article through @sc{mime} before displaying
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5947 (@code{gnus-summary-toggle-mime}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5948
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5949 @item W o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5950 @kindex W o (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5951 @findex gnus-article-treat-overstrike
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5952 Treat overstrike (@code{gnus-article-treat-overstrike}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5953
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5954 @item W w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5955 @kindex W w (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5956 @findex gnus-article-fill-cited-article
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5957 Do word wrap (@code{gnus-article-fill-cited-article}). If you use this
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5958 function in @code{gnus-article-display-hook}, it should be run fairly
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5959 late and certainly after any highlighting.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5960
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5961 You can give the command a numerical prefix to specify the width to use
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5962 when filling.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
5963
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5964 @item W c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5965 @kindex W c (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5966 @findex gnus-article-remove-cr
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5967 Remove CR (@code{gnus-article-remove-cr}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5968
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5969 @item W q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5970 @kindex W q (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5971 @findex gnus-article-de-quoted-unreadable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5972 Treat quoted-printable (@code{gnus-article-de-quoted-unreadable}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5973
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5974 @item W f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5975 @kindex W f (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5976 @cindex x-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5977 @findex gnus-article-display-x-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5978 @findex gnus-article-x-face-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5979 @vindex gnus-article-x-face-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5980 @vindex gnus-article-x-face-too-ugly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5981 Look for and display any X-Face headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5982 (@code{gnus-article-display-x-face}). The command executed by this
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5983 function is given by the @code{gnus-article-x-face-command} variable.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5984 If this variable is a string, this string will be executed in a
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5985 sub-shell. If it is a function, this function will be called with the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5986 face as the argument. If the @code{gnus-article-x-face-too-ugly} (which
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5987 is a regexp) matches the @code{From} header, the face will not be shown.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5988 The default action under Emacs is to fork off an @code{xv} to view the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5989 face; under XEmacs the default action is to display the face before the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5990 @code{From} header. (It's nicer if XEmacs has been compiled with X-Face
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5991 support---that will make display somewhat faster. If there's no native
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5992 X-Face support, Gnus will try to convert the @code{X-Face} header using
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5993 external programs from the @code{pbmplus} package and friends.) If you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5994 want to have this function in the display hook, it should probably come
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
5995 last.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5996
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5997 @item W b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5998 @kindex W b (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5999 @findex gnus-article-add-buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6000 Add clickable buttons to the article (@code{gnus-article-add-buttons}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6001
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6002 @item W B
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6003 @kindex W B (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6004 @findex gnus-article-add-buttons-to-head
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6005 Add clickable buttons to the article headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6006 (@code{gnus-article-add-buttons-to-head}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6007
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6008 @item W E l
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6009 @kindex W E l (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6010 @findex gnus-article-strip-leading-blank-lines
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6011 Remove all blank lines from the beginning of the article
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6012 (@code{gnus-article-strip-leading-blank-lines}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6013
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6014 @item W E m
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6015 @kindex W E m (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6016 @findex gnus-article-strip-multiple-blank-lines
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6017 Replace all blank lines with empty lines and then all multiple empty
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6018 lines with a single empty line.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6019 (@code{gnus-article-strip-multiple-blank-lines}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6020
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6021 @item W E t
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6022 @kindex W E t (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6023 @findex gnus-article-remove-trailing-blank-lines
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6024 Remove all blank lines at the end of the article
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6025 (@code{gnus-article-remove-trailing-blank-lines}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6026
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6027 @item W E a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6028 @kindex W E a (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6029 @findex gnus-article-strip-blank-lines
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6030 Do all the three commands above
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6031 (@code{gnus-article-strip-blank-lines}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6032
36
c53a95d3c46d Import from CVS: tag r19-15b101
cvs
parents: 34
diff changeset
6033 @item W E s
c53a95d3c46d Import from CVS: tag r19-15b101
cvs
parents: 34
diff changeset
6034 @kindex W E s (Summary)
c53a95d3c46d Import from CVS: tag r19-15b101
cvs
parents: 34
diff changeset
6035 @findex gnus-article-strip-leading-space
c53a95d3c46d Import from CVS: tag r19-15b101
cvs
parents: 34
diff changeset
6036 Remove all white space from the beginning of all lines of the article
c53a95d3c46d Import from CVS: tag r19-15b101
cvs
parents: 34
diff changeset
6037 body (@code{gnus-article-strip-leading-space}).
c53a95d3c46d Import from CVS: tag r19-15b101
cvs
parents: 34
diff changeset
6038
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6039 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6040
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6041
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6042 @node Article Buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6043 @subsection Article Buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6044 @cindex buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6045
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6046 People often include references to other stuff in articles, and it would
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6047 be nice if Gnus could just fetch whatever it is that people talk about
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6048 with the minimum of fuzz.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6049
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6050 Gnus adds @dfn{buttons} to certain standard references by default:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6051 Well-formed URLs, mail addresses and Message-IDs. This is controlled by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6052 two variables, one that handles article bodies and one that handles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6053 article heads:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6054
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6055 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6056
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6057 @item gnus-button-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6058 @vindex gnus-button-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6059 This is an alist where each entry has this form:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6060
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6061 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6062 (REGEXP BUTTON-PAR USE-P FUNCTION DATA-PAR)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6063 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6064
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6065 @table @var
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6066
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6067 @item regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6068 All text that match this regular expression will be considered an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6069 external reference. Here's a typical regexp that match embedded URLs:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6070 @samp{<URL:\\([^\n\r>]*\\)>}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6071
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6072 @item button-par
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6073 Gnus has to know which parts of the match is to be highlighted. This is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6074 a number that says what sub-expression of the regexp that is to be
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6075 highlighted. If you want it all highlighted, you use 0 here.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6076
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6077 @item use-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6078 This form will be @code{eval}ed, and if the result is non-@code{nil},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6079 this is considered a match. This is useful if you want extra sifting to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6080 avoid false matches.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6081
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6082 @item function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6083 This function will be called when you click on this button.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6084
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6085 @item data-par
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6086 As with @var{button-par}, this is a sub-expression number, but this one
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6087 says which part of the match is to be sent as data to @var{function}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6088
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6089 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6090
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6091 So the full entry for buttonizing URLs is then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6092
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6093 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6094 ("<URL:\\([^\n\r>]*\\)>" 0 t gnus-button-url 1)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6095 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6096
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6097 @item gnus-header-button-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6098 @vindex gnus-header-button-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6099 This is just like the other alist, except that it is applied to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6100 article head only, and that each entry has an additional element that is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6101 used to say what headers to apply the buttonize coding to:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6102
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6103 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6104 (HEADER REGEXP BUTTON-PAR USE-P FUNCTION DATA-PAR)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6105 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6106
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6107 @var{header} is a regular expression.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6108
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6109 @item gnus-button-url-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6110 @vindex gnus-button-url-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6111 A regular expression that matches embedded URLs. It is used in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6112 default values of the variables above.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6113
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6114 @item gnus-article-button-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6115 @vindex gnus-article-button-face
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6116 Face used on buttons.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6117
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6118 @item gnus-article-mouse-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6119 @vindex gnus-article-mouse-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6120 Face is used when the mouse cursor is over a button.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6121
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6122 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6123
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6124
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6125 @node Article Date
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6126 @subsection Article Date
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6127
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6128 The date is most likely generated in some obscure timezone you've never
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6129 heard of, so it's quite nice to be able to find out what the time was
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6130 when the article was sent.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6131
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6132 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6133
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6134 @item W T u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6135 @kindex W T u (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6136 @findex gnus-article-date-ut
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6137 Display the date in UT (aka. GMT, aka ZULU)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6138 (@code{gnus-article-date-ut}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6139
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6140 @item W T l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6141 @kindex W T l (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6142 @findex gnus-article-date-local
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6143 Display the date in the local timezone (@code{gnus-article-date-local}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6144
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6145 @item W T s
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6146 @kindex W T s (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6147 @vindex gnus-article-time-format
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6148 @findex gnus-article-date-user
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6149 @findex format-time-string
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6150 Display the date using a user-defined format
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6151 (@code{gnus-article-date-user}). The format is specified by the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6152 @code{gnus-article-time-format} variable, and is a string that's passed
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6153 to @code{format-time-string}. See the documentation of that variable
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6154 for a list possible format specs.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6155
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6156 @item W T e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6157 @kindex W T e (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6158 @findex gnus-article-date-lapsed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6159 Say how much time has (e)lapsed between the article was posted and now
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6160 (@code{gnus-article-date-lapsed}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6161
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6162 @item W T o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6163 @kindex W T o (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6164 @findex gnus-article-date-original
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6165 Display the original date (@code{gnus-article-date-original}). This can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6166 be useful if you normally use some other conversion function and is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6167 worried that it might be doing something totally wrong. Say, claiming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6168 that the article was posted in 1854. Although something like that is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6169 @emph{totally} impossible. Don't you trust me? *titter*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6170
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6171 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6172
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6173
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6174 @node Article Signature
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6175 @subsection Article Signature
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6176 @cindex signatures
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6177 @cindex article signature
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6178
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6179 @vindex gnus-signature-separator
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6180 Each article is divided into two parts---the head and the body. The
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6181 body can be divided into a signature part and a text part. The variable
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6182 that says what is to be considered a signature is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6183 @code{gnus-signature-separator}. This is normally the standard
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6184 @samp{^-- $} as mandated by son-of-RFC 1036. However, many people use
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6185 non-standard signature separators, so this variable can also be a list
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6186 of regular expressions to be tested, one by one. (Searches are done
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6187 from the end of the body towards the beginning.) One likely value is:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6188
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6189 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6190 (setq gnus-signature-separator
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6191 '("^-- $" ; The standard
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6192 "^-- *$" ; A common mangling
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6193 "^-------*$" ; Many people just use a looong
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6194 ; line of dashes. Shame!
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6195 "^ *--------*$" ; Double-shame!
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6196 "^________*$" ; Underscores are also popular
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6197 "^========*$")) ; Pervert!
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6198 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6199
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6200 The more permissive you are, the more likely it is that you'll get false
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6201 positives.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6202
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6203 @vindex gnus-signature-limit
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6204 @code{gnus-signature-limit} provides a limit to what is considered a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6205 signature.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6206
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6207 @enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6208 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6209 If it is an integer, no signature may be longer (in characters) than
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6210 that integer.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6211 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6212 If it is a floating point number, no signature may be longer (in lines)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6213 than that number.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6214 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6215 If it is a function, the function will be called without any parameters,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6216 and if it returns @code{nil}, there is no signature in the buffer.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6217 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6218 If it is a string, it will be used as a regexp. If it matches, the text
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6219 in question is not a signature.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6220 @end enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6221
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6222 This variable can also be a list where the elements may be of the types
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6223 listed above.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6224
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6225
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6226 @node Article Commands
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6227 @section Article Commands
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6228
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6229 @table @kbd
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6230
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6231 @item A P
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6232 @cindex PostScript
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6233 @cindex printing
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6234 @kindex A P (Summary)
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 18
diff changeset
6235 @vindex gnus-ps-print-hook
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6236 @findex gnus-summary-print-article
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6237 Generate and print a PostScript image of the article buffer
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 18
diff changeset
6238 (@code{gnus-summary-print-article}). @code{gnus-ps-print-hook} will be
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 18
diff changeset
6239 run just before printing the buffer.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6240
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6241 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6242
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6243
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6244 @node Summary Sorting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6245 @section Summary Sorting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6246 @cindex summary sorting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6247
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6248 You can have the summary buffer sorted in various ways, even though I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6249 can't really see why you'd want that.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6250
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6251 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6252
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6253 @item C-c C-s C-n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6254 @kindex C-c C-s C-n (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6255 @findex gnus-summary-sort-by-number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6256 Sort by article number (@code{gnus-summary-sort-by-number}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6257
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6258 @item C-c C-s C-a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6259 @kindex C-c C-s C-a (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6260 @findex gnus-summary-sort-by-author
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6261 Sort by author (@code{gnus-summary-sort-by-author}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6262
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6263 @item C-c C-s C-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6264 @kindex C-c C-s C-s (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6265 @findex gnus-summary-sort-by-subject
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6266 Sort by subject (@code{gnus-summary-sort-by-subject}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6267
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6268 @item C-c C-s C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6269 @kindex C-c C-s C-d (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6270 @findex gnus-summary-sort-by-date
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6271 Sort by date (@code{gnus-summary-sort-by-date}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6272
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6273 @item C-c C-s C-l
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6274 @kindex C-c C-s C-l (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6275 @findex gnus-summary-sort-by-lines
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6276 Sort by lines (@code{gnus-summary-sort-by-lines}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6277
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6278 @item C-c C-s C-i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6279 @kindex C-c C-s C-i (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6280 @findex gnus-summary-sort-by-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6281 Sort by score (@code{gnus-summary-sort-by-score}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6282 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6283
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6284 These functions will work both when you use threading and when you don't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6285 use threading. In the latter case, all summary lines will be sorted,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6286 line by line. In the former case, sorting will be done on a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6287 root-by-root basis, which might not be what you were looking for. To
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6288 toggle whether to use threading, type @kbd{T T} (@pxref{Thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6289 Commands}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6290
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6291
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6292 @node Finding the Parent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6293 @section Finding the Parent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6294 @cindex parent articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6295 @cindex referring articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6296
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6297 @findex gnus-summary-refer-parent-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6298 @kindex ^ (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6299 If you'd like to read the parent of the current article, and it is not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6300 displayed in the summary buffer, you might still be able to. That is,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6301 if the current group is fetched by @sc{nntp}, the parent hasn't expired
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6302 and the @code{References} in the current article are not mangled, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6303 can just press @kbd{^} or @kbd{A r}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6304 (@code{gnus-summary-refer-parent-article}). If everything goes well,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6305 you'll get the parent. If the parent is already displayed in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6306 summary buffer, point will just move to this article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6307
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6308 If given a positive numerical prefix, fetch that many articles back into
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6309 the ancestry. If given a negative numerical prefix, fetch just that
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6310 ancestor. So if you say @kbd{3 ^}, Gnus will fetch the parent, the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6311 grandparent and the grandgrandparent of the current article. If you say
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6312 @kbd{-3 ^}, Gnus will only fetch the grandgrandparent of the current
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6313 article.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6314
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6315 @findex gnus-summary-refer-references
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6316 @kindex A R (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6317 You can have Gnus fetch all articles mentioned in the @code{References}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6318 header of the article by pushing @kbd{A R}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6319 (@code{gnus-summary-refer-references}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6320
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6321 @findex gnus-summary-refer-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6322 @kindex M-^ (Summary)
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6323 @cindex Message-ID
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6324 @cindex fetching by Message-ID
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6325 You can also ask the @sc{nntp} server for an arbitrary article, no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6326 matter what group it belongs to. @kbd{M-^}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6327 (@code{gnus-summary-refer-article}) will ask you for a
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6328 @code{Message-ID}, which is one of those long, hard-to-read thingies
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6329 that look something like @samp{<38o6up$6f2@@hymir.ifi.uio.no>}. You
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6330 have to get it all exactly right. No fuzzy searches, I'm afraid.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6331
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6332 @vindex gnus-refer-article-method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6333 If the group you are reading is located on a backend that does not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6334 support fetching by @code{Message-ID} very well (like @code{nnspool}),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6335 you can set @code{gnus-refer-article-method} to an @sc{nntp} method. It
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6336 would, perhaps, be best if the @sc{nntp} server you consult is the same
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6337 as the one that keeps the spool you are reading from updated, but that's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6338 not really necessary.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6339
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6340 Most of the mail backends support fetching by @code{Message-ID}, but do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6341 not do a particularly excellent job of it. That is, @code{nnmbox} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6342 @code{nnbabyl} are able to locate articles from any groups, while
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6343 @code{nnml} and @code{nnfolder} are only able to locate articles that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6344 have been posted to the current group. (Anything else would be too time
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6345 consuming.) @code{nnmh} does not support this at all.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6346
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6347
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6348 @node Alternative Approaches
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6349 @section Alternative Approaches
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6350
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6351 Different people like to read news using different methods. This being
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6352 Gnus, we offer a small selection of minor modes for the summary buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6353
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6354 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6355 * Pick and Read:: First mark articles and then read them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6356 * Binary Groups:: Auto-decode all articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6357 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6358
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6359
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6360 @node Pick and Read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6361 @subsection Pick and Read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6362 @cindex pick and read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6363
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6364 Some newsreaders (like @code{nn} and, uhm, @code{nn}) use a two-phased
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6365 reading interface. The user first marks the articles she wants to read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6366 from a summary buffer. Then she starts reading the articles with just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6367 an article buffer displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6368
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6369 @findex gnus-pick-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6370 @kindex M-x gnus-pick-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6371 Gnus provides a summary buffer minor mode that allows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6372 this---@code{gnus-pick-mode}. This basically means that a few process
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6373 mark commands become one-keystroke commands to allow easy marking, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6374 it makes one additional command for switching to the summary buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6375 available.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6376
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6377 Here are the available keystrokes when using pick mode:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6378
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6379 @table @kbd
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6380 @item .
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6381 @kindex . (Pick)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6382 @findex gnus-summary-mark-as-processable
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6383 Pick the article on the current line
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6384 (@code{gnus-summary-mark-as-processable}). If given a numerical prefix,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6385 go to the article on that line and pick that article. (The line number
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6386 is normally displayed on the beginning of the summary pick lines.)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6387
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6388 @item SPACE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6389 @kindex SPACE (Pick)
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6390 @findex gnus-pick-next-page
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6391 Scroll the summary buffer up one page (@code{gnus-pick-next-page}). If
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6392 at the end of the buffer, start reading the picked articles.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6393
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6394 @item u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6395 @kindex u (Pick)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6396 @findex gnus-summary-unmark-as-processable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6397 Unpick the article (@code{gnus-summary-unmark-as-processable}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6398
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6399 @item U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6400 @kindex U (Pick)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6401 @findex gnus-summary-unmark-all-processable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6402 Unpick all articles (@code{gnus-summary-unmark-all-processable}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6403
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6404 @item t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6405 @kindex t (Pick)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6406 @findex gnus-uu-mark-thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6407 Pick the thread (@code{gnus-uu-mark-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6408
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6409 @item T
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6410 @kindex T (Pick)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6411 @findex gnus-uu-unmark-thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6412 Unpick the thread (@code{gnus-uu-unmark-thread}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6413
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6414 @item r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6415 @kindex r (Pick)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6416 @findex gnus-uu-mark-region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6417 Pick the region (@code{gnus-uu-mark-region}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6418
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6419 @item R
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6420 @kindex R (Pick)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6421 @findex gnus-uu-unmark-region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6422 Unpick the region (@code{gnus-uu-unmark-region}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6423
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6424 @item e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6425 @kindex e (Pick)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6426 @findex gnus-uu-mark-by-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6427 Pick articles that match a regexp (@code{gnus-uu-mark-by-regexp}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6428
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6429 @item E
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6430 @kindex E (Pick)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6431 @findex gnus-uu-unmark-by-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6432 Unpick articles that match a regexp (@code{gnus-uu-unmark-by-regexp}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6433
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6434 @item b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6435 @kindex b (Pick)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6436 @findex gnus-uu-mark-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6437 Pick the buffer (@code{gnus-uu-mark-buffer}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6438
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6439 @item B
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6440 @kindex B (Pick)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6441 @findex gnus-uu-unmark-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6442 Unpick the buffer (@code{gnus-uu-unmark-buffer}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6443
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6444 @item RET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6445 @kindex RET (Pick)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6446 @findex gnus-pick-start-reading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6447 @vindex gnus-pick-display-summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6448 Start reading the picked articles (@code{gnus-pick-start-reading}). If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6449 given a prefix, mark all unpicked articles as read first. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6450 @code{gnus-pick-display-summary} is non-@code{nil}, the summary buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6451 will still be visible when you are reading.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6452
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6453 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6454
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6455 If this sounds like a good idea to you, you could say:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6456
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6457 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6458 (add-hook 'gnus-summary-mode-hook 'gnus-pick-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6459 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6460
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6461 @vindex gnus-pick-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6462 @code{gnus-pick-mode-hook} is run in pick minor mode buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6463
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6464 @vindex gnus-mark-unpicked-articles-as-read
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6465 If @code{gnus-mark-unpicked-articles-as-read} is non-@code{nil}, mark
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6466 all unpicked articles as read. The default is @code{nil}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6467
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6468 @vindex gnus-summary-pick-line-format
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6469 The summary line format in pick mode is slightly different than the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6470 standard format. At the beginning of each line the line number is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6471 displayed. The pick mode line format is controlled by the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6472 @code{gnus-summary-pick-line-format} variable (@pxref{Formatting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6473 Variables}). It accepts the same format specs that
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6474 @code{gnus-summary-line-format} does (@pxref{Summary Buffer Lines}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6475
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6476
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6477 @node Binary Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6478 @subsection Binary Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6479 @cindex binary groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6480
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6481 @findex gnus-binary-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6482 @kindex M-x gnus-binary-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6483 If you spend much time in binary groups, you may grow tired of hitting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6484 @kbd{X u}, @kbd{n}, @kbd{RET} all the time. @kbd{M-x gnus-binary-mode}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6485 is a minor mode for summary buffers that makes all ordinary Gnus article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6486 selection functions uudecode series of articles and display the result
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6487 instead of just displaying the articles the normal way.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6488
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6489 @kindex g (Binary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6490 @findex gnus-binary-show-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6491 In fact, the only way to see the actual articles if you have turned this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6492 mode on is the @kbd{g} command (@code{gnus-binary-show-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6493
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6494 @vindex gnus-binary-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6495 @code{gnus-binary-mode-hook} is called in binary minor mode buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6496
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6497
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6498 @node Tree Display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6499 @section Tree Display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6500 @cindex trees
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6501
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6502 @vindex gnus-use-trees
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6503 If you don't like the normal Gnus summary display, you might try setting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6504 @code{gnus-use-trees} to @code{t}. This will create (by default) an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6505 additional @dfn{tree buffer}. You can execute all summary mode commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6506 in the tree buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6507
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6508 There are a few variables to customize the tree display, of course:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6509
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6510 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6511 @item gnus-tree-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6512 @vindex gnus-tree-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6513 A hook called in all tree mode buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6514
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6515 @item gnus-tree-mode-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6516 @vindex gnus-tree-mode-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6517 A format string for the mode bar in the tree mode buffers. The default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6518 is @samp{Gnus: %%b [%A] %Z}. For a list of legal specs, @pxref{Summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6519 Buffer Mode Line}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6520
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6521 @item gnus-selected-tree-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6522 @vindex gnus-selected-tree-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6523 Face used for highlighting the selected article in the tree buffer. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6524 default is @code{modeline}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6525
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6526 @item gnus-tree-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6527 @vindex gnus-tree-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6528 A format string for the tree nodes. The name is a bit of a misnomer,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6529 though---it doesn't define a line, but just the node. The default value
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6530 is @samp{%(%[%3,3n%]%)}, which displays the first three characters of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6531 the name of the poster. It is vital that all nodes are of the same
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6532 length, so you @emph{must} use @samp{%4,4n}-like specifiers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6533
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6534 Legal specs are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6535
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6536 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6537 @item n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6538 The name of the poster.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6539 @item f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6540 The @code{From} header.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6541 @item N
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6542 The number of the article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6543 @item [
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6544 The opening bracket.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6545 @item ]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6546 The closing bracket.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6547 @item s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6548 The subject.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6549 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6550
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6551 @xref{Formatting Variables}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6552
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6553 Variables related to the display are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6554
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6555 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6556 @item gnus-tree-brackets
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6557 @vindex gnus-tree-brackets
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6558 This is used for differentiating between ``real'' articles and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6559 ``sparse'' articles. The format is @var{((real-open . real-close)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6560 (sparse-open . sparse-close) (dummy-open . dummy-close))}, and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6561 default is @code{((?[ . ?]) (?( . ?)) (?@{ . ?@}))}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6562
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6563 @item gnus-tree-parent-child-edges
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6564 @vindex gnus-tree-parent-child-edges
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6565 This is a list that contains the characters used for connecting parent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6566 nodes to their children. The default is @code{(?- ?\\ ?|)}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6567
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6568 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6569
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6570 @item gnus-tree-minimize-window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6571 @vindex gnus-tree-minimize-window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6572 If this variable is non-@code{nil}, Gnus will try to keep the tree
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6573 buffer as small as possible to allow more room for the other Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6574 windows. If this variable is a number, the tree buffer will never be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6575 higher than that number. The default is @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6576
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6577 @item gnus-generate-tree-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6578 @vindex gnus-generate-tree-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6579 @findex gnus-generate-horizontal-tree
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6580 @findex gnus-generate-vertical-tree
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6581 The function that actually generates the thread tree. Two predefined
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6582 functions are available: @code{gnus-generate-horizontal-tree} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6583 @code{gnus-generate-vertical-tree} (which is the default).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6584
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6585 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6586
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6587 Here's and example from a horizontal tree buffer:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6588
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6589 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6590 @{***@}-(***)-[odd]-[Gun]
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6591 | \[Jan]
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6592 | \[odd]-[Eri]
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6593 | \(***)-[Eri]
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6594 | \[odd]-[Paa]
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6595 \[Bjo]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6596 \[Gun]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6597 \[Gun]-[Jor]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6598 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6599
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6600 Here's the same thread displayed in a vertical tree buffer:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6601
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6602 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6603 @{***@}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6604 |--------------------------\-----\-----\
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6605 (***) [Bjo] [Gun] [Gun]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6606 |--\-----\-----\ |
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6607 [odd] [Jan] [odd] (***) [Jor]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6608 | | |--\
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6609 [Gun] [Eri] [Eri] [odd]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6610 |
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6611 [Paa]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6612 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6613
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6614
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6615 @node Mail Group Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6616 @section Mail Group Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6617 @cindex mail group commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6618
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6619 Some commands only make sense in mail groups. If these commands are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6620 illegal in the current group, they will raise a hell and let you know.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6621
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6622 All these commands (except the expiry and edit commands) use the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6623 process/prefix convention (@pxref{Process/Prefix}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6624
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6625 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6626
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6627 @item B e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6628 @kindex B e (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6629 @findex gnus-summary-expire-articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6630 Expire all expirable articles in the group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6631 (@code{gnus-summary-expire-articles}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6632
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6633 @item B M-C-e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6634 @kindex B M-C-e (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6635 @findex gnus-summary-expire-articles-now
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6636 Delete all the expirable articles in the group
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6637 (@code{gnus-summary-expire-articles-now}). This means that @strong{all}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6638 articles that are eligible for expiry in the current group will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6639 disappear forever into that big @file{/dev/null} in the sky.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6640
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6641 @item B DEL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6642 @kindex B DEL (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6643 @findex gnus-summary-delete-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6644 Delete the mail article. This is ``delete'' as in ``delete it from your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6645 disk forever and ever, never to return again.'' Use with caution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6646 (@code{gnus-summary-delete-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6647
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6648 @item B m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6649 @kindex B m (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6650 @cindex move mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6651 @findex gnus-summary-move-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6652 Move the article from one mail group to another
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6653 (@code{gnus-summary-move-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6654
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6655 @item B c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6656 @kindex B c (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6657 @cindex copy mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6658 @findex gnus-summary-copy-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6659 Copy the article from one group (mail group or not) to a mail group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6660 (@code{gnus-summary-copy-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6661
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6662 @item B C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6663 @kindex B C (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6664 @cindex crosspost mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6665 @findex gnus-summary-crosspost-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6666 Crosspost the current article to some other group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6667 (@code{gnus-summary-crosspost-article}). This will create a new copy of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6668 the article in the other group, and the Xref headers of the article will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6669 be properly updated.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6670
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6671 @item B i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6672 @kindex B i (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6673 @findex gnus-summary-import-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6674 Import an arbitrary file into the current mail newsgroup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6675 (@code{gnus-summary-import-article}). You will be prompted for a file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6676 name, a @code{From} header and a @code{Subject} header.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6677
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6678 @item B r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6679 @kindex B r (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6680 @findex gnus-summary-respool-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6681 Respool the mail article (@code{gnus-summary-move-article}).
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6682 @code{gnus-summary-respool-default-method} will be used as the default
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6683 select method when respooling. This variable is @code{nil} by default,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6684 which means that the current group select method will be used instead.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6685
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6686 @item B w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6687 @itemx e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6688 @kindex B w (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6689 @kindex e (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6690 @findex gnus-summary-edit-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6691 @kindex C-c C-c (Article)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6692 Edit the current article (@code{gnus-summary-edit-article}). To finish
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6693 editing and make the changes permanent, type @kbd{C-c C-c}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6694 (@kbd{gnus-summary-edit-article-done}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6695
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6696 @item B q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6697 @kindex B q (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6698 @findex gnus-summary-respool-query
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6699 If you want to re-spool an article, you might be curious as to what group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6700 the article will end up in before you do the re-spooling. This command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6701 will tell you (@code{gnus-summary-respool-query}).
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6702
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6703 @item B p
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6704 @kindex B p (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6705 @findex gnus-summary-article-posted-p
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6706 Some people have a tendency to send you "courtesy" copies when they
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6707 follow up to articles you have posted. These usually have a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6708 @code{Newsgroups} header in them, but not always. This command
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6709 (@code{gnus-summary-article-posted-p}) will try to fetch the current
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6710 article from your news server (or rather, from
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6711 @code{gnus-refer-article-method} or @code{gnus-select-method}) and will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6712 report back whether it found the article or not. Even if it says that
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6713 it didn't find the article, it may have been posted anyway---mail
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6714 propagation is much faster than news propagation, and the news copy may
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6715 just not have arrived yet.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6716
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6717 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6718
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6719 @vindex gnus-move-split-methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6720 @cindex moving articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6721 If you move (or copy) articles regularly, you might wish to have Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6722 suggest where to put the articles. @code{gnus-move-split-methods} is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6723 variable that uses the same syntax as @code{gnus-split-methods}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6724 (@pxref{Saving Articles}). You may customize that variable to create
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6725 suggestions you find reasonable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6726
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6727 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6728 (setq gnus-move-split-methods
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6729 '(("^From:.*Lars Magne" "nnml:junk")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6730 ("^Subject:.*gnus" "nnfolder:important")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6731 (".*" "nnml:misc")))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6732 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6733
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6734
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6735 @node Various Summary Stuff
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6736 @section Various Summary Stuff
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6737
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6738 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6739 * Summary Group Information:: Information oriented commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6740 * Searching for Articles:: Multiple article commands.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6741 * Summary Generation Commands:: (Re)generating the summary buffer.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6742 * Really Various Summary Commands:: Those pesky non-conformant commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6743 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6744
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6745 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6746 @vindex gnus-summary-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6747 @item gnus-summary-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6748 This hook is called when creating a summary mode buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6749
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6750 @vindex gnus-summary-generate-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6751 @item gnus-summary-generate-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6752 This is called as the last thing before doing the threading and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6753 generation of the summary buffer. It's quite convenient for customizing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6754 the threading variables based on what data the newsgroup has. This hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6755 is called from the summary buffer after most summary buffer variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6756 has been set.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6757
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6758 @vindex gnus-summary-prepare-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6759 @item gnus-summary-prepare-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6760 Is is called after the summary buffer has been generated. You might use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6761 it to, for instance, highlight lines or modify the look of the buffer in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6762 some other ungodly manner. I don't care.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6763
38
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
6764 @vindex gnus-summary-ignore-duplicates
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
6765 @item gnus-summary-ignore-duplicates
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
6766 When Gnus discovers two articles that have the same @code{Message-ID},
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
6767 it has to do something drastic. No articles are allowed to have the
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
6768 same @code{Message-ID}, but this may happen when reading mail from some
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
6769 sources. Gnus allows you to customize what happens with this variable.
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
6770 If it is @code{nil} (which is the default), Gnus will rename the
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
6771 @code{Message-ID} (for display purposes only) and display the article as
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
6772 any other article. If this variable is @code{t}, it won't display the
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
6773 article---it'll be as if it never existed.
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
6774
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6775 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6776
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6777
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6778 @node Summary Group Information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6779 @subsection Summary Group Information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6780
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6781 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6782
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6783 @item H f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6784 @kindex H f (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6785 @findex gnus-summary-fetch-faq
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6786 @vindex gnus-group-faq-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6787 Try to fetch the FAQ (list of frequently asked questions) for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6788 current group (@code{gnus-summary-fetch-faq}). Gnus will try to get the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6789 FAQ from @code{gnus-group-faq-directory}, which is usually a directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6790 on a remote machine. This variable can also be a list of directories.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6791 In that case, giving a prefix to this command will allow you to choose
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6792 between the various sites. @code{ange-ftp} probably will be used for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6793 fetching the file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6794
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6795 @item H d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6796 @kindex H d (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6797 @findex gnus-summary-describe-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6798 Give a brief description of the current group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6799 (@code{gnus-summary-describe-group}). If given a prefix, force
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6800 rereading the description from the server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6801
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6802 @item H h
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6803 @kindex H h (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6804 @findex gnus-summary-describe-briefly
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6805 Give an extremely brief description of the most important summary
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6806 keystrokes (@code{gnus-summary-describe-briefly}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6807
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6808 @item H i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6809 @kindex H i (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6810 @findex gnus-info-find-node
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6811 Go to the Gnus info node (@code{gnus-info-find-node}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6812 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6813
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6814
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6815 @node Searching for Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6816 @subsection Searching for Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6817
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6818 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6819
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6820 @item M-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6821 @kindex M-s (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6822 @findex gnus-summary-search-article-forward
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6823 Search through all subsequent articles for a regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6824 (@code{gnus-summary-search-article-forward}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6825
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6826 @item M-r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6827 @kindex M-r (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6828 @findex gnus-summary-search-article-backward
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6829 Search through all previous articles for a regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6830 (@code{gnus-summary-search-article-backward}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6831
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6832 @item &
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6833 @kindex & (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6834 @findex gnus-summary-execute-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6835 This command will prompt you for a header field, a regular expression to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6836 match on this field, and a command to be executed if the match is made
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6837 (@code{gnus-summary-execute-command}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6838
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6839 @item M-&
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6840 @kindex M-& (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6841 @findex gnus-summary-universal-argument
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6842 Perform any operation on all articles that have been marked with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6843 the process mark (@code{gnus-summary-universal-argument}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6844 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6845
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6846 @node Summary Generation Commands
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6847 @subsection Summary Generation Commands
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6848
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6849 @table @kbd
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6850
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6851 @item Y g
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6852 @kindex Y g (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6853 @findex gnus-summary-prepare
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6854 Regenerate the current summary buffer (@code{gnus-summary-prepare}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6855
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6856 @item Y c
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6857 @kindex Y c (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6858 @findex gnus-summary-insert-cached-articles
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6859 Pull all cached articles (for the current group) into the summary buffer
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6860 (@code{gnus-summary-insert-cached-articles}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6861
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6862 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6863
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6864
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6865 @node Really Various Summary Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6866 @subsection Really Various Summary Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6867
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6868 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6869
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6870 @item C-d
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6871 @kindex C-d (Summary)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6872 @findex gnus-summary-enter-digest-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6873 If the current article is a collection of other articles (for instance,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6874 a digest), you might use this command to enter a group based on the that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6875 article (@code{gnus-summary-enter-digest-group}). Gnus will try to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6876 guess what article type is currently displayed unless you give a prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6877 to this command, which forces a ``digest'' interpretation. Basically,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6878 whenever you see a message that is a collection of other messages on
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6879 some format, you @kbd{C-d} and read these messages in a more convenient
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6880 fashion.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6881
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6882 @item M-C-d
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6883 @kindex M-C-d (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6884 @findex gnus-summary-read-document
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6885 This command is very similar to the one above, but lets you gather
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6886 several documents into one biiig group
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6887 (@code{gnus-summary-read-document}). It does this by opening several
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6888 @code{nndoc} groups for each document, and then opening an
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6889 @code{nnvirtual} group on top of these @code{nndoc} groups. This
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6890 command understands the process/prefix convention
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6891 (@pxref{Process/Prefix}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6892
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6893 @item C-t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6894 @kindex C-t (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6895 @findex gnus-summary-toggle-truncation
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6896 Toggle truncation of summary lines
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6897 (@code{gnus-summary-toggle-truncation}). This will probably confuse the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6898 line centering function in the summary buffer, so it's not a good idea
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6899 to have truncation switched off while reading articles.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6900
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6901 @item =
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6902 @kindex = (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6903 @findex gnus-summary-expand-window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6904 Expand the summary buffer window (@code{gnus-summary-expand-window}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6905 If given a prefix, force an @code{article} window configuration.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6906
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6907 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6908
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6909
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6910 @node Exiting the Summary Buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6911 @section Exiting the Summary Buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6912 @cindex summary exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6913 @cindex exiting groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6914
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6915 Exiting from the summary buffer will normally update all info on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6916 group and return you to the group buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6917
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6918 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6919
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6920 @item Z Z
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6921 @itemx q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6922 @kindex Z Z (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6923 @kindex q (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6924 @findex gnus-summary-exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6925 @vindex gnus-summary-exit-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6926 @vindex gnus-summary-prepare-exit-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6927 Exit the current group and update all information on the group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6928 (@code{gnus-summary-exit}). @code{gnus-summary-prepare-exit-hook} is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6929 called before doing much of the exiting, and calls
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6930 @code{gnus-summary-expire-articles} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6931 @code{gnus-summary-exit-hook} is called after finishing the exiting
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6932 process. @code{gnus-group-no-more-groups-hook} is run when returning to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6933 group mode having no more (unread) groups.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6934
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6935 @item Z E
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6936 @itemx Q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6937 @kindex Z E (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6938 @kindex Q (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6939 @findex gnus-summary-exit-no-update
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6940 Exit the current group without updating any information on the group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6941 (@code{gnus-summary-exit-no-update}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6942
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6943 @item Z c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6944 @itemx c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6945 @kindex Z c (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6946 @kindex c (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6947 @findex gnus-summary-catchup-and-exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6948 Mark all unticked articles in the group as read and then exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6949 (@code{gnus-summary-catchup-and-exit}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6950
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6951 @item Z C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6952 @kindex Z C (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6953 @findex gnus-summary-catchup-all-and-exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6954 Mark all articles, even the ticked ones, as read and then exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6955 (@code{gnus-summary-catchup-all-and-exit}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6956
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6957 @item Z n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6958 @kindex Z n (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6959 @findex gnus-summary-catchup-and-goto-next-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6960 Mark all articles as read and go to the next group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6961 (@code{gnus-summary-catchup-and-goto-next-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6962
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6963 @item Z R
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6964 @kindex Z R (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6965 @findex gnus-summary-reselect-current-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6966 Exit this group, and then enter it again
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6967 (@code{gnus-summary-reselect-current-group}). If given a prefix, select
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6968 all articles, both read and unread.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6969
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6970 @item Z G
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6971 @itemx M-g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6972 @kindex Z G (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6973 @kindex M-g (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6974 @findex gnus-summary-rescan-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6975 Exit the group, check for new articles in the group, and select the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6976 group (@code{gnus-summary-rescan-group}). If given a prefix, select all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6977 articles, both read and unread.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6978
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6979 @item Z N
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6980 @kindex Z N (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6981 @findex gnus-summary-next-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6982 Exit the group and go to the next group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6983 (@code{gnus-summary-next-group}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6984
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6985 @item Z P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6986 @kindex Z P (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6987 @findex gnus-summary-prev-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6988 Exit the group and go to the previous group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6989 (@code{gnus-summary-prev-group}).
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6990
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6991 @item Z s
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6992 @kindex Z s (Summary)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6993 @findex gnus-summary-save-newsrc
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6994 Save the current number of read/marked articles in the dribble buffer
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6995 and then save the dribble buffer (@code{gnus-summary-save-newsrc}). If
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6996 given a prefix, also save the @file{.newsrc} file(s). Using this
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
6997 command will make exit without updating (the @kbd{Q} command) worthless.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6998 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6999
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7000 @vindex gnus-exit-group-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7001 @code{gnus-exit-group-hook} is called when you exit the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7002 group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7003
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7004 @findex gnus-summary-wake-up-the-dead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7005 @findex gnus-dead-summary-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7006 @vindex gnus-kill-summary-on-exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7007 If you're in the habit of exiting groups, and then changing your mind
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7008 about it, you might set @code{gnus-kill-summary-on-exit} to @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7009 If you do that, Gnus won't kill the summary buffer when you exit it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7010 (Quelle surprise!) Instead it will change the name of the buffer to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7011 something like @samp{*Dead Summary ... *} and install a minor mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7012 called @code{gnus-dead-summary-mode}. Now, if you switch back to this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7013 buffer, you'll find that all keys are mapped to a function called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7014 @code{gnus-summary-wake-up-the-dead}. So tapping any keys in a dead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7015 summary buffer will result in a live, normal summary buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7016
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7017 There will never be more than one dead summary buffer at any one time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7018
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7019 @vindex gnus-use-cross-reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7020 The data on the current group will be updated (which articles you have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7021 read, which articles you have replied to, etc.) when you exit the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7022 summary buffer. If the @code{gnus-use-cross-reference} variable is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7023 @code{t} (which is the default), articles that are cross-referenced to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7024 this group and are marked as read, will also be marked as read in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7025 other subscribed groups they were cross-posted to. If this variable is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7026 neither @code{nil} nor @code{t}, the article will be marked as read in
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7027 both subscribed and unsubscribed groups (@pxref{Crosspost Handling}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7028
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7029
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7030 @node Crosspost Handling
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7031 @section Crosspost Handling
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7032
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7033 @cindex velveeta
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7034 @cindex spamming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7035 Marking cross-posted articles as read ensures that you'll never have to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7036 read the same article more than once. Unless, of course, somebody has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7037 posted it to several groups separately. Posting the same article to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7038 several groups (not cross-posting) is called @dfn{spamming}, and you are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7039 by law required to send nasty-grams to anyone who perpetrates such a
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7040 heinous crime. You may want to try NoCeM handling to filter out spam
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7041 (@pxref{NoCeM}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7042
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7043 Remember: Cross-posting is kinda ok, but posting the same article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7044 separately to several groups is not. Massive cross-posting (aka.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7045 @dfn{velveeta}) is to be avoided at all costs, and you can even use the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7046 @code{gnus-summary-mail-crosspost-complaint} command to complain about
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7047 excessive crossposting (@pxref{Summary Mail Commands}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7048
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7049 @cindex cross-posting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7050 @cindex Xref
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7051 @cindex @sc{nov}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7052 One thing that may cause Gnus to not do the cross-posting thing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7053 correctly is if you use an @sc{nntp} server that supports @sc{xover}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7054 (which is very nice, because it speeds things up considerably) which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7055 does not include the @code{Xref} header in its @sc{nov} lines. This is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7056 Evil, but all too common, alas, alack. Gnus tries to Do The Right Thing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7057 even with @sc{xover} by registering the @code{Xref} lines of all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7058 articles you actually read, but if you kill the articles, or just mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7059 them as read without reading them, Gnus will not get a chance to snoop
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7060 the @code{Xref} lines out of these articles, and will be unable to use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7061 the cross reference mechanism.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7062
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7063 @cindex LIST overview.fmt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7064 @cindex overview.fmt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7065 To check whether your @sc{nntp} server includes the @code{Xref} header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7066 in its overview files, try @samp{telnet your.nntp.server nntp},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7067 @samp{MODE READER} on @code{inn} servers, and then say @samp{LIST
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7068 overview.fmt}. This may not work, but if it does, and the last line you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7069 get does not read @samp{Xref:full}, then you should shout and whine at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7070 your news admin until she includes the @code{Xref} header in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7071 overview files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7072
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7073 @vindex gnus-nov-is-evil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7074 If you want Gnus to get the @code{Xref}s right all the time, you have to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7075 set @code{gnus-nov-is-evil} to @code{t}, which slows things down
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7076 considerably.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7077
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7078 C'est la vie.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7079
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7080 For an alternative approach, @pxref{Duplicate Suppression}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7081
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7082
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7083 @node Duplicate Suppression
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7084 @section Duplicate Suppression
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7085
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7086 By default, Gnus tries to make sure that you don't have to read the same
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7087 article more than once by utilizing the crossposting mechanism
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7088 (@pxref{Crosspost Handling}). However, that simple and efficient
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7089 approach may not work satisfactorily for some users for various
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7090 reasons.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7091
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7092 @enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7093 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7094 The @sc{nntp} server may fail to generate the @code{Xref} header. This
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7095 is evil and not very common.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7096
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7097 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7098 The @sc{nntp} server may fail to include the @code{Xref} header in the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7099 @file{.overview} data bases. This is evil and all too common, alas.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7100
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7101 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7102 You may be reading the same group (or several related groups) from
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7103 different @sc{nntp} servers.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7104
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7105 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7106 You may be getting mail that duplicates articles posted to groups.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7107 @end enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7108
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7109 I'm sure there are other situations that @code{Xref} handling fails as
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7110 well, but these four are the most common situations.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7111
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7112 If, and only if, @code{Xref} handling fails for you, then you may
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7113 consider switching on @dfn{duplicate suppression}. If you do so, Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7114 will remember the @code{Message-ID}s of all articles you have read or
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7115 otherwise marked as read, and then, as if by magic, mark them as read
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7116 all subsequent times you see them---in @emph{all} groups. Using this
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7117 mechanism is quite likely to be somewhat inefficient, but not overly
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7118 so. It's certainly preferable to reading the same articles more than
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7119 once.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7120
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7121 Duplicate suppression is not a very subtle instrument. It's more like a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7122 sledge hammer than anything else. It works in a very simple
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7123 fashion---if you have marked an article as read, it adds this Message-ID
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7124 to a cache. The next time it sees this Message-ID, it will mark the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7125 article as read the the @samp{M} mark. It doesn't care what group it
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7126 saw the article in.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7127
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7128 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7129 @item gnus-suppress-duplicates
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7130 @vindex gnus-suppress-duplicates
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7131 If non-@code{nil}, suppress duplicates.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7132
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7133 @item gnus-save-duplicate-list
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7134 @vindex gnus-save-duplicate-list
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7135 If non-@code{nil}, save the list of duplicates to a file. This will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7136 make startup and shutdown take longer, so the default is @code{nil}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7137 However, this means that only duplicate articles that is read in a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7138 single Gnus session are suppressed.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7139
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7140 @item gnus-duplicate-list-length
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7141 @vindex gnus-duplicate-list-length
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7142 This variables says how many @code{Message-ID}s to keep in the duplicate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7143 suppression list. The default is 10000.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7144
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7145 @item gnus-duplicate-file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7146 @vindex gnus-duplicate-file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7147 The name of the file to store the duplicate suppression list. The
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7148 default is @file{~/News/suppression}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7149 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7150
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7151 If you have a tendency to stop and start Gnus often, setting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7152 @code{gnus-save-duplicate-list} to @code{t} is probably a good idea. If
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7153 you leave Gnus running for weeks on end, you may have it @code{nil}. On
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7154 the other hand, saving the list makes startup and shutdown much slower,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7155 so that means that if you stop and start Gnus often, you should set
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7156 @code{gnus-save-duplicate-list} to @code{nil}. Uhm. I'll leave this up
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7157 to you to figure out, I think.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7158
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7159
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7160 @node The Article Buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7161 @chapter The Article Buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7162 @cindex article buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7163
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7164 The articles are displayed in the article buffer, of which there is only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7165 one. All the summary buffers share the same article buffer unless you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7166 tell Gnus otherwise.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7167
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7168 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7169 * Hiding Headers:: Deciding what headers should be displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7170 * Using MIME:: Pushing articles through @sc{mime} before reading them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7171 * Customizing Articles:: Tailoring the look of the articles.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7172 * Article Keymap:: Keystrokes available in the article buffer.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7173 * Misc Article:: Other stuff.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7174 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7175
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7176
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7177 @node Hiding Headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7178 @section Hiding Headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7179 @cindex hiding headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7180 @cindex deleting headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7181
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7182 The top section of each article is the @dfn{head}. (The rest is the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7183 @dfn{body}, but you may have guessed that already.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7184
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7185 @vindex gnus-show-all-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7186 There is a lot of useful information in the head: the name of the person
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7187 who wrote the article, the date it was written and the subject of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7188 article. That's well and nice, but there's also lots of information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7189 most people do not want to see---what systems the article has passed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7190 through before reaching you, the @code{Message-ID}, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7191 @code{References}, etc. ad nauseum---and you'll probably want to get rid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7192 of some of those lines. If you want to keep all those lines in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7193 article buffer, you can set @code{gnus-show-all-headers} to @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7194
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7195 Gnus provides you with two variables for sifting headers:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7196
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7197 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7198
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7199 @item gnus-visible-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7200 @vindex gnus-visible-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7201 If this variable is non-@code{nil}, it should be a regular expression
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7202 that says what headers you wish to keep in the article buffer. All
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7203 headers that do not match this variable will be hidden.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7204
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7205 For instance, if you only want to see the name of the person who wrote
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7206 the article and the subject, you'd say:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7207
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7208 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7209 (setq gnus-visible-headers "^From:\\|^Subject:")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7210 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7211
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7212 This variable can also be a list of regexps to match headers that are to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7213 remain visible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7214
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7215 @item gnus-ignored-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7216 @vindex gnus-ignored-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7217 This variable is the reverse of @code{gnus-visible-headers}. If this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7218 variable is set (and @code{gnus-visible-headers} is @code{nil}), it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7219 should be a regular expression that matches all lines that you want to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7220 hide. All lines that do not match this variable will remain visible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7221
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7222 For instance, if you just want to get rid of the @code{References} line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7223 and the @code{Xref} line, you might say:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7224
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7225 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7226 (setq gnus-ignored-headers "^References:\\|^Xref:")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7227 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7228
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7229 This variable can also be a list of regexps to match headers that are to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7230 be removed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7231
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7232 Note that if @code{gnus-visible-headers} is non-@code{nil}, this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7233 variable will have no effect.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7234
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7235 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7236
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7237 @vindex gnus-sorted-header-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7238 Gnus can also sort the headers for you. (It does this by default.) You
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7239 can control the sorting by setting the @code{gnus-sorted-header-list}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7240 variable. It is a list of regular expressions that says in what order
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7241 the headers are to be displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7242
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7243 For instance, if you want the name of the author of the article first,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7244 and then the subject, you might say something like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7245
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7246 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7247 (setq gnus-sorted-header-list '("^From:" "^Subject:"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7248 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7250 Any headers that are to remain visible, but are not listed in this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7251 variable, will be displayed in random order after all the headers that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7252 are listed in this variable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7253
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7254 @findex gnus-article-hide-boring-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7255 @vindex gnus-article-display-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7256 @vindex gnus-boring-article-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7257 You can hide further boring headers by entering
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7258 @code{gnus-article-hide-boring-headers} into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7259 @code{gnus-article-display-hook}. What this function does depends on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7260 the @code{gnus-boring-article-headers} variable. It's a list, but this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7261 list doesn't actually contain header names. Instead is lists various
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7262 @dfn{boring conditions} that Gnus can check and remove from sight.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7263
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7264 These conditions are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7265 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7266 @item empty
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7267 Remove all empty headers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7268 @item newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7269 Remove the @code{Newsgroups} header if it only contains the current group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7270 name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7271 @item followup-to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7272 Remove the @code{Followup-To} header if it is identical to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7273 @code{Newsgroups} header.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7274 @item reply-to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7275 Remove the @code{Reply-To} header if it lists the same address as the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7276 @code{From} header.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7277 @item date
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7278 Remove the @code{Date} header if the article is less than three days
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7279 old.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7280 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7281
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7282 To include the four first elements, you could say something like;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7283
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7284 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7285 (setq gnus-boring-article-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7286 '(empty newsgroups followup-to reply-to))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7287 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7288
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7289 This is also the default value for this variable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7290
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7291
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7292 @node Using MIME
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7293 @section Using @sc{mime}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7294 @cindex @sc{mime}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7295
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7296 Mime is a standard for waving your hands through the air, aimlessly,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7297 while people stand around yawning.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7298
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7299 @sc{mime}, however, is a standard for encoding your articles, aimlessly,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7300 while all newsreaders die of fear.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7301
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7302 @sc{mime} may specify what character set the article uses, the encoding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7303 of the characters, and it also makes it possible to embed pictures and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7304 other naughty stuff in innocent-looking articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7305
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7306 @vindex gnus-show-mime
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7307 @vindex gnus-show-mime-method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7308 @vindex gnus-strict-mime
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7309 @findex metamail-buffer
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7310 Gnus handles @sc{mime} by pushing the articles through
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7311 @code{gnus-show-mime-method}, which is @code{metamail-buffer} by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7312 default. Set @code{gnus-show-mime} to @code{t} if you want to use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7313 @sc{mime} all the time. However, if @code{gnus-strict-mime} is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7314 non-@code{nil}, the @sc{mime} method will only be used if there are
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7315 @sc{mime} headers in the article. If you have @code{gnus-show-mime}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7316 set, then you'll see some unfortunate display glitches in the article
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7317 buffer. These can't be avoided.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7318
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7319 It might be best to just use the toggling functions from the summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7320 buffer to avoid getting nasty surprises. (For instance, you enter the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7321 group @samp{alt.sing-a-long} and, before you know it, @sc{mime} has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7322 decoded the sound file in the article and some horrible sing-a-long song
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7323 comes streaming out out your speakers, and you can't find the volume
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7324 button, because there isn't one, and people are starting to look at you,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7325 and you try to stop the program, but you can't, and you can't find the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7326 program to control the volume, and everybody else in the room suddenly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7327 decides to look at you disdainfully, and you'll feel rather stupid.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7328
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7329 Any similarity to real events and people is purely coincidental. Ahem.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7330
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7331
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7332 @node Customizing Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7333 @section Customizing Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7334 @cindex article customization
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7335
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7336 @vindex gnus-article-display-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7337 The @code{gnus-article-display-hook} is called after the article has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7338 been inserted into the article buffer. It is meant to handle all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7339 treatment of the article before it is displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7340
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7341 @findex gnus-article-maybe-highlight
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7342 By default this hook just contains @code{gnus-article-hide-headers},
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7343 @code{gnus-article-treat-overstrike}, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7344 @code{gnus-article-maybe-highlight}, but there are thousands, nay
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7345 millions, of functions you can put in this hook. For an overview of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7346 functions @pxref{Article Highlighting}, @pxref{Article Hiding},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7347 @pxref{Article Washing}, @pxref{Article Buttons} and @pxref{Article
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7348 Date}. Note that the order of functions in this hook might affect
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7349 things, so you may have to fiddle a bit to get the desired results.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7350
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7351 You can, of course, write your own functions. The functions are called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7352 from the article buffer, and you can do anything you like, pretty much.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7353 There is no information that you have to keep in the buffer---you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7354 change everything. However, you shouldn't delete any headers. Instead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7355 make them invisible if you want to make them go away.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7356
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7357
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7358 @node Article Keymap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7359 @section Article Keymap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7360
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7361 Most of the keystrokes in the summary buffer can also be used in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7362 article buffer. They should behave as if you typed them in the summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7363 buffer, which means that you don't actually have to have a summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7364 buffer displayed while reading. You can do it all from the article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7365 buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7366
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7367 A few additional keystrokes are available:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7368
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7369 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7370
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7371 @item SPACE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7372 @kindex SPACE (Article)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7373 @findex gnus-article-next-page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7374 Scroll forwards one page (@code{gnus-article-next-page}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7375
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7376 @item DEL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7377 @kindex DEL (Article)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7378 @findex gnus-article-prev-page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7379 Scroll backwards one page (@code{gnus-article-prev-page}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7380
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7381 @item C-c ^
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7382 @kindex C-c ^ (Article)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7383 @findex gnus-article-refer-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7384 If point is in the neighborhood of a @code{Message-ID} and you press
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7385 @kbd{r}, Gnus will try to get that article from the server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7386 (@code{gnus-article-refer-article}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7387
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7388 @item C-c C-m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7389 @kindex C-c C-m (Article)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7390 @findex gnus-article-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7391 Send a reply to the address near point (@code{gnus-article-mail}). If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7392 given a prefix, include the mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7393
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7394 @item s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7395 @kindex s (Article)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7396 @findex gnus-article-show-summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7397 Reconfigure the buffers so that the summary buffer becomes visible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7398 (@code{gnus-article-show-summary}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7399
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7400 @item ?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7401 @kindex ? (Article)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7402 @findex gnus-article-describe-briefly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7403 Give a very brief description of the available keystrokes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7404 (@code{gnus-article-describe-briefly}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7405
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7406 @item TAB
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7407 @kindex TAB (Article)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7408 @findex gnus-article-next-button
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7409 Go to the next button, if any (@code{gnus-article-next-button}. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7410 only makes sense if you have buttonizing turned on.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7411
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7412 @item M-TAB
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7413 @kindex M-TAB (Article)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7414 @findex gnus-article-prev-button
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7415 Go to the previous button, if any (@code{gnus-article-prev-button}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7416
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7417 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7418
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7419
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7420 @node Misc Article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7421 @section Misc Article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7422
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7423 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7424
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7425 @item gnus-single-article-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7426 @vindex gnus-single-article-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7427 If non-@code{nil}, use the same article buffer for all the groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7428 (This is the default.) If @code{nil}, each group will have its own
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7429 article buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7430
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7431 @vindex gnus-article-prepare-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7432 @item gnus-article-prepare-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7433 This hook is called right after the article has been inserted into the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7434 article buffer. It is mainly intended for functions that do something
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7435 depending on the contents; it should probably not be used for changing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7436 the contents of the article buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7437
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7438 @vindex gnus-article-display-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7439 @item gnus-article-display-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7440 This hook is called as the last thing when displaying an article, and is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7441 intended for modifying the contents of the buffer, doing highlights,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7442 hiding headers, and the like.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7443
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7444 @item gnus-article-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7445 @vindex gnus-article-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7446 Hook called in article mode buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7447
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7448 @item gnus-article-mode-syntax-table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7449 @vindex gnus-article-mode-syntax-table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7450 Syntax table used in article buffers. It is initialized from
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7451 @code{text-mode-syntax-table}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7452
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7453 @vindex gnus-article-mode-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7454 @item gnus-article-mode-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7455 This variable is a format string along the same lines as
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7456 @code{gnus-summary-mode-line-format}. It accepts the same
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7457 format specifications as that variable, with one extension:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7458
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7459 @table @samp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7460 @item w
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7461 The @dfn{wash status} of the article. This is a short string with one
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7462 character for each possible article wash operation that may have been
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7463 performed.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7464 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7465
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7466 @vindex gnus-break-pages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7467
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7468 @item gnus-break-pages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7469 Controls whether @dfn{page breaking} is to take place. If this variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7470 is non-@code{nil}, the articles will be divided into pages whenever a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7471 page delimiter appears in the article. If this variable is @code{nil},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7472 paging will not be done.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7473
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7474 @item gnus-page-delimiter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7475 @vindex gnus-page-delimiter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7476 This is the delimiter mentioned above. By default, it is @samp{^L}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7477 (form linefeed).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7478 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7479
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7480
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7481 @node Composing Messages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7482 @chapter Composing Messages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7483 @cindex reply
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7484 @cindex followup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7485 @cindex post
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7486
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7487 @kindex C-c C-c (Post)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7488 All commands for posting and mailing will put you in a message buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7489 where you can edit the article all you like, before you send the article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7490 by pressing @kbd{C-c C-c}. @xref{Top, , Top, message, The Message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7491 Manual}. If you are in a foreign news group, and you wish to post the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7492 article using the foreign server, you can give a prefix to @kbd{C-c C-c}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7493 to make Gnus try to post using the foreign server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7494
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7495 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7496 * Mail:: Mailing and replying.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7497 * Post:: Posting and following up.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7498 * Posting Server:: What server should you post via?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7499 * Mail and Post:: Mailing and posting at the same time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7500 * Archived Messages:: Where Gnus stores the messages you've sent.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7501 @c * Posting Styles:: An easier way to configure some key elements.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7502 @c * Drafts:: Postponing messages and rejected messages.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7503 @c * Rejected Articles:: What happens if the server doesn't like your article?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7504 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7505
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7506 Also see @pxref{Canceling and Superseding} for information on how to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7507 remove articles you shouldn't have posted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7508
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7509
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7510 @node Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7511 @section Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7512
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7513 Variables for customizing outgoing mail:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7514
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7515 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7516 @item gnus-uu-digest-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7517 @vindex gnus-uu-digest-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7518 List of regexps to match headers included in digested messages. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7519 headers will be included in the sequence they are matched.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7520
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7521 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7522
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7523
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7524 @node Post
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7525 @section Post
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7526
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7527 Variables for composing news articles:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7528
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7529 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7530 @item gnus-sent-message-ids-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7531 @vindex gnus-sent-message-ids-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7532 Gnus will keep a @code{Message-ID} history file of all the mails it has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7533 sent. If it discovers that it has already sent a mail, it will ask the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7534 user whether to re-send the mail. (This is primarily useful when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7535 dealing with @sc{soup} packets and the like where one is apt to sent the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7536 same packet multiple times.) This variable says what the name of this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7537 history file is. It is @file{~/News/Sent-Message-IDs} by default. Set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7538 this variable to @code{nil} if you don't want Gnus to keep a history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7539 file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7540
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7541 @item gnus-sent-message-ids-length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7542 @vindex gnus-sent-message-ids-length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7543 This variable says how many @code{Message-ID}s to keep in the history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7544 file. It is 1000 by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7545
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7546 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7547
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7548
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7549 @node Posting Server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7550 @section Posting Server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7551
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7552 When you press those magical @kbd{C-c C-c} keys to ship off your latest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7553 (extremely intelligent, of course) article, where does it go?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7554
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7555 Thank you for asking. I hate you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7556
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7557 @vindex gnus-post-method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7558
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7559 It can be quite complicated. Normally, Gnus will use the same native
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7560 server. However. If your native server doesn't allow posting, just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7561 reading, you probably want to use some other server to post your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7562 (extremely intelligent and fabulously interesting) articles. You can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7563 then set the @code{gnus-post-method} to some other method:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7564
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7565 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7566 (setq gnus-post-method '(nnspool ""))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7567 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7568
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7569 Now, if you've done this, and then this server rejects your article, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7570 this server is down, what do you do then? To override this variable you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7571 can use a non-zero prefix to the @kbd{C-c C-c} command to force using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7572 the ``current'' server for posting.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7573
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7574 If you give a zero prefix (i.e., @kbd{C-u 0 C-c C-c}) to that command,
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7575 Gnus will prompt you for what method to use for posting.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7576
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7577 You can also set @code{gnus-post-method} to a list of select methods.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7578 If that's the case, Gnus will always prompt you for what method to use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7579 for posting.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7580
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7581
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7582 @node Mail and Post
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7583 @section Mail and Post
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7584
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7585 Here's a list of variables that are relevant to both mailing and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7586 posting:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7587
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7588 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7589 @item gnus-mailing-list-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7590 @findex gnus-mailing-list-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7591 @cindex mailing lists
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7592
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7593 If your news server offers groups that are really mailing lists that are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7594 gatewayed to the @sc{nntp} server, you can read those groups without
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7595 problems, but you can't post/followup to them without some difficulty.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7596 One solution is to add a @code{to-address} to the group parameters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7597 (@pxref{Group Parameters}). An easier thing to do is set the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7598 @code{gnus-mailing-list-groups} to a regexp that match the groups that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7599 really are mailing lists. Then, at least, followups to the mailing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7600 lists will work most of the time. Posting to these groups (@kbd{a}) is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7601 still a pain, though.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7602
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7603 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7604
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7605 You may want to do spell-checking on messages that you send out. Or, if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7606 you don't want to spell-check by hand, you could add automatic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7607 spell-checking via the @code{ispell} package:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7608
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7609 @cindex ispell
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7610 @findex ispell-message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7611 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7612 (add-hook 'message-send-hook 'ispell-message)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7613 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7614
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7615
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7616 @node Archived Messages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7617 @section Archived Messages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7618 @cindex archived messages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7619 @cindex sent messages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7620
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
7621 Gnus provides a few different methods for storing the mail and news you
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
7622 send. The default method is to use the @dfn{archive virtual server} to
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
7623 store the messages. If you want to disable this completely, the
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 18
diff changeset
7624 @code{gnus-message-archive-group} variable should be @code{nil}, which
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 18
diff changeset
7625 is the default.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7626
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7627 @vindex gnus-message-archive-method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7628 @code{gnus-message-archive-method} says what virtual server Gnus is to
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7629 use to store sent messages. The default is:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7630
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7631 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7632 (nnfolder "archive"
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7633 (nnfolder-directory "~/Mail/archive/"))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7634 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7635
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7636 You can, however, use any mail select method (@code{nnml},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7637 @code{nnmbox}, etc.). @code{nnfolder} is a quite likeable select method
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7638 for doing this sort of thing, though. If you don't like the default
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7639 directory chosen, you could say something like:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7640
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7641 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7642 (setq gnus-message-archive-method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7643 '(nnfolder "archive"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7644 (nnfolder-inhibit-expiry t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7645 (nnfolder-active-file "~/News/sent-mail/active")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7646 (nnfolder-directory "~/News/sent-mail/")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7647 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7648
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7649 @vindex gnus-message-archive-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7650 @cindex Gcc
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7651 Gnus will insert @code{Gcc} headers in all outgoing messages that point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7652 to one or more group(s) on that server. Which group to use is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7653 determined by the @code{gnus-message-archive-group} variable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7654
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7655 This variable can be:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7656
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7657 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7658 @item a string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7659 Messages will be saved in that group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7660 @item a list of strings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7661 Messages will be saved in all those groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7662 @item an alist of regexps, functions and forms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7663 When a key ``matches'', the result is used.
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
7664 @item @code{nil}
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
7665 No message archiving will take place. This is the default.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7666 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7667
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7668 Let's illustrate:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7669
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7670 Just saving to a single group called @samp{MisK}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7671 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7672 (setq gnus-message-archive-group "MisK")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7673 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7674
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7675 Saving to two groups, @samp{MisK} and @samp{safe}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7676 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7677 (setq gnus-message-archive-group '("MisK" "safe"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7678 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7679
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7680 Save to different groups based on what group you are in:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7681 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7682 (setq gnus-message-archive-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7683 '(("^alt" "sent-to-alt")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7684 ("mail" "sent-to-mail")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7685 (".*" "sent-to-misc")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7686 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7687
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7688 More complex stuff:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7689 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7690 (setq gnus-message-archive-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7691 '((if (message-news-p)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7692 "misc-news"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7693 "misc-mail")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7694 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7695
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7696 How about storing all news messages in one file, but storing all mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7697 messages in one file per month:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7698
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7699 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7700 (setq gnus-message-archive-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7701 '((if (message-news-p)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7702 "misc-news"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7703 (concat "mail." (format-time-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7704 "%Y-%m" (current-time))))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7705 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7706
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7707 Now, when you send a message off, it will be stored in the appropriate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7708 group. (If you want to disable storing for just one particular message,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7709 you can just remove the @code{Gcc} header that has been inserted.) The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7710 archive group will appear in the group buffer the next time you start
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7711 Gnus, or the next time you press @kbd{F} in the group buffer. You can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7712 enter it and read the articles in it just like you'd read any other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7713 group. If the group gets really big and annoying, you can simply rename
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
7714 if (using @kbd{G r} in the group buffer) to something
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
7715 nice---@samp{misc-mail-september-1995}, or whatever. New messages will
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7716 continue to be stored in the old (now empty) group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7717
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
7718 That's the default method of archiving sent messages. Gnus also a
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
7719 different way for the people who don't like the default method. In that
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
7720 case you should set @code{gnus-message-archive-group} to @code{nil};
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
7721 this will disable archiving.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7722
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7723 XEmacs 19.13 doesn't have @code{format-time-string}, so you'll have to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7724 use a different value for @code{gnus-message-archive-group} there.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7725
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7726 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7727 @item gnus-outgoing-message-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7728 @vindex gnus-outgoing-message-group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7729 All outgoing messages will be put in this group. If you want to store
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7730 all your outgoing mail and articles in the group @samp{nnml:archive},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7731 you set this variable to that value. This variable can also be a list of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7732 group names.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7733
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7734 If you want to have greater control over what group to put each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7735 message in, you can set this variable to a function that checks the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7736 current newsgroup name and then returns a suitable group name (or list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7737 of names).
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
7738
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
7739 This variable can be used instead of @code{gnus-message-archive-group},
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
7740 but the latter is the preferred method.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7741 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7742
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7743
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7744 @c @node Posting Styles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7745 @c @section Posting Styles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7746 @c @cindex posting styles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7747 @c @cindex styles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7748 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7749 @c All them variables, they make my head swim.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7750 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7751 @c So what if you want a different @code{Organization} and signature based
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7752 @c on what groups you post to? And you post both from your home machine
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7753 @c and your work machine, and you want different @code{From} lines, and so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7754 @c on?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7755 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7756 @c @vindex gnus-posting-styles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7757 @c One way to do stuff like that is to write clever hooks that change the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7758 @c variables you need to have changed. That's a bit boring, so somebody
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7759 @c came up with the bright idea of letting the user specify these things in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7760 @c a handy alist. Here's an example of a @code{gnus-posting-styles}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7761 @c variable:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7762 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7763 @c @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7764 @c ((".*"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7765 @c (signature . "Peace and happiness")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7766 @c (organization . "What me?"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7767 @c ("^comp"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7768 @c (signature . "Death to everybody"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7769 @c ("comp.emacs.i-love-it"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7770 @c (organization . "Emacs is it")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7771 @c @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7772 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7773 @c As you might surmise from this example, this alist consists of several
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7774 @c @dfn{styles}. Each style will be applicable if the first element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7775 @c ``matches'', in some form or other. The entire alist will be iterated
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7776 @c over, from the beginning towards the end, and each match will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7777 @c applied, which means that attributes in later styles that match override
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7778 @c the same attributes in earlier matching styles. So
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7779 @c @samp{comp.programming.literate} will have the @samp{Death to everybody}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7780 @c signature and the @samp{What me?} @code{Organization} header.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7781 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7782 @c The first element in each style is called the @code{match}. If it's a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7783 @c string, then Gnus will try to regexp match it against the group name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7784 @c If it's a function symbol, that function will be called with no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7785 @c arguments. If it's a variable symbol, then the variable will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7786 @c referenced. If it's a list, then that list will be @code{eval}ed. In
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7787 @c any case, if this returns a non-@code{nil} value, then the style is said
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7788 @c to @dfn{match}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7789 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7790 @c Each style may contain a arbitrary amount of @dfn{attributes}. Each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7791 @c attribute consists of a @var{(name . value)} pair. The attribute name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7792 @c can be one of @code{signature}, @code{organization} or @code{from}. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7793 @c attribute name can also be a string. In that case, this will be used as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7794 @c a header name, and the value will be inserted in the headers of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7795 @c article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7796 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7797 @c The attribute value can be a string (used verbatim), a function (the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7798 @c return value will be used), a variable (its value will be used) or a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7799 @c list (it will be @code{eval}ed and the return value will be used).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7800 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7801 @c So here's a new example:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7802 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7803 @c @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7804 @c (setq gnus-posting-styles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7805 @c '((".*"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7806 @c (signature . "~/.signature")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7807 @c (from . "user@@foo (user)")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7808 @c ("X-Home-Page" . (getenv "WWW_HOME"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7809 @c (organization . "People's Front Against MWM"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7810 @c ("^rec.humor"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7811 @c (signature . my-funny-signature-randomizer))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7812 @c ((equal (system-name) "gnarly")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7813 @c (signature . my-quote-randomizer))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7814 @c (posting-from-work-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7815 @c (signature . "~/.work-signature")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7816 @c (from . "user@@bar.foo (user)")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7817 @c (organization . "Important Work, Inc"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7818 @c ("^nn.+:"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7819 @c (signature . "~/.mail-signature"))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7820 @c @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7821
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7822 @c @node Drafts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7823 @c @section Drafts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7824 @c @cindex drafts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7825 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7826 @c If you are writing a message (mail or news) and suddenly remember that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7827 @c you have a steak in the oven (or some pesto in the food processor, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7828 @c craazy vegetarians), you'll probably wish there was a method to save the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7829 @c message you are writing so that you can continue editing it some other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7830 @c day, and send it when you feel its finished.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7831 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7832 @c Well, don't worry about it. Whenever you start composing a message of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7833 @c some sort using the Gnus mail and post commands, the buffer you get will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7834 @c automatically associate to an article in a special @dfn{draft} group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7835 @c If you save the buffer the normal way (@kbd{C-x C-s}, for instance), the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7836 @c article will be saved there. (Auto-save files also go to the draft
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7837 @c group.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7838 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7839 @c @cindex nndraft
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7840 @c @vindex gnus-draft-group-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7841 @c The draft group is a special group (which is implemented as an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7842 @c @code{nndraft} group, if you absolutely have to know) called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7843 @c @samp{nndraft:drafts}. The variable @code{gnus-draft-group-directory}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7844 @c controls both the name of the group and the location---the leaf element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7845 @c in the path will be used as the name of the group. What makes this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7846 @c group special is that you can't tick any articles in it or mark any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7847 @c articles as read---all articles in the group are permanently unread.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7848 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7849 @c If the group doesn't exist, it will be created and you'll be subscribed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7850 @c to it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7851 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7852 @c @findex gnus-dissociate-buffer-from-draft
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7853 @c @kindex C-c M-d (Mail)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7854 @c @kindex C-c M-d (Post)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7855 @c @findex gnus-associate-buffer-with-draft
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7856 @c @kindex C-c C-d (Mail)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7857 @c @kindex C-c C-d (Post)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7858 @c If you're writing some super-secret message that you later want to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7859 @c encode with PGP before sending, you may wish to turn the auto-saving
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7860 @c (and association with the draft group) off. You never know who might be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7861 @c interested in reading all your extremely valuable and terribly horrible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7862 @c and interesting secrets. The @kbd{C-c M-d}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7863 @c (@code{gnus-dissociate-buffer-from-draft}) command does that for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7864 @c If you change your mind and want to turn the auto-saving back on again,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7865 @c @kbd{C-c C-d} (@code{gnus-associate-buffer-with-draft} does that.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7866 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7867 @c @vindex gnus-use-draft
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7868 @c To leave association with the draft group off by default, set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7869 @c @code{gnus-use-draft} to @code{nil}. It is @code{t} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7870 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7871 @c @findex gnus-summary-send-draft
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7872 @c @kindex S D c (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7873 @c When you want to continue editing the article, you simply enter the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7874 @c draft group and push @kbd{S D c} (@code{gnus-summary-send-draft}) to do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7875 @c that. You will be placed in a buffer where you left off.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7876 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7877 @c Rejected articles will also be put in this draft group (@pxref{Rejected
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7878 @c Articles}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7879 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7880 @c @findex gnus-summary-send-all-drafts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7881 @c If you have lots of rejected messages you want to post (or mail) without
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7882 @c doing further editing, you can use the @kbd{S D a} command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7883 @c (@code{gnus-summary-send-all-drafts}). This command understands the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7884 @c process/prefix convention (@pxref{Process/Prefix}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7885 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7886 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7887 @c @node Rejected Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7888 @c @section Rejected Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7889 @c @cindex rejected articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7890 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7891 @c Sometimes a news server will reject an article. Perhaps the server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7892 @c doesn't like your face. Perhaps it just feels miserable. Perhaps
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7893 @c @emph{there be demons}. Perhaps you have included too much cited text.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7894 @c Perhaps the disk is full. Perhaps the server is down.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7895 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7896 @c These situations are, of course, totally beyond the control of Gnus.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7897 @c (Gnus, of course, loves the way you look, always feels great, has angels
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7898 @c fluttering around inside of it, doesn't care about how much cited text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7899 @c you include, never runs full and never goes down.) So Gnus saves these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7900 @c articles until some later time when the server feels better.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7901 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7902 @c The rejected articles will automatically be put in a special draft group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7903 @c (@pxref{Drafts}). When the server comes back up again, you'd then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7904 @c typically enter that group and send all the articles off.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7905 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7906
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7907 @node Select Methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7908 @chapter Select Methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7909 @cindex foreign groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7910 @cindex select methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7911
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7912 A @dfn{foreign group} is a group that is not read by the usual (or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7913 default) means. It could be, for instance, a group from a different
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7914 @sc{nntp} server, it could be a virtual group, or it could be your own
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7915 personal mail group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7916
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7917 A foreign group (or any group, really) is specified by a @dfn{name} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7918 a @dfn{select method}. To take the latter first, a select method is a
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7919 list where the first element says what backend to use (e.g. @code{nntp},
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7920 @code{nnspool}, @code{nnml}) and the second element is the @dfn{server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7921 name}. There may be additional elements in the select method, where the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7922 value may have special meaning for the backend in question.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7923
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7924 One could say that a select method defines a @dfn{virtual server}---so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7925 we do just that (@pxref{The Server Buffer}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7926
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7927 The @dfn{name} of the group is the name the backend will recognize the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7928 group as.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7929
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7930 For instance, the group @samp{soc.motss} on the @sc{nntp} server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7931 @samp{some.where.edu} will have the name @samp{soc.motss} and select
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7932 method @code{(nntp "some.where.edu")}. Gnus will call this group
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7933 @samp{nntp+some.where.edu:soc.motss}, even though the @code{nntp}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7934 backend just knows this group as @samp{soc.motss}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7935
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7936 The different methods all have their peculiarities, of course.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7937
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7938 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7939 * The Server Buffer:: Making and editing virtual servers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7940 * Getting News:: Reading USENET news with Gnus.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7941 * Getting Mail:: Reading your personal mail with Gnus.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7942 * Other Sources:: Reading directories, files, SOUP packets.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7943 * Combined Groups:: Combining groups into one group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7944 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7945
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7946
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7947 @node The Server Buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7948 @section The Server Buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7949
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7950 Traditionally, a @dfn{server} is a machine or a piece of software that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7951 one connects to, and then requests information from. Gnus does not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7952 connect directly to any real servers, but does all transactions through
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7953 one backend or other. But that's just putting one layer more between
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7954 the actual media and Gnus, so we might just as well say that each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7955 backend represents a virtual server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7956
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7957 For instance, the @code{nntp} backend may be used to connect to several
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7958 different actual @sc{nntp} servers, or, perhaps, to many different ports
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7959 on the same actual @sc{nntp} server. You tell Gnus which backend to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7960 use, and what parameters to set by specifying a @dfn{select method}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7961
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7962 These select methods specifications can sometimes become quite
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7963 complicated---say, for instance, that you want to read from the
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
7964 @sc{nntp} server @samp{news.funet.fi} on port number 13, which
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7965 hangs if queried for @sc{nov} headers and has a buggy select. Ahem.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7966 Anyways, if you had to specify that for each group that used this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7967 server, that would be too much work, so Gnus offers a way of naming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7968 select methods, which is what you do in the server buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7969
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7970 To enter the server buffer, user the @kbd{^}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7971 (@code{gnus-group-enter-server-mode}) command in the group buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7972
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7973 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7974 * Server Buffer Format:: You can customize the look of this buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7975 * Server Commands:: Commands to manipulate servers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7976 * Example Methods:: Examples server specifications.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7977 * Creating a Virtual Server:: An example session.
24
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
7978 * Server Variables:: Which variables to set.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7979 * Servers and Methods:: You can use server names as select methods.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7980 * Unavailable Servers:: Some servers you try to contact may be down.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7981 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7982
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7983 @vindex gnus-server-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7984 @code{gnus-server-mode-hook} is run when creating the server buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7985
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7986
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7987 @node Server Buffer Format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7988 @subsection Server Buffer Format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7989 @cindex server buffer format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7990
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7991 @vindex gnus-server-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7992 You can change the look of the server buffer lines by changing the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7993 @code{gnus-server-line-format} variable. This is a @code{format}-like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7994 variable, with some simple extensions:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7995
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7996 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7997
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7998 @item h
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7999 How the news is fetched---the backend name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8000
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8001 @item n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8002 The name of this server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8003
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8004 @item w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8005 Where the news is to be fetched from---the address.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8006
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8007 @item s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8008 The opened/closed/denied status of the server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8009 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8010
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8011 @vindex gnus-server-mode-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8012 The mode line can also be customized by using the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8013 @code{gnus-server-mode-line-format} variable. The following specs are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8014 understood:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8015
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8016 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8017 @item S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8018 Server name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8019
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8020 @item M
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8021 Server method.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8022 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8023
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8024 Also @pxref{Formatting Variables}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8025
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8026
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8027 @node Server Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8028 @subsection Server Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8029 @cindex server commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8030
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8031 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8032
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8033 @item a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8034 @kindex a (Server)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8035 @findex gnus-server-add-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8036 Add a new server (@code{gnus-server-add-server}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8037
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8038 @item e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8039 @kindex e (Server)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8040 @findex gnus-server-edit-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8041 Edit a server (@code{gnus-server-edit-server}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8042
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8043 @item SPACE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8044 @kindex SPACE (Server)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8045 @findex gnus-server-read-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8046 Browse the current server (@code{gnus-server-read-server}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8047
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8048 @item q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8049 @kindex q (Server)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8050 @findex gnus-server-exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8051 Return to the group buffer (@code{gnus-server-exit}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8052
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8053 @item k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8054 @kindex k (Server)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8055 @findex gnus-server-kill-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8056 Kill the current server (@code{gnus-server-kill-server}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8057
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8058 @item y
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8059 @kindex y (Server)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8060 @findex gnus-server-yank-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8061 Yank the previously killed server (@code{gnus-server-yank-server}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8062
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8063 @item c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8064 @kindex c (Server)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8065 @findex gnus-server-copy-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8066 Copy the current server (@code{gnus-server-copy-server}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8067
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8068 @item l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8069 @kindex l (Server)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8070 @findex gnus-server-list-servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8071 List all servers (@code{gnus-server-list-servers}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8072
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8073 @item s
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8074 @kindex s (Server)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8075 @findex gnus-server-scan-server
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8076 Request that the server scan its sources for new articles
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8077 (@code{gnus-server-scan-server}). This is mainly sensible with mail
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8078 servers.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8079
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8080 @item g
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8081 @kindex g (Server)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8082 @findex gnus-server-regenerate-server
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8083 Request that the server regenerate all its data structures
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8084 (@code{gnus-server-regenerate-server}). This can be useful if you have
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8085 a mail backend that has gotten out of synch.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8086
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8087 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8088
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8089
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8090 @node Example Methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8091 @subsection Example Methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8092
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8093 Most select methods are pretty simple and self-explanatory:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8094
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8095 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8096 (nntp "news.funet.fi")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8097 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8098
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8099 Reading directly from the spool is even simpler:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8100
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8101 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8102 (nnspool "")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8103 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8104
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8105 As you can see, the first element in a select method is the name of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8106 backend, and the second is the @dfn{address}, or @dfn{name}, if you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8107 will.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8108
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8109 After these two elements, there may be a arbitrary number of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8110 @var{(variable form)} pairs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8111
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8112 To go back to the first example---imagine that you want to read from
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8113 port 15 from that machine. This is what the select method should
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8114 look like then:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8115
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8116 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8117 (nntp "news.funet.fi" (nntp-port-number 15))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8118 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8119
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8120 You should read the documentation to each backend to find out what
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8121 variables are relevant, but here's an @code{nnmh} example.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8122
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8123 @code{nnmh} is a mail backend that reads a spool-like structure. Say
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8124 you have two structures that you wish to access: One is your private
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8125 mail spool, and the other is a public one. Here's the possible spec for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8126 you private mail:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8127
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8128 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8129 (nnmh "private" (nnmh-directory "~/private/mail/"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8130 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8131
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8132 (This server is then called @samp{private}, but you may have guessed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8133 that.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8134
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8135 Here's the method for a public spool:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8136
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8137 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8138 (nnmh "public"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8139 (nnmh-directory "/usr/information/spool/")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8140 (nnmh-get-new-mail nil))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8141 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8142
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8143 If you are behind a firewall and only have access to the @sc{nntp}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8144 server from the firewall machine, you can instruct Gnus to @code{rlogin}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8145 on the firewall machine and telnet from there to the @sc{nntp} server.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8146 Doing this can be rather fiddly, but your virtual server definition
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8147 should probably look something like this:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8148
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8149 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8150 (nntp "firewall"
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8151 (nntp-address "the.firewall.machine")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8152 (nntp-open-connection-function nntp-open-rlogin)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8153 (nntp-end-of-line "\n")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8154 (nntp-rlogin-parameters
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8155 ("telnet" "the.real.nntp.host" "nntp")))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8156 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8157
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8158
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8159
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8160 @node Creating a Virtual Server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8161 @subsection Creating a Virtual Server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8162
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8163 If you're saving lots of articles in the cache by using persistent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8164 articles, you may want to create a virtual server to read the cache.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8165
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8166 First you need to add a new server. The @kbd{a} command does that. It
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8167 would probably be best to use @code{nnspool} to read the cache. You
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8168 could also use @code{nnml} or @code{nnmh}, though.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8169
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8170 Type @kbd{a nnspool RET cache RET}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8171
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8172 You should now have a brand new @code{nnspool} virtual server called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8173 @samp{cache}. You now need to edit it to have the right definitions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8174 Type @kbd{e} to edit the server. You'll be entered into a buffer that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8175 will contain the following:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8176
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8177 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8178 (nnspool "cache")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8179 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8180
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8181 Change that to:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8182
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8183 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8184 (nnspool "cache"
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8185 (nnspool-spool-directory "~/News/cache/")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8186 (nnspool-nov-directory "~/News/cache/")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8187 (nnspool-active-file "~/News/cache/active"))
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8188 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8189
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8190 Type @kbd{C-c C-c} to return to the server buffer. If you now press
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8191 @kbd{RET} over this virtual server, you should be entered into a browse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8192 buffer, and you should be able to enter any of the groups displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8193
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8194
24
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8195 @node Server Variables
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8196 @subsection Server Variables
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8197
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8198 One sticky point when defining variables (both on backends and in Emacs
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8199 in general) is that some variables are typically initialized from other
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8200 variables when the definition of the variables is being loaded. If you
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8201 change the "base" variable after the variables have been loaded, you
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8202 won't change the "derived" variables.
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8203
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8204 This typically affects directory and file variables. For instance,
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8205 @code{nnml-directory} is @file{~/Mail/} by default, and all @code{nnml}
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8206 directory variables are initialized from that variable, so
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8207 @code{nnml-active-file} will be @file{~/Mail/active}. If you define a
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8208 new virtual @code{nnml} server, it will @emph{not} suffice to set just
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8209 @code{nnml-directory}---you have to explicitly set all the file
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8210 variables to be what you want them to be. For a complete list of
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8211 variables for each backend, see each backend's section later in this
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8212 manual, but here's an example @code{nnml} definition:
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8213
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8214 @lisp
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8215 (nnml "public"
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8216 (nnml-directory "~/my-mail/")
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8217 (nnml-active-file "~/my-mail/active")
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8218 (nnml-newsgroups-file "~/my-mail/newsgroups"))
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8219 @end lisp
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8220
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8221
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8222 @node Servers and Methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8223 @subsection Servers and Methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8224
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8225 Wherever you would normally use a select method
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8226 (e.g. @code{gnus-secondary-select-method}, in the group select method,
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8227 when browsing a foreign server) you can use a virtual server name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8228 instead. This could potentially save lots of typing. And it's nice all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8229 over.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8230
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8231
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8232 @node Unavailable Servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8233 @subsection Unavailable Servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8234
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8235 If a server seems to be unreachable, Gnus will mark that server as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8236 @code{denied}. That means that any subsequent attempt to make contact
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8237 with that server will just be ignored. ``It can't be opened,'' Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8238 will tell you, without making the least effort to see whether that is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8239 actually the case or not.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8240
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8241 That might seem quite naughty, but it does make sense most of the time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8242 Let's say you have 10 groups subscribed to the server
42
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
8243 @samp{nephelococcygia.com}. This server is located somewhere quite far
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
8244 away from you and the machine is quite slow, so it takes 1 minute just
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
8245 to find out that it refuses connection from you today. If Gnus were to
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
8246 attempt to do that 10 times, you'd be quite annoyed, so Gnus won't
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
8247 attempt to do that. Once it has gotten a single ``connection refused'',
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
8248 it will regard that server as ``down''.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8250 So, what happens if the machine was only feeling unwell temporarily?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8251 How do you test to see whether the machine has come up again?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8252
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8253 You jump to the server buffer (@pxref{The Server Buffer}) and poke it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8254 with the following commands:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8255
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8256 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8257
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8258 @item O
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8259 @kindex O (Server)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8260 @findex gnus-server-open-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8261 Try to establish connection to the server on the current line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8262 (@code{gnus-server-open-server}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8263
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8264 @item C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8265 @kindex C (Server)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8266 @findex gnus-server-close-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8267 Close the connection (if any) to the server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8268 (@code{gnus-server-close-server}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8269
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8270 @item D
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8271 @kindex D (Server)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8272 @findex gnus-server-deny-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8273 Mark the current server as unreachable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8274 (@code{gnus-server-deny-server}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8275
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8276 @item M-o
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8277 @kindex M-o (Server)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8278 @findex gnus-server-open-all-servers
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8279 Open the connections to all servers in the buffer
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8280 (@code{gnus-server-open-all-servers}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8281
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8282 @item M-c
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8283 @kindex M-c (Server)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8284 @findex gnus-server-close-all-servers
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8285 Close the connections to all servers in the buffer
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8286 (@code{gnus-server-close-all-servers}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8287
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8288 @item R
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8289 @kindex R (Server)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8290 @findex gnus-server-remove-denials
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8291 Remove all marks to whether Gnus was denied connection from all servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8292 (@code{gnus-server-remove-denials}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8293
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8294 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8295
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8296
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8297 @node Getting News
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8298 @section Getting News
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8299 @cindex reading news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8300 @cindex news backends
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8301
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8302 A newsreader is normally used for reading news. Gnus currently provides
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
8303 only two methods of getting news---it can read from an @sc{nntp} server,
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
8304 or it can read from a local spool.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8305
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8306 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8307 * NNTP:: Reading news from an @sc{nntp} server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8308 * News Spool:: Reading news from the local spool.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8309 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8310
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8311
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8312 @node NNTP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8313 @subsection @sc{nntp}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8314 @cindex nntp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8315
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8316 Subscribing to a foreign group from an @sc{nntp} server is rather easy.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8317 You just specify @code{nntp} as method and the address of the @sc{nntp}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8318 server as the, uhm, address.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8319
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8320 If the @sc{nntp} server is located at a non-standard port, setting the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8321 third element of the select method to this port number should allow you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8322 to connect to the right port. You'll have to edit the group info for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8323 that (@pxref{Foreign Groups}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8324
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8325 The name of the foreign group can be the same as a native group. In
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8326 fact, you can subscribe to the same group from as many different servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8327 you feel like. There will be no name collisions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8328
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8329 The following variables can be used to create a virtual @code{nntp}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8330 server:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8331
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8332 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8333
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8334 @item nntp-server-opened-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8335 @vindex nntp-server-opened-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8336 @cindex @sc{mode reader}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8337 @cindex authinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8338 @cindex authentification
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8339 @cindex nntp authentification
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8340 @findex nntp-send-authinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8341 @findex nntp-send-mode-reader
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8342 @code{nntp-server-opened-hook} is run after a connection has been made.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8343 It can be used to send commands to the @sc{nntp} server after it has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8344 been contacted. By default is sends the command @code{MODE READER} to
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8345 the server with the @code{nntp-send-mode-reader} function.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8346
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8347 @item nntp-authinfo-function
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8348 @vindex nntp-authinfo-function
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8349 This function will be used to send @samp{AUTHINFO} to the @sc{nntp}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8350 server. Available functions include:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8351
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8352 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8353 @item nntp-send-authinfo
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8354 @findex nntp-send-authinfo
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8355 This function will used you current login name as the user name and will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8356 prompt you for the password. This is the default.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8357
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8358 @item nntp-send-nosy-authinfo
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8359 @findex nntp-send-nosy-authinfo
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8360 This function will prompt you for both user name and password.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8361
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8362 @item nntp-send-authinfo-from-file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8363 @findex nntp-send-authinfo-from-file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8364 This function will use your current login name as the user name and will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8365 read the @sc{nntp} password from @file{~/.nntp-authinfo}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8366 @end table
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8367
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8368 @item nntp-server-action-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8369 @vindex nntp-server-action-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8370 This is an list of regexps to match on server types and actions to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8371 taken when matches are made. For instance, if you want Gnus to beep
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8372 every time you connect to innd, you could say something like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8373
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8374 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8375 (setq nntp-server-action-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8376 '(("innd" (ding))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8377 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8378
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8379 You probably don't want to do that, though.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8380
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8381 The default value is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8382
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8383 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8384 '(("nntpd 1\\.5\\.11t"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8385 (remove-hook 'nntp-server-opened-hook nntp-send-mode-reader)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8386 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8387
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8388 This ensures that Gnus doesn't send the @code{MODE READER} command to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8389 nntpd 1.5.11t, since that command chokes that server, I've been told.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8390
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8391 @item nntp-maximum-request
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8392 @vindex nntp-maximum-request
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8393 If the @sc{nntp} server doesn't support @sc{nov} headers, this backend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8394 will collect headers by sending a series of @code{head} commands. To
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8395 speed things up, the backend sends lots of these commands without
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8396 waiting for reply, and then reads all the replies. This is controlled
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8397 by the @code{nntp-maximum-request} variable, and is 400 by default. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8398 your network is buggy, you should set this to 1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8399
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8400 @item nntp-connection-timeout
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8401 @vindex nntp-connection-timeout
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8402 If you have lots of foreign @code{nntp} groups that you connect to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8403 regularly, you're sure to have problems with @sc{nntp} servers not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8404 responding properly, or being too loaded to reply within reasonable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8405 time. This is can lead to awkward problems, which can be helped
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8406 somewhat by setting @code{nntp-connection-timeout}. This is an integer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8407 that says how many seconds the @code{nntp} backend should wait for a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8408 connection before giving up. If it is @code{nil}, which is the default,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8409 no timeouts are done.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8410
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8411 @item nntp-command-timeout
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8412 @vindex nntp-command-timeout
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8413 @cindex PPP connections
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8414 @cindex dynamic IP addresses
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8415 If you're running Gnus on a machine that has a dynamically assigned
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8416 address, Gnus may become confused. If the address of your machine
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8417 changes after connecting to the @sc{nntp} server, Gnus will simply sit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8418 waiting forever for replies from the server. To help with this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8419 unfortunate problem, you can set this command to a number. Gnus will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8420 then, if it sits waiting longer than that number of seconds for a reply
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8421 from the server, shut down the connection, start a new one, and resend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8422 the command. This should hopefully be transparent to the user. A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8423 likely number is 30 seconds.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8424
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8425 @item nntp-retry-on-break
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8426 @vindex nntp-retry-on-break
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8427 If this variable is non-@code{nil}, you can also @kbd{C-g} if Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8428 hangs. This will have much the same effect as the command timeout
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8429 described above.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8430
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8431 @item nntp-server-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8432 @vindex nntp-server-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8433 This hook is run as the last step when connecting to an @sc{nntp}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8434 server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8435
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8436 @findex nntp-open-rlogin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8437 @findex nntp-open-network-stream
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8438 @item nntp-open-connection-function
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8439 @vindex nntp-open-connection-function
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8440 This function is used to connect to the remote system. Two pre-made
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8441 functions are @code{nntp-open-network-stream}, which is the default, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8442 simply connects to some port or other on the remote system. The other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8443 is @code{nntp-open-rlogin}, which does an rlogin on the remote system,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8444 and then does a telnet to the @sc{nntp} server available there.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8445
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8446 @item nntp-rlogin-parameters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8447 @vindex nntp-rlogin-parameters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8448 If you use @code{nntp-open-rlogin} as the
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8449 @code{nntp-open-connection-function}, this list will be used as the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8450 parameter list given to @code{rsh}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8451
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8452 @item nntp-end-of-line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8453 @vindex nntp-end-of-line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8454 String to use as end-of-line markers when talking to the @sc{nntp}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8455 server. This is @samp{\r\n} by default, but should be @samp{\n} when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8456 using @code{rlogin} to talk to the server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8457
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8458 @item nntp-rlogin-user-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8459 @vindex nntp-rlogin-user-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8460 User name on the remote system when using the @code{rlogin} connect
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8461 function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8462
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8463 @item nntp-address
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8464 @vindex nntp-address
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8465 The address of the remote system running the @sc{nntp} server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8466
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8467 @item nntp-port-number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8468 @vindex nntp-port-number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8469 Port number to connect to when using the @code{nntp-open-network-stream}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8470 connect function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8471
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8472 @item nntp-buggy-select
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8473 @vindex nntp-buggy-select
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8474 Set this to non-@code{nil} if your select routine is buggy.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8475
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8476 @item nntp-nov-is-evil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8477 @vindex nntp-nov-is-evil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8478 If the @sc{nntp} server does not support @sc{nov}, you could set this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8479 variable to @code{t}, but @code{nntp} usually checks whether @sc{nov}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8480 can be used automatically.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8481
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8482 @item nntp-xover-commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8483 @vindex nntp-xover-commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8484 @cindex nov
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8485 @cindex XOVER
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8486 List of strings that are used as commands to fetch @sc{nov} lines from a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8487 server. The default value of this variable is @code{("XOVER"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8488 "XOVERVIEW")}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8489
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8490 @item nntp-nov-gap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8491 @vindex nntp-nov-gap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8492 @code{nntp} normally sends just one big request for @sc{nov} lines to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8493 the server. The server responds with one huge list of lines. However,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8494 if you have read articles 2-5000 in the group, and only want to read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8495 article 1 and 5001, that means that @code{nntp} will fetch 4999 @sc{nov}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8496 lines that you do not want, and will not use. This variable says how
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8497 big a gap between two consecutive articles is allowed to be before the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8498 @code{XOVER} request is split into several request. Note that if your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8499 network is fast, setting this variable to a really small number means
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8500 that fetching will probably be slower. If this variable is @code{nil},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8501 @code{nntp} will never split requests.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8502
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8503 @item nntp-prepare-server-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8504 @vindex nntp-prepare-server-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8505 A hook run before attempting to connect to an @sc{nntp} server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8506
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8507 @item nntp-warn-about-losing-connection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8508 @vindex nntp-warn-about-losing-connection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8509 If this variable is non-@code{nil}, some noise will be made when a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8510 server closes connection.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8511
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8512 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8513
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8514
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8515 @node News Spool
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8516 @subsection News Spool
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8517 @cindex nnspool
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8518 @cindex news spool
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8519
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8520 Subscribing to a foreign group from the local spool is extremely easy,
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8521 and might be useful, for instance, to speed up reading groups that
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8522 contain very big articles---@samp{alt.binaries.pictures.furniture}, for
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8523 instance.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8524
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8525 Anyways, you just specify @code{nnspool} as the method and @samp{} (or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8526 anything else) as the address.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8527
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8528 If you have access to a local spool, you should probably use that as the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8529 native select method (@pxref{Finding the News}). It is normally faster
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8530 than using an @code{nntp} select method, but might not be. It depends.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8531 You just have to try to find out what's best at your site.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8532
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8533 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8534
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8535 @item nnspool-inews-program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8536 @vindex nnspool-inews-program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8537 Program used to post an article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8538
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8539 @item nnspool-inews-switches
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8540 @vindex nnspool-inews-switches
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8541 Parameters given to the inews program when posting an article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8542
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8543 @item nnspool-spool-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8544 @vindex nnspool-spool-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8545 Where @code{nnspool} looks for the articles. This is normally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8546 @file{/usr/spool/news/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8547
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8548 @item nnspool-nov-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8549 @vindex nnspool-nov-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8550 Where @code{nnspool} will look for @sc{nov} files. This is normally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8551 @file{/usr/spool/news/over.view/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8552
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8553 @item nnspool-lib-dir
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8554 @vindex nnspool-lib-dir
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8555 Where the news lib dir is (@file{/usr/lib/news/} by default).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8556
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8557 @item nnspool-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8558 @vindex nnspool-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8559 The path of the active file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8560
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8561 @item nnspool-newsgroups-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8562 @vindex nnspool-newsgroups-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8563 The path of the group descriptions file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8564
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8565 @item nnspool-history-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8566 @vindex nnspool-history-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8567 The path of the news history file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8568
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8569 @item nnspool-active-times-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8570 @vindex nnspool-active-times-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8571 The path of the active date file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8572
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8573 @item nnspool-nov-is-evil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8574 @vindex nnspool-nov-is-evil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8575 If non-@code{nil}, @code{nnspool} won't try to use any @sc{nov} files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8576 that it finds.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8577
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8578 @item nnspool-sift-nov-with-sed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8579 @vindex nnspool-sift-nov-with-sed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8580 @cindex sed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8581 If non-@code{nil}, which is the default, use @code{sed} to get the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8582 relevant portion from the overview file. If nil, @code{nnspool} will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8583 load the entire file into a buffer and process it there.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8584
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8585 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8586
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8587
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8588 @node Getting Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8589 @section Getting Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8590 @cindex reading mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8591 @cindex mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8592
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8593 Reading mail with a newsreader---isn't that just plain WeIrD? But of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8594 course.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8595
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8596 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8597 * Getting Started Reading Mail:: A simple cookbook example.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8598 * Splitting Mail:: How to create mail groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8599 * Mail Backend Variables:: Variables for customizing mail handling.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8600 * Fancy Mail Splitting:: Gnus can do hairy splitting of incoming mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8601 * Mail and Procmail:: Reading mail groups that procmail create.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8602 * Incorporating Old Mail:: What about the old mail you have?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8603 * Expiring Mail:: Getting rid of unwanted mail.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8604 * Washing Mail:: Removing gruft from the mail you get.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8605 * Duplicates:: Dealing with duplicated mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8606 * Not Reading Mail:: Using mail backends for reading other files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8607 * Choosing a Mail Backend:: Gnus can read a variety of mail formats.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8608 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8609
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8610
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8611 @node Getting Started Reading Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8612 @subsection Getting Started Reading Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8613
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8614 It's quite easy to use Gnus to read your new mail. You just plonk the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8615 mail backend of your choice into @code{gnus-secondary-select-methods},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8616 and things will happen automatically.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8617
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8618 For instance, if you want to use @code{nnml} (which is a one file per
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8619 mail backend), you could put the following in your @file{.gnus} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8620
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8621 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8622 (setq gnus-secondary-select-methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8623 '((nnml "private")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8624 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8625
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8626 Now, the next time you start Gnus, this backend will be queried for new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8627 articles, and it will move all the messages in your spool file to its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8628 directory, which is @code{~/Mail/} by default. The new group that will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8629 be created (@samp{mail.misc}) will be subscribed, and you can read it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8630 like any other group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8631
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8632 You will probably want to split the mail into several groups, though:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8633
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8634 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8635 (setq nnmail-split-methods
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8636 '(("junk" "^From:.*Lars Ingebrigtsen")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8637 ("crazy" "^Subject:.*die\\|^Organization:.*flabby")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8638 ("other" "")))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8639 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8640
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8641 This will result in three new @code{nnml} mail groups being created:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8642 @samp{nnml:junk}, @samp{nnml:crazy}, and @samp{nnml:other}. All the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8643 mail that doesn't fit into the first two groups will be placed in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8644 latter group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8645
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8646 This should be sufficient for reading mail with Gnus. You might want to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8647 give the other sections in this part of the manual a perusal, though,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8648 especially @pxref{Choosing a Mail Backend} and @pxref{Expiring Mail}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8649
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8650
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8651 @node Splitting Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8652 @subsection Splitting Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8653 @cindex splitting mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8654 @cindex mail splitting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8655
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8656 @vindex nnmail-split-methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8657 The @code{nnmail-split-methods} variable says how the incoming mail is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8658 to be split into groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8659
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8660 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8661 (setq nnmail-split-methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8662 '(("mail.junk" "^From:.*Lars Ingebrigtsen")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8663 ("mail.crazy" "^Subject:.*die\\|^Organization:.*flabby")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8664 ("mail.other" "")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8665 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8666
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8667 This variable is a list of lists, where the first element of each of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8668 these lists is the name of the mail group (they do not have to be called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8669 something beginning with @samp{mail}, by the way), and the second
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8670 element is a regular expression used on the header of each mail to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8671 determine if it belongs in this mail group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8672
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8673 If the first element is the special symbol @code{junk}, then messages
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8674 that match the regexp will disappear into the aether. Use with
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8675 extreme caution.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8676
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8677 The second element can also be a function. In that case, it will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8678 called narrowed to the headers with the first element of the rule as the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8679 argument. It should return a non-@code{nil} value if it thinks that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8680 mail belongs in that group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8681
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8682 The last of these groups should always be a general one, and the regular
18
d95e72db5c07 Import from CVS: tag r19-15b92
cvs
parents: 16
diff changeset
8683 expression should @emph{always} be @samp{} so that it matches any mails
d95e72db5c07 Import from CVS: tag r19-15b92
cvs
parents: 16
diff changeset
8684 that haven't been matched by any of the other regexps. (These rules are
d95e72db5c07 Import from CVS: tag r19-15b92
cvs
parents: 16
diff changeset
8685 processed from the beginning of the alist toward the end. The first
d95e72db5c07 Import from CVS: tag r19-15b92
cvs
parents: 16
diff changeset
8686 rule to make a match will "win", unless you have crossposting enabled.
d95e72db5c07 Import from CVS: tag r19-15b92
cvs
parents: 16
diff changeset
8687 In that case, all matching rules will "win".)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8688
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8689 If you like to tinker with this yourself, you can set this variable to a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8690 function of your choice. This function will be called without any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8691 arguments in a buffer narrowed to the headers of an incoming mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8692 message. The function should return a list of groups names that it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8693 thinks should carry this mail message.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8694
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8695 Note that the mail backends are free to maul the poor, innocent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8696 incoming headers all they want to. They all add @code{Lines} headers;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8697 some add @code{X-Gnus-Group} headers; most rename the Unix mbox
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8698 @code{From<SPACE>} line to something else.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8699
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8700 @vindex nnmail-crosspost
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8701 The mail backends all support cross-posting. If several regexps match,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8702 the mail will be ``cross-posted'' to all those groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8703 @code{nnmail-crosspost} says whether to use this mechanism or not. Note
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8704 that no articles are crossposted to the general (@samp{}) group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8705
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8706 @vindex nnmail-crosspost-link-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8707 @cindex crosspost
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8708 @cindex links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8709 @code{nnmh} and @code{nnml} makes crossposts by creating hard links to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8710 the crossposted articles. However, not all files systems support hard
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8711 links. If that's the case for you, set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8712 @code{nnmail-crosspost-link-function} to @code{copy-file}. (This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8713 variable is @code{add-name-to-file} by default.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8714
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8715 @kindex M-x nnmail-split-history
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8716 @kindex nnmail-split-history
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8717 If you wish to see where the previous mail split put the messages, you
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8718 can use the @kbd{M-x nnmail-split-history} command.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8719
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8720 Gnus gives you all the opportunity you could possibly want for shooting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8721 yourself in the foot. Let's say you create a group that will contain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8722 all the mail you get from your boss. And then you accidentally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8723 unsubscribe from the group. Gnus will still put all the mail from your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8724 boss in the unsubscribed group, and so, when your boss mails you ``Have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8725 that report ready by Monday or you're fired!'', you'll never see it and,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8726 come Tuesday, you'll still believe that you're gainfully employed while
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8727 you really should be out collecting empty bottles to save up for next
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8728 month's rent money.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8729
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8730
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8731 @node Mail Backend Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8732 @subsection Mail Backend Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8733
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8734 These variables are (for the most part) pertinent to all the various
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8735 mail backends.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8736
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8737 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8738 @vindex nnmail-read-incoming-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8739 @item nnmail-read-incoming-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8740 The mail backends all call this hook after reading new mail. You can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8741 use this hook to notify any mail watch programs, if you want to.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8742
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8743 @vindex nnmail-spool-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8744 @item nnmail-spool-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8745 @cindex POP mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8746 @cindex MAILHOST
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8747 @cindex movemail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8748 @vindex nnmail-pop-password
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8749 @vindex nnmail-pop-password-required
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8750 The backends will look for new mail in this file. If this variable is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8751 @code{nil}, the mail backends will never attempt to fetch mail by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8752 themselves. If you are using a POP mail server and your name is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8753 @samp{larsi}, you should set this variable to @samp{po:larsi}. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8754 your name is not @samp{larsi}, you should probably modify that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8755 slightly, but you may have guessed that already, you smart & handsome
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8756 devil! You can also set this variable to @code{pop}, and Gnus will try
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8757 to figure out the POP mail string by itself. In any case, Gnus will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8758 call @code{movemail} which will contact the POP server named in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8759 @code{MAILHOST} environment variable. If the POP server needs a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8760 password, you can either set @code{nnmail-pop-password-required} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8761 @code{t} and be prompted for the password, or set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8762 @code{nnmail-pop-password} to the password itself.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8763
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 18
diff changeset
8764 @code{nnmail-spool-file} can also be a list of mailboxes.
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 18
diff changeset
8765
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8766 Your Emacs has to have been configured with @samp{--with-pop} before
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8767 compilation. This is the default, but some installations have it
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8768 switched off.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8769
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8770 When you use a mail backend, Gnus will slurp all your mail from your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8771 inbox and plonk it down in your home directory. Gnus doesn't move any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8772 mail if you're not using a mail backend---you have to do a lot of magic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8773 invocations first. At the time when you have finished drawing the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8774 pentagram, lightened the candles, and sacrificed the goat, you really
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8775 shouldn't be too surprised when Gnus moves your mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8776
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8777 @vindex nnmail-use-procmail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8778 @vindex nnmail-procmail-suffix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8779 @item nnmail-use-procmail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8780 If non-@code{nil}, the mail backends will look in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8781 @code{nnmail-procmail-directory} for incoming mail. All the files in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8782 that directory that have names ending in @code{nnmail-procmail-suffix}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8783 will be considered incoming mailboxes, and will be searched for new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8784 mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8785
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8786 @vindex nnmail-crash-box
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8787 @item nnmail-crash-box
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8788 When the mail backends read a spool file, it is first moved to this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8789 file, which is @file{~/.gnus-crash-box} by default. If this file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8790 already exists, it will always be read (and incorporated) before any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8791 other spool files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8792
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8793 @vindex nnmail-prepare-incoming-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8794 @item nnmail-prepare-incoming-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8795 This is run in a buffer that holds all the new incoming mail, and can be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8796 used for, well, anything, really.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8797
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8798 @vindex nnmail-split-hook
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8799 @item nnmail-split-hook
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8800 @findex article-decode-rfc1522
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8801 @findex RFC1522 decoding
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8802 Hook run in the buffer where the mail headers of each message is kept
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8803 just before the splitting based on these headers is done. The hook is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8804 free to modify the buffer contents in any way it sees fit---the buffer
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8805 is discarded after the splitting has been done, and no changes performed
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8806 in the buffer will show up in any files. @code{gnus-article-decode-rfc1522}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8807 is one likely function to add to this hook.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8808
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8809 @vindex nnmail-pre-get-new-mail-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8810 @vindex nnmail-post-get-new-mail-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8811 @item nnmail-pre-get-new-mail-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8812 @itemx nnmail-post-get-new-mail-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8813 These are two useful hooks executed when treating new incoming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8814 mail---@code{nnmail-pre-get-new-mail-hook} (is called just before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8815 starting to handle the new mail) and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8816 @code{nnmail-post-get-new-mail-hook} (is called when the mail handling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8817 is done). Here's and example of using these two hooks to change the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8818 default file modes the new mail files get:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8819
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8820 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8821 (add-hook 'gnus-pre-get-new-mail-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8822 (lambda () (set-default-file-modes 511)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8823
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8824 (add-hook 'gnus-post-get-new-mail-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8825 (lambda () (set-default-file-modes 551)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8826 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8827
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8828 @item nnmail-tmp-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8829 @vindex nnmail-tmp-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8830 This variable says where to move the incoming mail to while processing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8831 it. This is usually done in the same directory that the mail backend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8832 inhabits (i.e., @file{~/Mail/}), but if this variable is non-@code{nil},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8833 it will be used instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8834
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8835 @item nnmail-movemail-program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8836 @vindex nnmail-movemail-program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8837 This program is executed to move mail from the user's inbox to her home
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8838 directory. The default is @samp{movemail}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8839
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8840 This can also be a function. In that case, the function will be called
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8841 with two parameters -- the name of the inbox, and the file to be moved
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8842 to.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8843
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8844 @item nnmail-delete-incoming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8845 @vindex nnmail-delete-incoming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8846 @cindex incoming mail files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8847 @cindex deleting incoming files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8848 If non-@code{nil}, the mail backends will delete the temporary incoming
24
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8849 file after splitting mail into the proper groups. This is @code{t} by
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8850 default.
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8851
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8852 @c This is @code{nil} by
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
8853 @c default for reasons of security.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8854
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8855 @c Since Red Gnus is an alpha release, it is to be expected to lose mail.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8856 (No Gnus release since (ding) Gnus 0.10 (or something like that) have
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8857 lost mail, I think, but that's not the point. (Except certain versions
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8858 of Red Gnus.)) By not deleting the Incoming* files, one can be sure to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8859 not lose mail -- if Gnus totally whacks out, one can always recover what
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8860 was lost.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8861
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8862 Delete the @file{Incoming*} files at will.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8863
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8864 @item nnmail-use-long-file-names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8865 @vindex nnmail-use-long-file-names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8866 If non-@code{nil}, the mail backends will use long file and directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8867 names. Groups like @samp{mail.misc} will end up in directories like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8868 @file{mail.misc/}. If it is @code{nil}, the same group will end up in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8869 @file{mail/misc/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8870
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8871 @item nnmail-delete-file-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8872 @vindex nnmail-delete-file-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8873 @findex delete-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8874 Function called to delete files. It is @code{delete-file} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8875
38
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
8876 @item nnmail-cache-accepted-message-ids
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
8877 @vindex nnmail-cache-accepted-message-ids
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
8878 If non-@code{nil}, put the @code{Message-ID}s of articles imported into
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
8879 the backend (via @code{Gcc}, for instance) into the mail duplication
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
8880 discovery cache. The default is @code{nil}.
1a767b41a199 Import from CVS: tag r19-15b102
cvs
parents: 36
diff changeset
8881
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8882 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8883
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8884
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8885 @node Fancy Mail Splitting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8886 @subsection Fancy Mail Splitting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8887 @cindex mail splitting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8888 @cindex fancy mail splitting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8889
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8890 @vindex nnmail-split-fancy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8891 @findex nnmail-split-fancy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8892 If the rather simple, standard method for specifying how to split mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8893 doesn't allow you to do what you want, you can set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8894 @code{nnmail-split-methods} to @code{nnmail-split-fancy}. Then you can
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8895 play with the @code{nnmail-split-fancy} variable.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8896
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8897 Let's look at an example value of this variable first:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8898
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8899 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8900 ;; Messages from the mailer daemon are not crossposted to any of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8901 ;; the ordinary groups. Warnings are put in a separate group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8902 ;; from real errors.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8903 (| ("from" mail (| ("subject" "warn.*" "mail.warning")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8904 "mail.misc"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8905 ;; Non-error messages are crossposted to all relevant
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8906 ;; groups, but we don't crosspost between the group for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8907 ;; (ding) list and the group for other (ding) related mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8908 (& (| (any "ding@@ifi\\.uio\\.no" "ding.list")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8909 ("subject" "ding" "ding.misc"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8910 ;; Other mailing lists...
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8911 (any "procmail@@informatik\\.rwth-aachen\\.de" "procmail.list")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8912 (any "SmartList@@informatik\\.rwth-aachen\\.de" "SmartList.list")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8913 ;; People...
42
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
8914 (any "larsi@@ifi\\.uio\\.no" "people.Lars_Magne_Ingebrigtsen"))
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8915 ;; Unmatched mail goes to the catch all group.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8916 "misc.misc")
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8917 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8918
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8919 This variable has the format of a @dfn{split}. A split is a (possibly)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8920 recursive structure where each split may contain other splits. Here are
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8921 the five possible split syntaxes:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8922
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8923 @enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8924
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8925 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8926 @samp{group}: If the split is a string, that will be taken as a group name.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8927
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8928 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8929 @var{(FIELD VALUE SPLIT)}: If the split is a list, and the first
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8930 element is a string, then that means that if header FIELD (a regexp)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8931 contains VALUE (also a regexp), then store the message as specified by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8932 SPLIT.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8933
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8934 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8935 @var{(| SPLIT...)}: If the split is a list, and the first element is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8936 @code{|} (vertical bar), then process each SPLIT until one of them
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8937 matches. A SPLIT is said to match if it will cause the mail message to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8938 be stored in one or more groups.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8939
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8940 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8941 @var{(& SPLIT...)}: If the split is a list, and the first element is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8942 @code{&}, then process all SPLITs in the list.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8943
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8944 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8945 @code{junk}: If the split is the symbol @code{junk}, then don't save
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8946 this message anywhere.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8947
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8948 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8949 @var{(: function arg1 arg2 ...)}: If the split is a list, and the first
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8950 element is @code{:}, then the second element will be called as a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8951 function with @var{args} given as arguments. The function should return
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8952 a SPLIT.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8953
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8954 @end enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8955
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8956 In these splits, @var{FIELD} must match a complete field name.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8957 @var{VALUE} must match a complete word according to the fundamental mode
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8958 syntax table. You can use @code{.*} in the regexps to match partial
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8959 field names or words. In other words, all @var{VALUE}'s are wrapped in
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8960 @samp{\<} and @samp{\>} pairs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8961
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8962 @vindex nnmail-split-abbrev-alist
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8963 @var{FIELD} and @var{VALUE} can also be lisp symbols, in that case they
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8964 are expanded as specified by the variable
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8965 @code{nnmail-split-abbrev-alist}. This is an alist of cons cells, where
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8966 the car of the cells contains the key, and the cdr contains a string.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8967
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8968 @vindex nnmail-split-fancy-syntax-table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8969 @code{nnmail-split-fancy-syntax-table} is the syntax table in effect
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8970 when all this splitting is performed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8971
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8972 If you want to have Gnus create groups dynamically based on some
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8973 information in the headers, you can say things like:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8974
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8975 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8976 (any "debian-\(\\w*\\)@@lists.debian.org" "mail.debian.\\1")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8977 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8978
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8979 That is, do @code{replace-match}-like substitions in the group names.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
8980
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8981
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8982 @node Mail and Procmail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8983 @subsection Mail and Procmail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8984 @cindex procmail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8985
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8986 @cindex slocal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8987 @cindex elm
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8988 Many people use @code{procmail} (or some other mail filter program or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8989 external delivery agent---@code{slocal}, @code{elm}, etc) to split
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8990 incoming mail into groups. If you do that, you should set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8991 @code{nnmail-spool-file} to @code{procmail} to ensure that the mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8992 backends never ever try to fetch mail by themselves.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8993
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8994 This also means that you probably don't want to set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8995 @code{nnmail-split-methods} either, which has some, perhaps, unexpected
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8996 side effects.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8997
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8998 When a mail backend is queried for what groups it carries, it replies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8999 with the contents of that variable, along with any groups it has figured
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9000 out that it carries by other means. None of the backends (except
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9001 @code{nnmh}) actually go out to the disk and check what groups actually
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9002 exist. (It's not trivial to distinguish between what the user thinks is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9003 a basis for a newsgroup and what is just a plain old file or directory.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9004
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9005 This means that you have to tell Gnus (and the backends) what groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9006 exist by hand.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9007
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9008 Let's take the @code{nnmh} backend as an example.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9009
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9010 The folders are located in @code{nnmh-directory}, say, @file{~/Mail/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9011 There are three folders, @file{foo}, @file{bar} and @file{mail.baz}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9012
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9013 Go to the group buffer and type @kbd{G m}. When prompted, answer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9014 @samp{foo} for the name and @samp{nnmh} for the method. Repeat
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9015 twice for the two other groups, @samp{bar} and @samp{mail.baz}. Be sure
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9016 to include all your mail groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9017
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9018 That's it. You are now set to read your mail. An active file for this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9019 method will be created automatically.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9020
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9021 @vindex nnmail-procmail-suffix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9022 @vindex nnmail-procmail-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9023 If you use @code{nnfolder} or any other backend that store more than a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9024 single article in each file, you should never have procmail add mails to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9025 the file that Gnus sees. Instead, procmail should put all incoming mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9026 in @code{nnmail-procmail-directory}. To arrive at the file name to put
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9027 the incoming mail in, append @code{nnmail-procmail-suffix} to the group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9028 name. The mail backends will read the mail from these files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9029
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9030 @vindex nnmail-resplit-incoming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9031 When Gnus reads a file called @file{mail.misc.spool}, this mail will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9032 put in the @code{mail.misc}, as one would expect. However, if you want
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9033 Gnus to split the mail the normal way, you could set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9034 @code{nnmail-resplit-incoming} to @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9035
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9036 @vindex nnmail-keep-last-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9037 If you use @code{procmail} to split things directory into an @code{nnmh}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9038 directory (which you shouldn't do), you should set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9039 @code{nnmail-keep-last-article} to non-@code{nil} to prevent Gnus from
30
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
9040 ever expiring the final article (i. e., the article with the highest
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
9041 article number) in a mail newsgroup. This is quite, quite important.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9042
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9043 Here's an example setup: The incoming spools are located in
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9044 @file{~/incoming/} and have @samp{""} as suffixes (i. e., the incoming
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9045 spool files have the same names as the equivalent groups). The
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9046 @code{nnfolder} backend is to be used as the mail interface, and the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9047 @code{nnfolder} directory is @file{~/fMail/}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9048
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9049 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9050 (setq nnfolder-directory "~/fMail/")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9051 (setq nnmail-spool-file 'procmail)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9052 (setq nnmail-procmail-directory "~/incoming/")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9053 (setq gnus-secondary-select-methods '((nnfolder "")))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9054 (setq nnmail-procmail-suffix "")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9055 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9056
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9057
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9058 @node Incorporating Old Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9059 @subsection Incorporating Old Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9060
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9061 Most people have lots of old mail stored in various file formats. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9062 you have set up Gnus to read mail using one of the spiffy Gnus mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9063 backends, you'll probably wish to have that old mail incorporated into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9064 your mail groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9065
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9066 Doing so can be quite easy.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9067
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9068 To take an example: You're reading mail using @code{nnml}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9069 (@pxref{Mail Spool}), and have set @code{nnmail-split-methods} to a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9070 satisfactory value (@pxref{Splitting Mail}). You have an old Unix mbox
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9071 file filled with important, but old, mail. You want to move it into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9072 your @code{nnml} groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9073
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9074 Here's how:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9075
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9076 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9077 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9078 Go to the group buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9079
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9080 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9081 Type `G f' and give the path of the mbox file when prompted to create an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9082 @code{nndoc} group from the mbox file (@pxref{Foreign Groups}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9083
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9084 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9085 Type `SPACE' to enter the newly created group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9086
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9087 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9088 Type `M P b' to process-mark all articles in this group (@pxref{Setting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9089 Process Marks}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9090
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9091 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9092 Type `B r' to respool all the process-marked articles, and answer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9093 @samp{nnml} when prompted (@pxref{Mail Group Commands}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9094 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9095
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9096 All the mail messages in the mbox file will now also be spread out over
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9097 all your @code{nnml} groups. Try entering them and check whether things
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9098 have gone without a glitch. If things look ok, you may consider
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9099 deleting the mbox file, but I wouldn't do that unless I was absolutely
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9100 sure that all the mail has ended up where it should be.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9102 Respooling is also a handy thing to do if you're switching from one mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9103 backend to another. Just respool all the mail in the old mail groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9104 using the new mail backend.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9105
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9106
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9107 @node Expiring Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9108 @subsection Expiring Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9109 @cindex article expiry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9111 Traditional mail readers have a tendency to remove mail articles when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9112 you mark them as read, in some way. Gnus takes a fundamentally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9113 different approach to mail reading.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9114
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9115 Gnus basically considers mail just to be news that has been received in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9116 a rather peculiar manner. It does not think that it has the power to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9117 actually change the mail, or delete any mail messages. If you enter a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9118 mail group, and mark articles as ``read'', or kill them in some other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9119 fashion, the mail articles will still exist on the system. I repeat:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9120 Gnus will not delete your old, read mail. Unless you ask it to, of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9121 course.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9122
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9123 To make Gnus get rid of your unwanted mail, you have to mark the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9124 articles as @dfn{expirable}. This does not mean that the articles will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9125 disappear right away, however. In general, a mail article will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9126 deleted from your system if, 1) it is marked as expirable, AND 2) it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9127 more than one week old. If you do not mark an article as expirable, it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9128 will remain on your system until hell freezes over. This bears
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9129 repeating one more time, with some spurious capitalizations: IF you do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9130 NOT mark articles as EXPIRABLE, Gnus will NEVER delete those ARTICLES.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9131
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9132 @vindex gnus-auto-expirable-newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9133 You do not have to mark articles as expirable by hand. Groups that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9134 match the regular expression @code{gnus-auto-expirable-newsgroups} will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9135 have all articles that you read marked as expirable automatically. All
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9136 articles that are marked as expirable have an @samp{E} in the first
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9137 column in the summary buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9138
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9139 Note that making a group auto-expirable don't mean that all read
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9140 articles are expired---only the articles that are marked as expirable
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9141 will be expired. Also note the using the @kbd{d} command won't make
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9142 groups expirable---only semi-automatic marking of articles as read will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9143 mark the articles as expirable in auto-expirable groups.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9144
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9145 Let's say you subscribe to a couple of mailing lists, and you want the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9146 articles you have read to disappear after a while:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9147
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9148 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9149 (setq gnus-auto-expirable-newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9150 "mail.nonsense-list\\|mail.nice-list")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9151 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9152
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9153 Another way to have auto-expiry happen is to have the element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9154 @code{auto-expire} in the group parameters of the group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9155
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9156 If you use adaptive scoring (@pxref{Adaptive Scoring}) and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9157 auto-expiring, you'll have problems. Auto-expiring and adaptive scoring
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9158 doesn't really mix very well.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9159
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9160 @vindex nnmail-expiry-wait
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9161 The @code{nnmail-expiry-wait} variable supplies the default time an
34
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
9162 expirable article has to live. Gnus starts counting days from when the
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
9163 message @emph{arrived}, not from when it was sent. The default is seven
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
9164 days.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9165
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9166 Gnus also supplies a function that lets you fine-tune how long articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9167 are to live, based on what group they are in. Let's say you want to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9168 have one month expiry period in the @samp{mail.private} group, a one day
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9169 expiry period in the @samp{mail.junk} group, and a six day expiry period
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9170 everywhere else:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9171
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9172 @vindex nnmail-expiry-wait-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9173 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9174 (setq nnmail-expiry-wait-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9175 (lambda (group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9176 (cond ((string= group "mail.private")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9177 31)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9178 ((string= group "mail.junk")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9179 1)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9180 ((string= group "important")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9181 'never)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9182 (t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9183 6))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9184 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9185
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9186 The group names that this function is fed are ``unadorned'' group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9187 names---no @samp{nnml:} prefixes and the like.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9188
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9189 The @code{nnmail-expiry-wait} variable and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9190 @code{nnmail-expiry-wait-function} function can be either a number (not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9191 necessarily an integer) or the symbols @code{immediate} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9192 @code{never}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9193
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9194 You can also use the @code{expiry-wait} group parameter to selectively
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9195 change the expiry period (@pxref{Group Parameters}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9196
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9197 @vindex nnmail-keep-last-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9198 If @code{nnmail-keep-last-article} is non-@code{nil}, Gnus will never
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9199 expire the final article in a mail newsgroup. This is to make life
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9200 easier for procmail users.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9201
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9202 @vindex gnus-total-expirable-newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9203 By the way, that line up there about Gnus never expiring non-expirable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9204 articles is a lie. If you put @code{total-expire} in the group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9205 parameters, articles will not be marked as expirable, but all read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9206 articles will be put through the expiry process. Use with extreme
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9207 caution. Even more dangerous is the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9208 @code{gnus-total-expirable-newsgroups} variable. All groups that match
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9209 this regexp will have all read articles put through the expiry process,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9210 which means that @emph{all} old mail articles in the groups in question
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9211 will be deleted after a while. Use with extreme caution, and don't come
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9212 crying to me when you discover that the regexp you used matched the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9213 wrong group and all your important mail has disappeared. Be a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9214 @emph{man}! Or a @emph{woman}! Whatever you feel more comfortable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9215 with! So there!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9216
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9217 Most people make most of their mail groups total-expirable, though.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9218
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9219
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9220 @node Washing Mail
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9221 @subsection Washing Mail
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9222 @cindex mail washing
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9223 @cindex list server brain damage
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9224 @cindex incoming mail treatment
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9225
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9226 Mailers and list servers are notorious for doing all sorts of really,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9227 really stupid things with mail. ``Hey, RFC822 doesn't explicitly
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9228 prohibit us from adding the string @code{wE aRe ElItE!!!!!1!!} to the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9229 end of all lines passing through our server, so let's do that!!!!1!''
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9230 Yes, but RFC822 wasn't designed to be read by morons. Things that were
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9231 considered to be self-evident were not discussed. So. Here we are.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9232
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9233 Case in point: The German version of Microsoft Exchange adds @samp{AW:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9234 } to the subjects of replies instead of @samp{Re: }. I could pretend to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9235 be shocked and dismayed by this, but I haven't got the energy. It is to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9236 laugh.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9237
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9238 Gnus provides a plethora of functions for washing articles while
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9239 displaying them, but it might be nicer to do the filtering before
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9240 storing the mail to disc. For that purpose, we have three hooks and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9241 various functions that can be put in these hooks.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9242
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9243 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9244 @item nnmail-prepare-incoming-hook
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9245 @vindex nnmail-prepare-incoming-hook
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9246 This hook is called before doing anything with the mail and is meant for
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9247 grand, sweeping gestures. Functions to be used include:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9248
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9249 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9250 @item nnheader-ms-strip-cr
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9251 @findex nnheader-ms-strip-cr
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9252 Remove trailing carriage returns from each line. This is default on
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9253 Emacs running on MS machines.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9254
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9255 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9256
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9257 @item nnmail-prepare-incoming-header-hook
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9258 @vindex nnmail-prepare-incoming-header-hook
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9259 This hook is called narrowed to each header. It can be used when
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9260 cleaning up the headers. Functions that can be used include:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9261
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9262 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9263 @item nnmail-remove-leading-whitespace
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9264 @findex nnmail-remove-leading-whitespace
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9265 Clear leading white space that ``helpful'' listservs have added to the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9266 headers too make them look nice. Aaah.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9267
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9268 @item nnmail-remove-list-identifiers
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9269 @findex nnmail-remove-list-identifiers
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9270 Some list servers add an identifier---for example, @samp{(idm)}---to the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9271 beginning of all @code{Subject} headers. I'm sure that's nice for
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9272 people who use stone age mail readers. This function will remove
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9273 strings that match the @code{nnmail-list-identifiers} regexp, which can
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9274 also be a list of regexp.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9275
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9276 For instance, if you want to remove the @samp{(idm)} and the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9277 @samp{nagnagnag} identifiers:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9278
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9279 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9280 (setq nnmail-list-identifiers
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9281 '("(idm)" "nagnagnag"))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9282 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9283
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9284 @item nnmail-remove-tabs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9285 @findex nnmail-remove-tabs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9286 Translate all @samp{TAB} characters into @samp{SPACE} characters.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9287
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9288 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9289
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9290 @item nnmail-prepare-incoming-message-hook
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9291 @vindex nnmail-prepare-incoming-message-hook
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9292 This hook is called narrowed to each message. Functions to be used
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9293 include:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9294
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9295 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9296 @item article-de-quoted-unreadable
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9297 @findex article-de-quoted-unreadable
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9298 Decode Quoted Readable encoding.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9299
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9300 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9301 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9302
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9303
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9304 @node Duplicates
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9305 @subsection Duplicates
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9306
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9307 @vindex nnmail-treat-duplicates
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9308 @vindex nnmail-message-id-cache-length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9309 @vindex nnmail-message-id-cache-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9310 @cindex duplicate mails
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9311 If you are a member of a couple of mailing list, you will sometime
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9312 receive two copies of the same mail. This can be quite annoying, so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9313 @code{nnmail} checks for and treats any duplicates it might find. To do
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9314 this, it keeps a cache of old @code{Message-ID}s---
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9315 @code{nnmail-message-id-cache-file}, which is @file{~/.nnmail-cache} by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9316 default. The approximate maximum number of @code{Message-ID}s stored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9317 there is controlled by the @code{nnmail-message-id-cache-length}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9318 variable, which is 1000 by default. (So 1000 @code{Message-ID}s will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9319 stored.) If all this sounds scary to you, you can set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9320 @code{nnmail-treat-duplicates} to @code{warn} (which is what it is by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9321 default), and @code{nnmail} won't delete duplicate mails. Instead it
30
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
9322 will insert a warning into the head of the mail saying that it thinks
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
9323 that this is a duplicate of a different message.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9324
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9325 This variable can also be a function. If that's the case, the function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9326 will be called from a buffer narrowed to the message in question with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9327 the @code{Message-ID} as a parameter. The function must return either
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9328 @code{nil}, @code{warn}, or @code{delete}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9329
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9330 You can turn this feature off completely by setting the variable to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9331 @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9332
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9333 If you want all the duplicate mails to be put into a special
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9334 @dfn{duplicates} group, you could do that using the normal mail split
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9335 methods:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9336
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9337 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9338 (setq nnmail-split-fancy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9339 '(| ;; Messages duplicates go to a separate group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9340 ("gnus-warning" "duplication of message" "duplicate")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9341 ;; Message from daemons, postmaster, and the like to another.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9342 (any mail "mail.misc")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9343 ;; Other rules.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9344 [ ... ] ))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9345 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9346
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9347 Or something like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9348 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9349 (setq nnmail-split-methods
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9350 '(("duplicates" "^Gnus-Warning:")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9351 ;; Other rules.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9352 [...]))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9353 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9354
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9355 Here's a neat feature: If you know that the recipient reads her mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9356 with Gnus, and that she has @code{nnmail-treat-duplicates} set to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9357 @code{delete}, you can send her as many insults as you like, just by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9358 using a @code{Message-ID} of a mail that you know that she's already
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9359 received. Think of all the fun! She'll never see any of it! Whee!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9360
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9361
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9362 @node Not Reading Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9363 @subsection Not Reading Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9364
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9365 If you start using any of the mail backends, they have the annoying
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9366 habit of assuming that you want to read mail with them. This might not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9367 be unreasonable, but it might not be what you want.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9368
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9369 If you set @code{nnmail-spool-file} to @code{nil}, none of the backends
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9370 will ever attempt to read incoming mail, which should help.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9371
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9372 @vindex nnbabyl-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9373 @vindex nnmbox-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9374 @vindex nnml-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9375 @vindex nnmh-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9376 @vindex nnfolder-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9377 This might be too much, if, for instance, you are reading mail quite
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9378 happily with @code{nnml} and just want to peek at some old @sc{rmail}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9379 file you have stashed away with @code{nnbabyl}. All backends have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9380 variables called backend-@code{get-new-mail}. If you want to disable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9381 the @code{nnbabyl} mail reading, you edit the virtual server for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9382 group to have a setting where @code{nnbabyl-get-new-mail} to @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9383
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9384 All the mail backends will call @code{nn}*@code{-prepare-save-mail-hook}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9385 narrowed to the article to be saved before saving it when reading
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9386 incoming mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9387
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9388
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9389 @node Choosing a Mail Backend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9390 @subsection Choosing a Mail Backend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9391
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9392 Gnus will read the mail spool when you activate a mail group. The mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9393 file is first copied to your home directory. What happens after that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9394 depends on what format you want to store your mail in.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9395
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9396 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9397 * Unix Mail Box:: Using the (quite) standard Un*x mbox.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9398 * Rmail Babyl:: Emacs programs use the rmail babyl format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9399 * Mail Spool:: Store your mail in a private spool?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9400 * MH Spool:: An mhspool-like backend.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9401 * Mail Folders:: Having one file for each group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9402 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9403
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9404
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9405 @node Unix Mail Box
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9406 @subsubsection Unix Mail Box
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9407 @cindex nnmbox
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9408 @cindex unix mail box
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9409
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9410 @vindex nnmbox-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9411 @vindex nnmbox-mbox-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9412 The @dfn{nnmbox} backend will use the standard Un*x mbox file to store
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9413 mail. @code{nnmbox} will add extra headers to each mail article to say
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9414 which group it belongs in.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9415
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9416 Virtual server settings:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9417
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9418 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9419 @item nnmbox-mbox-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9420 @vindex nnmbox-mbox-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9421 The name of the mail box in the user's home directory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9422
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9423 @item nnmbox-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9424 @vindex nnmbox-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9425 The name of the active file for the mail box.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9426
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9427 @item nnmbox-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9428 @vindex nnmbox-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9429 If non-@code{nil}, @code{nnmbox} will read incoming mail and split it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9430 into groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9431 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9432
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9433
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9434 @node Rmail Babyl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9435 @subsubsection Rmail Babyl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9436 @cindex nnbabyl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9437 @cindex rmail mbox
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9438
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9439 @vindex nnbabyl-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9440 @vindex nnbabyl-mbox-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9441 The @dfn{nnbabyl} backend will use a babyl mail box (aka. @dfn{rmail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9442 mbox}) to store mail. @code{nnbabyl} will add extra headers to each mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9443 article to say which group it belongs in.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9444
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9445 Virtual server settings:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9446
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9447 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9448 @item nnbabyl-mbox-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9449 @vindex nnbabyl-mbox-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9450 The name of the rmail mbox file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9451
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9452 @item nnbabyl-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9453 @vindex nnbabyl-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9454 The name of the active file for the rmail box.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9455
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9456 @item nnbabyl-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9457 @vindex nnbabyl-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9458 If non-@code{nil}, @code{nnbabyl} will read incoming mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9459 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9460
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9461
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9462 @node Mail Spool
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9463 @subsubsection Mail Spool
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9464 @cindex nnml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9465 @cindex mail @sc{nov} spool
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9466
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9467 The @dfn{nnml} spool mail format isn't compatible with any other known
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9468 format. It should be used with some caution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9469
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9470 @vindex nnml-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9471 If you use this backend, Gnus will split all incoming mail into files;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9472 one file for each mail, and put the articles into the correct
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9473 directories under the directory specified by the @code{nnml-directory}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9474 variable. The default value is @file{~/Mail/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9475
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9476 You do not have to create any directories beforehand; Gnus will take
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9477 care of all that.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9478
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9479 If you have a strict limit as to how many files you are allowed to store
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9480 in your account, you should not use this backend. As each mail gets its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9481 own file, you might very well occupy thousands of inodes within a few
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9482 weeks. If this is no problem for you, and it isn't a problem for you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9483 having your friendly systems administrator walking around, madly,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9484 shouting ``Who is eating all my inodes?! Who? Who!?!'', then you should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9485 know that this is probably the fastest format to use. You do not have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9486 to trudge through a big mbox file just to read your new mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9487
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9488 @code{nnml} is probably the slowest backend when it comes to article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9489 splitting. It has to create lots of files, and it also generates
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9490 @sc{nov} databases for the incoming mails. This makes is the fastest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9491 backend when it comes to reading mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9492
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9493 Virtual server settings:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9494
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9495 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9496 @item nnml-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9497 @vindex nnml-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9498 All @code{nnml} directories will be placed under this directory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9499
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9500 @item nnml-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9501 @vindex nnml-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9502 The active file for the @code{nnml} server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9503
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9504 @item nnml-newsgroups-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9505 @vindex nnml-newsgroups-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9506 The @code{nnml} group descriptions file. @xref{Newsgroups File
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9507 Format}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9508
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9509 @item nnml-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9510 @vindex nnml-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9511 If non-@code{nil}, @code{nnml} will read incoming mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9512
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9513 @item nnml-nov-is-evil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9514 @vindex nnml-nov-is-evil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9515 If non-@code{nil}, this backend will ignore any @sc{nov} files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9516
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9517 @item nnml-nov-file-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9518 @vindex nnml-nov-file-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9519 The name of the @sc{nov} files. The default is @file{.overview}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9520
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9521 @item nnml-prepare-save-mail-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9522 @vindex nnml-prepare-save-mail-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9523 Hook run narrowed to an article before saving.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9524
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9525 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9526
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9527 @findex nnml-generate-nov-databases
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9528 If your @code{nnml} groups and @sc{nov} files get totally out of whack,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9529 you can do a complete update by typing @kbd{M-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9530 nnml-generate-nov-databases}. This command will trawl through the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9531 entire @code{nnml} hierarchy, looking at each and every article, so it
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9532 might take a while to complete. A better interface to this
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9533 functionality can be found in the server buffer (@pxref{Server
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9534 Commands}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9535
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9536
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9537 @node MH Spool
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9538 @subsubsection MH Spool
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9539 @cindex nnmh
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9540 @cindex mh-e mail spool
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9541
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9542 @code{nnmh} is just like @code{nnml}, except that is doesn't generate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9543 @sc{nov} databases and it doesn't keep an active file. This makes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9544 @code{nnmh} a @emph{much} slower backend than @code{nnml}, but it also
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9545 makes it easier to write procmail scripts for.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9546
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9547 Virtual server settings:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9548
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9549 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9550 @item nnmh-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9551 @vindex nnmh-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9552 All @code{nnmh} directories will be located under this directory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9553
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9554 @item nnmh-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9555 @vindex nnmh-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9556 If non-@code{nil}, @code{nnmh} will read incoming mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9557
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9558 @item nnmh-be-safe
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9559 @vindex nnmh-be-safe
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9560 If non-@code{nil}, @code{nnmh} will go to ridiculous lengths to make
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9561 sure that the articles in the folder are actually what Gnus thinks they
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9562 are. It will check date stamps and stat everything in sight, so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9563 setting this to @code{t} will mean a serious slow-down. If you never
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9564 use anything but Gnus to read the @code{nnmh} articles, you do not have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9565 to set this variable to @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9566 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9567
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9568
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9569 @node Mail Folders
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9570 @subsubsection Mail Folders
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9571 @cindex nnfolder
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9572 @cindex mbox folders
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9573 @cindex mail folders
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9574
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9575 @code{nnfolder} is a backend for storing each mail group in a separate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9576 file. Each file is in the standard Un*x mbox format. @code{nnfolder}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9577 will add extra headers to keep track of article numbers and arrival
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9578 dates.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9579
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9580 Virtual server settings:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9581
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9582 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9583 @item nnfolder-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9584 @vindex nnfolder-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9585 All the @code{nnfolder} mail boxes will be stored under this directory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9586
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9587 @item nnfolder-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9588 @vindex nnfolder-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9589 The name of the active file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9590
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9591 @item nnfolder-newsgroups-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9592 @vindex nnfolder-newsgroups-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9593 The name of the group descriptions file. @xref{Newsgroups File Format}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9594
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9595 @item nnfolder-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9596 @vindex nnfolder-get-new-mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9597 If non-@code{nil}, @code{nnfolder} will read incoming mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9598 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9599
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9600 @findex nnfolder-generate-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9601 @kindex M-x nnfolder-generate-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9602 If you have lots of @code{nnfolder}-like files you'd like to read with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9603 @code{nnfolder}, you can use the @kbd{M-x nnfolder-generate-active-file}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9604 command to make @code{nnfolder} aware of all likely files in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9605 @code{nnfolder-directory}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9606
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9607
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9608 @node Other Sources
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9609 @section Other Sources
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9610
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9611 Gnus can do more than just read news or mail. The methods described
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9612 below allow Gnus to view directories and files as if they were
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9613 newsgroups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9614
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9615 @menu
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9616 * Directory Groups:: You can read a directory as if it was a newsgroup.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9617 * Anything Groups:: Dired? Who needs dired?
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9618 * Document Groups:: Single files can be the basis of a group.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9619 * SOUP:: Reading @sc{SOUP} packets ``offline''.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9620 * Web Searches:: Creating groups from articles that match a string.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9621 * Mail-To-News Gateways:: Posting articles via mail-to-news gateways.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9622 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9623
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9624
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9625 @node Directory Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9626 @subsection Directory Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9627 @cindex nndir
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9628 @cindex directory groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9629
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9630 If you have a directory that has lots of articles in separate files in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9631 it, you might treat it as a newsgroup. The files have to have numerical
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9632 names, of course.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9633
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9634 This might be an opportune moment to mention @code{ange-ftp}, that most
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9635 wonderful of all wonderful Emacs packages. When I wrote @code{nndir}, I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9636 didn't think much about it---a backend to read directories. Big deal.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9637
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9638 @code{ange-ftp} changes that picture dramatically. For instance, if you
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9639 enter the @code{ange-ftp} file name
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9640 @file{/ftp.hpc.uh.edu:/pub/emacs/ding-list/} as the the directory name,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9641 @code{ange-ftp} will actually allow you to read this directory over at
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9642 @samp{sina} as a newsgroup. Distributed news ahoy!
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9643
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9644 @code{nndir} will use @sc{nov} files if they are present.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9645
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9646 @code{nndir} is a ``read-only'' backend---you can't delete or expire
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9647 articles with this method. You can use @code{nnmh} or @code{nnml} for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9648 whatever you use @code{nndir} for, so you could switch to any of those
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9649 methods if you feel the need to have a non-read-only @code{nndir}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9650
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9651
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9652 @node Anything Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9653 @subsection Anything Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9654 @cindex nneething
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9655
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9656 From the @code{nndir} backend (which reads a single spool-like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9657 directory), it's just a hop and a skip to @code{nneething}, which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9658 pretends that any arbitrary directory is a newsgroup. Strange, but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9659 true.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9660
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9661 When @code{nneething} is presented with a directory, it will scan this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9662 directory and assign article numbers to each file. When you enter such
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9663 a group, @code{nneething} must create ``headers'' that Gnus can use.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9664 After all, Gnus is a newsreader, in case you're
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9665 forgetting. @code{nneething} does this in a two-step process. First, it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9666 snoops each file in question. If the file looks like an article (i.e.,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9667 the first few lines look like headers), it will use this as the head.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9668 If this is just some arbitrary file without a head (e.g. a C source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9669 file), @code{nneething} will cobble up a header out of thin air. It
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9670 will use file ownership, name and date and do whatever it can with these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9671 elements.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9672
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9673 All this should happen automatically for you, and you will be presented
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9674 with something that looks very much like a newsgroup. Totally like a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9675 newsgroup, to be precise. If you select an article, it will be displayed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9676 in the article buffer, just as usual.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9677
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9678 If you select a line that represents a directory, Gnus will pop you into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9679 a new summary buffer for this @code{nneething} group. And so on. You can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9680 traverse the entire disk this way, if you feel like, but remember that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9681 Gnus is not dired, really, and does not intend to be, either.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9682
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9683 There are two overall modes to this action---ephemeral or solid. When
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9684 doing the ephemeral thing (i.e., @kbd{G D} from the group buffer), Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9685 will not store information on what files you have read, and what files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9686 are new, and so on. If you create a solid @code{nneething} group the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9687 normal way with @kbd{G m}, Gnus will store a mapping table between
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9688 article numbers and file names, and you can treat this group like any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9689 other groups. When you activate a solid @code{nneething} group, you will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9690 be told how many unread articles it contains, etc., etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9691
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9692 Some variables:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9693
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9694 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9695 @item nneething-map-file-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9696 @vindex nneething-map-file-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9697 All the mapping files for solid @code{nneething} groups will be stored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9698 in this directory, which defaults to @file{~/.nneething/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9699
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9700 @item nneething-exclude-files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9701 @vindex nneething-exclude-files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9702 All files that match this regexp will be ignored. Nice to use to exclude
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9703 auto-save files and the like, which is what it does by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9704
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9705 @item nneething-map-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9706 @vindex nneething-map-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9707 Name of the map files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9708 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9709
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9710
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9711 @node Document Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9712 @subsection Document Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9713 @cindex nndoc
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9714 @cindex documentation group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9715 @cindex help group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9716
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9717 @code{nndoc} is a cute little thing that will let you read a single file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9718 as a newsgroup. Several files types are supported:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9719
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9720 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9721 @cindex babyl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9722 @cindex rmail mbox
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9723
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9724 @item babyl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9725 The babyl (rmail) mail box.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9726 @cindex mbox
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9727 @cindex Unix mbox
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9728
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9729 @item mbox
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9730 The standard Unix mbox file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9731
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9732 @cindex MMDF mail box
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9733 @item mmdf
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9734 The MMDF mail box format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9735
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9736 @item news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9737 Several news articles appended into a file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9738
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9739 @item rnews
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9740 @cindex rnews batch files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9741 The rnews batch transport format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9742 @cindex forwarded messages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9743
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9744 @item forward
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9745 Forwarded articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9746
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9747 @item mime-digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9748 @cindex digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9749 @cindex MIME digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9750 @cindex 1153 digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9751 @cindex RFC 1153 digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9752 @cindex RFC 341 digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9753 MIME (RFC 1341) digest format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9754
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9755 @item standard-digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9756 The standard (RFC 1153) digest format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9757
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9758 @item slack-digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9759 Non-standard digest format---matches most things, but does it badly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9760 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9761
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9762 You can also use the special ``file type'' @code{guess}, which means
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9763 that @code{nndoc} will try to guess what file type it is looking at.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9764 @code{digest} means that @code{nndoc} should guess what digest type the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9765 file is.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9766
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9767 @code{nndoc} will not try to change the file or insert any extra headers into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9768 it---it will simply, like, let you use the file as the basis for a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9769 group. And that's it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9770
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9771 If you have some old archived articles that you want to insert into your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9772 new & spiffy Gnus mail backend, @code{nndoc} can probably help you with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9773 that. Say you have an old @file{RMAIL} file with mail that you now want
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9774 to split into your new @code{nnml} groups. You look at that file using
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9775 @code{nndoc} (using the @kbd{G f} command in the group buffer
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9776 (@pxref{Foreign Groups})), set the process mark on all the articles in
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9777 the buffer (@kbd{M P b}, for instance), and then re-spool (@kbd{B r})
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9778 using @code{nnml}. If all goes well, all the mail in the @file{RMAIL}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9779 file is now also stored in lots of @code{nnml} directories, and you can
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9780 delete that pesky @file{RMAIL} file. If you have the guts!
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9781
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9782 Virtual server variables:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9783
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9784 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9785 @item nndoc-article-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9786 @vindex nndoc-article-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9787 This should be one of @code{mbox}, @code{babyl}, @code{digest},
34
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
9788 @code{mmdf}, @code{forward}, @code{rfc934}, @code{rfc822-forward},
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
9789 @code{news}, @code{rnews}, @code{mime-digest}, @code{clari-briefs}, or
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
9790 @code{guess}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9791
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9792 @item nndoc-post-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9793 @vindex nndoc-post-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9794 This variable says whether Gnus is to consider the group a news group or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9795 a mail group. There are two legal values: @code{mail} (the default)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9796 and @code{news}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9797 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9798
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9799 @menu
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9800 * Document Server Internals:: How to add your own document types.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9801 @end menu
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9802
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9803
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9804 @node Document Server Internals
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9805 @subsubsection Document Server Internals
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9806
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9807 Adding new document types to be recognized by @code{nndoc} isn't
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9808 difficult. You just have to whip up a definition of what the document
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9809 looks like, write a predicate function to recognize that document type,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9810 and then hook into @code{nndoc}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9811
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9812 First, here's an example document type definition:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9813
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9814 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9815 (mmdf
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9816 (article-begin . "^\^A\^A\^A\^A\n")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9817 (body-end . "^\^A\^A\^A\^A\n"))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9818 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9819
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9820 The definition is simply a unique @dfn{name} followed by a series of
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9821 regexp pseudo-variable settings. Below are the possible
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9822 variables---don't be daunted by the number of variables; most document
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9823 types can be defined with very few settings:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9824
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9825 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9826 @item first-article
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9827 If present, @code{nndoc} will skip past all text until it finds
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9828 something that match this regexp. All text before this will be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9829 totally ignored.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9830
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9831 @item article-begin
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9832 This setting has to be present in all document type definitions. It
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9833 says what the beginning of each article looks like.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9834
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9835 @item head-begin-function
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9836 If present, this should be a function that moves point to the head of
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9837 the article.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9838
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9839 @item nndoc-head-begin
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9840 If present, this should be a regexp that matches the head of the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9841 article.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9842
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9843 @item nndoc-head-end
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9844 This should match the end of the head of the article. It defaults to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9845 @samp{^$}---the empty line.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9846
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9847 @item body-begin-function
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9848 If present, this function should move point to the beginning of the body
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9849 of the article.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9850
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9851 @item body-begin
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9852 This should match the beginning of the body of the article. It defaults
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9853 to @samp{^\n}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9854
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9855 @item body-end-function
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9856 If present, this function should move point to the end of the body of
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9857 the article.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9858
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9859 @item body-end
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9860 If present, this should match the end of the body of the article.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9861
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9862 @item nndoc-file-end
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9863 If present, this should match the end of the file. All text after this
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9864 regexp will be totally ignored.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9865
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9866 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9867
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9868 So, using these variables @code{nndoc} is able to dissect a document
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9869 file into a series of articles, each with a head and a body. However, a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9870 few more variables are needed since not all document types are all that
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9871 news-like---variables needed to transform the head or the body into
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9872 something that's palatable for Gnus:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9873
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9874 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9875 @item prepare-body-function
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9876 If present, this function will be called when requesting an article. It
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9877 will be called with point at the start of the body, and is useful if the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9878 document has encoded some parts of its contents.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9879
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9880 @item article-transform-function
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9881 If present, this function is called when requesting an article. It's
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9882 meant to be used how more wide-ranging transformation of both head and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9883 body of the article.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9884
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9885 @item generate-head-function
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9886 If present, this function is called to generate a head that Gnus can
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9887 understand. It is called with the article number as a parameter, and is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9888 expected to generate a nice head for the article in question. It is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9889 called when requesting the headers of all articles.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9890
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9891 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9892
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9893 Let's look at the most complicated example I can come up with---standard
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9894 digests:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9895
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9896 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9897 (standard-digest
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9898 (first-article . ,(concat "^" (make-string 70 ?-) "\n\n+"))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9899 (article-begin . ,(concat "\n\n" (make-string 30 ?-) "\n\n+"))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9900 (prepare-body-function . nndoc-unquote-dashes)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9901 (body-end-function . nndoc-digest-body-end)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9902 (head-end . "^ ?$")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9903 (body-begin . "^ ?\n")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9904 (file-end . "^End of .*digest.*[0-9].*\n\\*\\*\\|^End of.*Digest *$")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9905 (subtype digest guess))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9906 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9907
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9908 We see that all text before a 70-width line of dashes is ignored; all
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9909 text after a line that starts with that @samp{^End of} is also ignored;
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9910 each article begins with a 30-width line of dashes; the line separating
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9911 the head from the body may contain a single space; and that the body is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9912 run through @code{nndoc-unquote-dashes} before being delivered.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9913
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9914 To hook your own document definition into @code{nndoc}, use the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9915 @code{nndoc-add-type} function. It takes two parameters---the first is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9916 the definition itself and the second (optional) parameter says where in
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9917 the document type definition alist to put this definition. The alist is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9918 traversed sequentially, and @code{nndoc-TYPE-type-p} is called for each
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9919 type. So @code{nndoc-mmdf-type-p} is called to see whether a document
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9920 is of @code{mmdf} type, and so on. These type predicates should return
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9921 @code{nil} if the document is not of the correct type; @code{t} if it is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9922 of the correct type; and a number if the document might be of the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9923 correct type. A high number means high probability; a low number means
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9924 low probability with @samp{0} being the lowest legal number.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9925
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9926
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9927 @node SOUP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9928 @subsection SOUP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9929 @cindex SOUP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9930 @cindex offline
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9931
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9932 In the PC world people often talk about ``offline'' newsreaders. These
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9933 are thingies that are combined reader/news transport monstrosities.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9934 With built-in modem programs. Yecchh!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9935
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9936 Of course, us Unix Weenie types of human beans use things like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9937 @code{uucp} and, like, @code{nntpd} and set up proper news and mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9938 transport things like Ghod intended. And then we just use normal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9939 newsreaders.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9940
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9941 However, it can sometimes be convenient to do something a that's a bit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9942 easier on the brain if you have a very slow modem, and you're not really
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9943 that interested in doing things properly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9944
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9945 A file format called @sc{soup} has been developed for transporting news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9946 and mail from servers to home machines and back again. It can be a bit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9947 fiddly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9948
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9949 First some terminology:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9950
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9951 @table @dfn
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9952
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9953 @item server
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9954 This is the machine that is connected to the outside world and where you
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9955 get news and/or mail from.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9956
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9957 @item home machine
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9958 This is the machine that you want to do the actual reading and responding
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9959 on. It is typically not connected to the rest of the world in any way.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9960
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9961 @item packet
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9962 Something that contains messages and/or commands. There are two kinds
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9963 of packets:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9964
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9965 @table @dfn
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9966 @item message packets
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9967 These are packets made at the server, and typically contains lots of
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9968 messages for you to read. These are called @file{SoupoutX.tgz} by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9969 default, where @var{X} is a number.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9970
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9971 @item response packets
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9972 These are packets made at the home machine, and typically contains
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9973 replies that you've written. These are called @file{SoupinX.tgz} by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9974 default, where @var{X} is a number.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9975
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9976 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9977
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9978 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9979
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9980
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9981 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9982
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9983 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9984 You log in on the server and create a @sc{soup} packet. You can either
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9985 use a dedicated @sc{soup} thingie (like the @code{awk} program), or you
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9986 can use Gnus to create the packet with its @sc{soup} commands (@kbd{O
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9987 s} and/or @kbd{G s b}; and then @kbd{G s p}) (@pxref{SOUP Commands}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9988
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9989 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9990 You transfer the packet home. Rail, boat, car or modem will do fine.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9991
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9992 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9993 You put the packet in your home directory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9994
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9995 @item
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9996 You fire up Gnus on your home machine using the @code{nnsoup} backend as
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
9997 the native or secondary server.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9998
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9999 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10000 You read articles and mail and answer and followup to the things you
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10001 want (@pxref{SOUP Replies}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10002
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10003 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10004 You do the @kbd{G s r} command to pack these replies into a @sc{soup}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10005 packet.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10006
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10007 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10008 You transfer this packet to the server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10009
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10010 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10011 You use Gnus to mail this packet out with the @kbd{G s s} command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10012
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10013 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10014 You then repeat until you die.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10015
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10016 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10017
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10018 So you basically have a bipartite system---you use @code{nnsoup} for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10019 reading and Gnus for packing/sending these @sc{soup} packets.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10020
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10021 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10022 * SOUP Commands:: Commands for creating and sending @sc{soup} packets
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10023 * SOUP Groups:: A backend for reading @sc{soup} packets.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10024 * SOUP Replies:: How to enable @code{nnsoup} to take over mail and news.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10025 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10026
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10027
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10028 @node SOUP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10029 @subsubsection SOUP Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10030
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10031 These are commands for creating and manipulating @sc{soup} packets.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10032
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10033 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10034 @item G s b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10035 @kindex G s b (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10036 @findex gnus-group-brew-soup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10037 Pack all unread articles in the current group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10038 (@code{gnus-group-brew-soup}). This command understands the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10039 process/prefix convention.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10040
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10041 @item G s w
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10042 @kindex G s w (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10043 @findex gnus-soup-save-areas
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10044 Save all @sc{soup} data files (@code{gnus-soup-save-areas}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10045
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10046 @item G s s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10047 @kindex G s s (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10048 @findex gnus-soup-send-replies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10049 Send all replies from the replies packet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10050 (@code{gnus-soup-send-replies}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10051
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10052 @item G s p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10053 @kindex G s p (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10054 @findex gnus-soup-pack-packet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10055 Pack all files into a @sc{soup} packet (@code{gnus-soup-pack-packet}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10056
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10057 @item G s r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10058 @kindex G s r (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10059 @findex nnsoup-pack-replies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10060 Pack all replies into a replies packet (@code{nnsoup-pack-replies}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10061
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10062 @item O s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10063 @kindex O s (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10064 @findex gnus-soup-add-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10065 This summary-mode command adds the current article to a @sc{soup} packet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10066 (@code{gnus-soup-add-article}). It understands the process/prefix
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10067 convention (@pxref{Process/Prefix}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10068
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10069 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10070
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10071
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10072 There are a few variables to customize where Gnus will put all these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10073 thingies:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10074
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10075 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10076
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10077 @item gnus-soup-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10078 @vindex gnus-soup-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10079 Directory where Gnus will save intermediate files while composing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10080 @sc{soup} packets. The default is @file{~/SoupBrew/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10081
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10082 @item gnus-soup-replies-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10083 @vindex gnus-soup-replies-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10084 This is what Gnus will use as a temporary directory while sending our
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10085 reply packets. @file{~/SoupBrew/SoupReplies/} is the default.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10086
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10087 @item gnus-soup-prefix-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10088 @vindex gnus-soup-prefix-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10089 Name of the file where Gnus stores the last used prefix. The default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10090 @samp{gnus-prefix}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10091
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10092 @item gnus-soup-packer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10093 @vindex gnus-soup-packer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10094 A format string command for packing a @sc{soup} packet. The default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10095 @samp{tar cf - %s | gzip > $HOME/Soupout%d.tgz}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10096
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10097 @item gnus-soup-unpacker
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10098 @vindex gnus-soup-unpacker
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10099 Format string command for unpacking a @sc{soup} packet. The default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10100 @samp{gunzip -c %s | tar xvf -}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10102 @item gnus-soup-packet-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10103 @vindex gnus-soup-packet-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10104 Where Gnus will look for reply packets. The default is @file{~/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10105
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10106 @item gnus-soup-packet-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10107 @vindex gnus-soup-packet-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10108 Regular expression matching @sc{soup} reply packets in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10109 @code{gnus-soup-packet-directory}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10111 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10112
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10113
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10114 @node SOUP Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10115 @subsubsection @sc{soup} Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10116 @cindex nnsoup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10117
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10118 @code{nnsoup} is the backend for reading @sc{soup} packets. It will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10119 read incoming packets, unpack them, and put them in a directory where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10120 you can read them at leisure.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10121
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10122 These are the variables you can use to customize its behavior:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10123
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10124 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10125
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10126 @item nnsoup-tmp-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10127 @vindex nnsoup-tmp-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10128 When @code{nnsoup} unpacks a @sc{soup} packet, it does it in this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10129 directory. (@file{/tmp/} by default.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10130
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10131 @item nnsoup-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10132 @vindex nnsoup-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10133 @code{nnsoup} then moves each message and index file to this directory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10134 The default is @file{~/SOUP/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10135
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10136 @item nnsoup-replies-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10137 @vindex nnsoup-replies-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10138 All replies will stored in this directory before being packed into a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10139 reply packet. The default is @file{~/SOUP/replies/"}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10140
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10141 @item nnsoup-replies-format-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10142 @vindex nnsoup-replies-format-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10143 The @sc{soup} format of the replies packets. The default is @samp{?n}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10144 (rnews), and I don't think you should touch that variable. I probably
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10145 shouldn't even have documented it. Drats! Too late!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10146
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10147 @item nnsoup-replies-index-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10148 @vindex nnsoup-replies-index-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10149 The index type of the replies packet. The is @samp{?n}, which means
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10150 ``none''. Don't fiddle with this one either!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10151
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10152 @item nnsoup-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10153 @vindex nnsoup-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10154 Where @code{nnsoup} stores lots of information. This is not an ``active
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10155 file'' in the @code{nntp} sense; it's an Emacs Lisp file. If you lose
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10156 this file or mess it up in any way, you're dead. The default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10157 @file{~/SOUP/active}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10158
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10159 @item nnsoup-packer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10160 @vindex nnsoup-packer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10161 Format string command for packing a reply @sc{soup} packet. The default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10162 is @samp{tar cf - %s | gzip > $HOME/Soupin%d.tgz}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10163
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10164 @item nnsoup-unpacker
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10165 @vindex nnsoup-unpacker
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10166 Format string command for unpacking incoming @sc{soup} packets. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10167 default is @samp{gunzip -c %s | tar xvf -}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10168
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10169 @item nnsoup-packet-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10170 @vindex nnsoup-packet-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10171 Where @code{nnsoup} will look for incoming packets. The default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10172 @file{~/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10173
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10174 @item nnsoup-packet-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10175 @vindex nnsoup-packet-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10176 Regular expression matching incoming @sc{soup} packets. The default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10177 @samp{Soupout}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10178
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10179 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10180
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10181
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10182 @node SOUP Replies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10183 @subsubsection SOUP Replies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10184
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10185 Just using @code{nnsoup} won't mean that your postings and mailings end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10186 up in @sc{soup} reply packets automagically. You have to work a bit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10187 more for that to happen.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10188
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10189 @findex nnsoup-set-variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10190 The @code{nnsoup-set-variables} command will set the appropriate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10191 variables to ensure that all your followups and replies end up in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10192 @sc{soup} system.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10193
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10194 In specific, this is what it does:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10195
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10196 @lisp
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10197 (setq message-send-news-function 'nnsoup-request-post)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10198 (setq message-send-mail-function 'nnsoup-request-mail)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10199 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10200
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10201 And that's it, really. If you only want news to go into the @sc{soup}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10202 system you just use the first line. If you only want mail to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10203 @sc{soup}ed you use the second.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10204
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10205
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10206 @node Web Searches
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10207 @subsection Web Searches
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10208 @cindex nnweb
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10209 @cindex DejaNews
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10210 @cindex Alta Vista
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10211 @cindex InReference
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10212 @cindex Usenet searches
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10213 @cindex searching the Usenet
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10214
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10215 It's, like, too neat to search the Usenet for articles that match a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10216 string, but it, like, totally @emph{sucks}, like, totally, to use one of
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10217 those, like, Web browsers, and you, like, have to, rilly, like, look at
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10218 the commercials, so, like, with Gnus you can do @emph{rad}, rilly,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10219 searches without having to use a browser.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10220
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10221 The @code{nnweb} backend allows an easy interface to the mighty search
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10222 engine. You create an @code{nnweb} group, enter a search pattern, and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10223 then enter the group and read the articles like you would any normal
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10224 group. The @kbd{G w} command in the group buffer (@pxref{Foreign
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10225 Groups}) will do this in an easy-to-use fashion.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10226
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10227 @code{nnweb} groups don't really lend themselves to being solid
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10228 groups---they have a very fleeting idea of article numbers. In fact,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10229 each time you enter an @code{nnweb} group (not even changing the search
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10230 pattern), you are likely to get the articles ordered in a different
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10231 manner. Not even using duplicate suppression (@code{Duplicate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10232 Suppression}) will help, since @code{nnweb} doesn't even know the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10233 @code{Message-ID} of the articles before reading them using some search
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10234 engines (DejaNews, for instance). The only possible way to keep track
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10235 of which articles you've read is by scoring on the @code{Date}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10236 header---mark all articles that were posted before the last date you
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10237 read the group as read.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10238
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10239 If the search engine changes its output substantially, @code{nnweb}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10240 won't be able to parse it and will fail. One could hardly fault the Web
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10241 providers if they were to do this---their @emph{raison d'être} is to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10242 make money off of advertisements, not to provide services to the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10243 community. Since @code{nnweb} washes the ads off all the articles, one
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10244 might think that the providers might be somewhat miffed. We'll see.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10245
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10246 You must have the @code{url} and @code{w3} package installed to be able
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10247 to use @code{nnweb}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10248
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10249 Virtual server variables:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10250
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10251 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10252 @item nnweb-type
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10253 @vindex nnweb-type
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10254 What search engine type is being used. The currently supported types
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10255 are @code{dejanews}, @code{altavista} and @code{reference}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10256
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10257 @item nnweb-search
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10258 @vindex nnweb-search
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10259 The search string to feed to the search engine.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10260
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10261 @item nnweb-max-hits
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10262 @vindex nnweb-max-hits
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10263 Advisory maximum number of hits per search to display. The default is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10264 100.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10265
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10266 @item nnweb-type-definition
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10267 @vindex nnweb-type-definition
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10268 Type-to-definition alist. This alist says what @code{nnweb} should do
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10269 with the various search engine types. The following elements must be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10270 present:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10271
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10272 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10273 @item article
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10274 Function to decode the article and provide something that Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10275 understands.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10276
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10277 @item map
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10278 Function to create an article number to message header and URL alist.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10279
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10280 @item search
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10281 Function to send the search string to the search engine.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10282
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10283 @item address
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10284 The address the aforementioned function should send the search string
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10285 to.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10286
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10287 @item id
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10288 Format string URL to fetch an article by @code{Message-ID}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10289 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10290
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10291 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10292
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10293
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10294
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10295 @node Mail-To-News Gateways
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10296 @subsection Mail-To-News Gateways
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10297 @cindex mail-to-news gateways
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10298 @cindex gateways
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10299
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10300 If your local @code{nntp} server doesn't allow posting, for some reason
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10301 or other, you can post using one of the numerous mail-to-news gateways.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10302 The @code{nngateway} backend provides the interface.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10303
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10304 Note that you can't read anything from this backend---it can only be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10305 used to post with.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10306
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10307 Server variables:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10308
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10309 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10310 @item nngateway-address
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10311 @vindex nngateway-address
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10312 This is the address of the mail-to-news gateway.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10313
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10314 @item nngateway-header-transformation
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10315 @vindex nngateway-header-transformation
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10316 News headers have often have to be transformed in some odd way or other
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10317 for the mail-to-news gateway to accept it. This variable says what
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10318 transformation should be called, and defaults to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10319 @code{nngateway-simple-header-transformation}. The function is called
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10320 narrowed to the headers to be transformed and with one parameter---the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10321 gateway address.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10322
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10323 This default function just inserts a new @code{To} header based on the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10324 @code{Newsgroups} header and the gateway address---an article with this
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10325 @code{Newsgroups} header:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10326
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10327 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10328 Newsgroups: alt.religion.emacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10329 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10330
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10331 will get this @code{From} header inserted:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10332
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10333 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10334 To: alt-religion-emacs@@GATEWAY
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10335 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10336
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10337 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10338
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10339 So, to use this, simply say something like:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10340
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10341 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10342 (setq gnus-post-method '(nngateway "GATEWAY.ADDRESS"))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10343 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10344
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10345
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10346 @node Combined Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10347 @section Combined Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10348
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10349 Gnus allows combining a mixture of all the other group types into bigger
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10350 groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10351
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10352 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10353 * Virtual Groups:: Combining articles from many groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10354 * Kibozed Groups:: Looking through parts of the newsfeed for articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10355 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10356
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10357
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10358 @node Virtual Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10359 @subsection Virtual Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10360 @cindex nnvirtual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10361 @cindex virtual groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10362
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10363 An @dfn{nnvirtual group} is really nothing more than a collection of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10364 other groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10365
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10366 For instance, if you are tired of reading many small group, you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10367 put them all in one big group, and then grow tired of reading one
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10368 big, unwieldy group. The joys of computing!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10369
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10370 You specify @code{nnvirtual} as the method. The address should be a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10371 regexp to match component groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10372
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10373 All marks in the virtual group will stick to the articles in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10374 component groups. So if you tick an article in a virtual group, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10375 article will also be ticked in the component group from whence it came.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10376 (And vice versa---marks from the component groups will also be shown in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10377 the virtual group.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10378
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10379 Here's an example @code{nnvirtual} method that collects all Andrea Dworkin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10380 newsgroups into one, big, happy newsgroup:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10381
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10382 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10383 (nnvirtual "^alt\\.fan\\.andrea-dworkin$\\|^rec\\.dworkin.*")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10384 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10385
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10386 The component groups can be native or foreign; everything should work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10387 smoothly, but if your computer explodes, it was probably my fault.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10388
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10389 Collecting the same group from several servers might actually be a good
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10390 idea if users have set the Distribution header to limit distribution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10391 If you would like to read @samp{soc.motss} both from a server in Japan
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10392 and a server in Norway, you could use the following as the group regexp:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10393
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10394 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10395 "^nntp+some.server.jp:soc.motss$\\|^nntp+some.server.no:soc.motss$"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10396 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10397
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10398 This should work kinda smoothly---all articles from both groups should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10399 end up in this one, and there should be no duplicates. Threading (and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10400 the rest) will still work as usual, but there might be problems with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10401 sequence of articles. Sorting on date might be an option here
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10402 (@pxref{Selecting a Group}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10403
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10404 One limitation, however---all groups that are included in a virtual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10405 group has to be alive (i.e., subscribed or unsubscribed). Killed or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10406 zombie groups can't be component groups for @code{nnvirtual} groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10407
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10408 @vindex nnvirtual-always-rescan
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10409 If the @code{nnvirtual-always-rescan} is non-@code{nil},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10410 @code{nnvirtual} will always scan groups for unread articles when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10411 entering a virtual group. If this variable is @code{nil} (which is the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10412 default) and you read articles in a component group after the virtual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10413 group has been activated, the read articles from the component group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10414 will show up when you enter the virtual group. You'll also see this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10415 effect if you have two virtual groups that contain the same component
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10416 group. If that's the case, you should set this variable to @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10417 Or you can just tap @code{M-g} on the virtual group every time before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10418 you enter it---it'll have much the same effect.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10419
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10420
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10421 @node Kibozed Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10422 @subsection Kibozed Groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10423 @cindex nnkiboze
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10424 @cindex kibozing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10425
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10426 @dfn{Kibozing} is defined by @sc{oed} as ``grepping through (parts of)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10427 the news feed''. @code{nnkiboze} is a backend that will do this for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10428 you. Oh joy! Now you can grind any @sc{nntp} server down to a halt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10429 with useless requests! Oh happiness!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10430
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
10431 @kindex G k (Group)
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
10432 To create a kibozed group, use the @kbd{G k} command in the group
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
10433 buffer.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
10434
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10435 The address field of the @code{nnkiboze} method is, as with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10436 @code{nnvirtual}, a regexp to match groups to be ``included'' in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10437 @code{nnkiboze} group. There most similarities between @code{nnkiboze}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10438 and @code{nnvirtual} ends.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10439
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10440 In addition to this regexp detailing component groups, an @code{nnkiboze} group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10441 must have a score file to say what articles that are to be included in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10442 the group (@pxref{Scoring}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10443
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10444 @kindex M-x nnkiboze-generate-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10445 @findex nnkiboze-generate-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10446 You must run @kbd{M-x nnkiboze-generate-groups} after creating the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10447 @code{nnkiboze} groups you want to have. This command will take time. Lots of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10448 time. Oodles and oodles of time. Gnus has to fetch the headers from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10449 all the articles in all the components groups and run them through the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10450 scoring process to determine if there are any articles in the groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10451 that are to be part of the @code{nnkiboze} groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10452
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10453 Please limit the number of component groups by using restrictive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10454 regexps. Otherwise your sysadmin may become annoyed with you, and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10455 @sc{nntp} site may throw you off and never let you back in again.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10456 Stranger things have happened.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10457
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10458 @code{nnkiboze} component groups do not have to be alive---they can be dead,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10459 and they can be foreign. No restrictions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10460
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10461 @vindex nnkiboze-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10462 The generation of an @code{nnkiboze} group means writing two files in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10463 @code{nnkiboze-directory}, which is @file{~/News/} by default. One
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10464 contains the @sc{nov} header lines for all the articles in the group,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10465 and the other is an additional @file{.newsrc} file to store information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10466 on what groups that have been searched through to find component
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10467 articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10468
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10469 Articles that are marked as read in the @code{nnkiboze} group will have their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10470 @sc{nov} lines removed from the @sc{nov} file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10471
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10472
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10473 @node Scoring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10474 @chapter Scoring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10475 @cindex scoring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10476
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10477 Other people use @dfn{kill files}, but we here at Gnus Towers like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10478 scoring better than killing, so we'd rather switch than fight. They do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10479 something completely different as well, so sit up straight and pay
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10480 attention!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10481
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10482 @vindex gnus-summary-mark-below
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10483 All articles have a default score (@code{gnus-summary-default-score}),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10484 which is 0 by default. This score may be raised or lowered either
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10485 interactively or by score files. Articles that have a score lower than
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10486 @code{gnus-summary-mark-below} are marked as read.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10487
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10488 Gnus will read any @dfn{score files} that apply to the current group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10489 before generating the summary buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10490
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10491 There are several commands in the summary buffer that insert score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10492 entries based on the current article. You can, for instance, ask Gnus to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10493 lower or increase the score of all articles with a certain subject.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10494
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10495 There are two sorts of scoring entries: Permanent and temporary.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10496 Temporary score entries are self-expiring entries. Any entries that are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10497 temporary and have not been used for, say, a week, will be removed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10498 silently to help keep the sizes of the score files down.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10499
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10500 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10501 * Summary Score Commands:: Adding score entries for the current group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10502 * Group Score Commands:: General score commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10503 * Score Variables:: Customize your scoring. (My, what terminology).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10504 * Score File Format:: What a score file may contain.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10505 * Score File Editing:: You can edit score files by hand as well.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10506 * Adaptive Scoring:: Big Sister Gnus knows what you read.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10507 * Home Score File:: How to say where new score entries are to go.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10508 * Followups To Yourself:: Having Gnus notice when people answer you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10509 * Scoring Tips:: How to score effectively.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10510 * Reverse Scoring:: That problem child of old is not problem.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10511 * Global Score Files:: Earth-spanning, ear-splitting score files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10512 * Kill Files:: They are still here, but they can be ignored.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10513 * Converting Kill Files:: Translating kill files to score files.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10514 * GroupLens:: Getting predictions on what you like to read.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10515 * Advanced Scoring:: Using logical expressions to build score rules.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10516 * Score Decays:: It can be useful to let scores wither away.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10517 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10518
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10519
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10520 @node Summary Score Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10521 @section Summary Score Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10522 @cindex score commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10523
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10524 The score commands that alter score entries do not actually modify real
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10525 score files. That would be too inefficient. Gnus maintains a cache of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10526 previously loaded score files, one of which is considered the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10527 @dfn{current score file alist}. The score commands simply insert
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10528 entries into this list, and upon group exit, this list is saved.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10529
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10530 The current score file is by default the group's local score file, even
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10531 if no such score file actually exists. To insert score commands into
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10532 some other score file (e.g. @file{all.SCORE}), you must first make this
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10533 score file the current one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10534
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10535 General score commands that don't actually change the score file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10536
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10537 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10538
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10539 @item V s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10540 @kindex V s (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10541 @findex gnus-summary-set-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10542 Set the score of the current article (@code{gnus-summary-set-score}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10543
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10544 @item V S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10545 @kindex V S (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10546 @findex gnus-summary-current-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10547 Display the score of the current article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10548 (@code{gnus-summary-current-score}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10549
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10550 @item V t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10551 @kindex V t (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10552 @findex gnus-score-find-trace
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10553 Display all score rules that have been used on the current article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10554 (@code{gnus-score-find-trace}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10555
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10556 @item V R
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10557 @kindex V R (Summary)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10558 @findex gnus-summary-rescore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10559 Run the current summary through the scoring process
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10560 (@code{gnus-summary-rescore}). This might be useful if you're playing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10561 around with your score files behind Gnus' back and want to see the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10562 effect you're having.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10563
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10564 @item V a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10565 @kindex V a (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10566 @findex gnus-summary-score-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10567 Add a new score entry, and allow specifying all elements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10568 (@code{gnus-summary-score-entry}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10569
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10570 @item V c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10571 @kindex V c (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10572 @findex gnus-score-change-score-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10573 Make a different score file the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10574 (@code{gnus-score-change-score-file}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10575
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10576 @item V e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10577 @kindex V e (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10578 @findex gnus-score-edit-current-scores
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10579 Edit the current score file (@code{gnus-score-edit-current-scores}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10580 You will be popped into a @code{gnus-score-mode} buffer (@pxref{Score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10581 File Editing}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10582
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10583 @item V f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10584 @kindex V f (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10585 @findex gnus-score-edit-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10586 Edit a score file and make this score file the current one
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10587 (@code{gnus-score-edit-file}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10588
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10589 @item V F
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10590 @kindex V F (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10591 @findex gnus-score-flush-cache
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10592 Flush the score cache (@code{gnus-score-flush-cache}). This is useful
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10593 after editing score files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10594
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10595 @item V C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10596 @kindex V C (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10597 @findex gnus-score-customize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10598 Customize a score file in a visually pleasing manner
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10599 (@code{gnus-score-customize}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10600
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10601 @item I C-i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10602 @kindex I C-i (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10603 @findex gnus-summary-raise-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10604 Increase the score of the current article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10605 (@code{gnus-summary-raise-score}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10606
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10607 @item L C-l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10608 @kindex L C-l (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10609 @findex gnus-summary-lower-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10610 Lower the score of the current article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10611 (@code{gnus-summary-lower-score}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10612 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10613
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10614 The rest of these commands modify the local score file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10615
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10616 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10617
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10618 @item V m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10619 @kindex V m (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10620 @findex gnus-score-set-mark-below
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10621 Prompt for a score, and mark all articles with a score below this as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10622 read (@code{gnus-score-set-mark-below}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10623
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
10624 @item V x
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
10625 @kindex V x (Summary)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10626 @findex gnus-score-set-expunge-below
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
10627 Prompt for a score, and add a score rule to the current score file to
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
10628 expunge all articles below this score
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
10629 (@code{gnus-score-set-expunge-below}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10630 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10631
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10632 The keystrokes for actually making score entries follow a very regular
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10633 pattern, so there's no need to list all the commands. (Hundreds of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10634 them.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10635
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10636 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10637 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10638 The first key is either @kbd{I} (upper case i) for increasing the score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10639 or @kbd{L} for lowering the score.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10640 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10641 The second key says what header you want to score on. The following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10642 keys are available:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10643 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10644
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10645 @item a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10646 Score on the author name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10647
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10648 @item s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10649 Score on the subject line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10650
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10651 @item x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10652 Score on the Xref line---i.e., the cross-posting line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10653
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10654 @item t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10655 Score on thread---the References line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10656
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10657 @item d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10658 Score on the date.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10659
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10660 @item l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10661 Score on the number of lines.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10662
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10663 @item i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10664 Score on the Message-ID.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10665
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10666 @item f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10667 Score on followups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10668
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10669 @item b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10670 Score on the body.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10671
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10672 @item h
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10673 Score on the head.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10674 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10675
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10676 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10677 The third key is the match type. Which match types are legal depends on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10678 what headers you are scoring on.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10679
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10680 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10681
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10682 @item strings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10683
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10684 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10685
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10686 @item e
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10687 Exact matching.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10688
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10689 @item s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10690 Substring matching.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10691
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10692 @item f
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
10693 Fuzzy matching (@pxref{Fuzzy Matching}).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10694
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10695 @item r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10696 Regexp matching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10697 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10698
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10699 @item date
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10700 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10701
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10702 @item b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10703 Before date.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10704
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10705 @item a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10706 At date.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10707
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10708 @item n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10709 This date.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10710 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10711
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10712 @item number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10713 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10714
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10715 @item <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10716 Less than number.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10717
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10718 @item =
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10719 Equal to number.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10720
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10721 @item >
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10722 Greater than number.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10723 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10724 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10725
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10726 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10727 The fourth and final key says whether this is a temporary (i.e., expiring)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10728 score entry, or a permanent (i.e., non-expiring) score entry, or whether
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10729 it is to be done immediately, without adding to the score file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10730 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10731
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10732 @item t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10733 Temporary score entry.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10734
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10735 @item p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10736 Permanent score entry.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10737
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10738 @item i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10739 Immediately scoring.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10740 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10741
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10742 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10743
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10744 So, let's say you want to increase the score on the current author with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10745 exact matching permanently: @kbd{I a e p}. If you want to lower the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10746 score based on the subject line, using substring matching, and make a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10747 temporary score entry: @kbd{L s s t}. Pretty easy.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10748
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10749 To make things a bit more complicated, there are shortcuts. If you use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10750 a capital letter on either the second or third keys, Gnus will use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10751 defaults for the remaining one or two keystrokes. The defaults are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10752 ``substring'' and ``temporary''. So @kbd{I A} is the same as @kbd{I a s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10753 t}, and @kbd{I a R} is the same as @kbd{I a r t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10754
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10755 @vindex gnus-score-mimic-keymap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10756 The @code{gnus-score-mimic-keymap} says whether these commands will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10757 pretend they are keymaps or not.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10758
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10759
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10760 @node Group Score Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10761 @section Group Score Commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10762 @cindex group score commands
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10763
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10764 There aren't many of these as yet, I'm afraid.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10765
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10766 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10767
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10768 @item W f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10769 @kindex W f (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10770 @findex gnus-score-flush-cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10771 Gnus maintains a cache of score alists to avoid having to reload them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10772 all the time. This command will flush the cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10773 (@code{gnus-score-flush-cache}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10774
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10775 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10776
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10777
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10778 @node Score Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10779 @section Score Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10780 @cindex score variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10781
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10782 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10783
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10784 @item gnus-use-scoring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10785 @vindex gnus-use-scoring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10786 If @code{nil}, Gnus will not check for score files, and will not, in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10787 general, do any score-related work. This is @code{t} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10788
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10789 @item gnus-kill-killed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10790 @vindex gnus-kill-killed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10791 If this variable is @code{nil}, Gnus will never apply score files to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10792 articles that have already been through the kill process. While this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10793 may save you lots of time, it also means that if you apply a kill file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10794 to a group, and then change the kill file and want to run it over you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10795 group again to kill more articles, it won't work. You have to set this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10796 variable to @code{t} to do that. (It is @code{t} by default.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10797
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10798 @item gnus-kill-files-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10799 @vindex gnus-kill-files-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10800 All kill and score files will be stored in this directory, which is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10801 initialized from the @code{SAVEDIR} environment variable by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10802 This is @file{~/News/} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10803
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10804 @item gnus-score-file-suffix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10805 @vindex gnus-score-file-suffix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10806 Suffix to add to the group name to arrive at the score file name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10807 (@samp{SCORE} by default.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10808
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10809 @item gnus-score-uncacheable-files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10810 @vindex gnus-score-uncacheable-files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10811 @cindex score cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10812 All score files are normally cached to avoid excessive re-loading of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10813 score files. However, if this might make you Emacs grow big and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10814 bloated, so this regexp can be used to weed out score files that are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10815 unlikely to be needed again. It would be a bad idea to deny caching of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10816 @file{all.SCORE}, while it might be a good idea to not cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10817 @file{comp.infosystems.www.authoring.misc.ADAPT}. In fact, this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10818 variable is @samp{ADAPT$} by default, so no adaptive score files will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10819 be cached.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10820
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10821 @item gnus-save-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10822 @vindex gnus-save-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10823 If you have really complicated score files, and do lots of batch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10824 scoring, then you might set this variable to @code{t}. This will make
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10825 Gnus save the scores into the @file{.newsrc.eld} file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10826
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10827 @item gnus-score-interactive-default-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10828 @vindex gnus-score-interactive-default-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10829 Score used by all the interactive raise/lower commands to raise/lower
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10830 score with. Default is 1000, which may seem excessive, but this is to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10831 ensure that the adaptive scoring scheme gets enough room to play with.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10832 We don't want the small changes from the adaptive scoring to overwrite
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10833 manually entered data.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10834
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10835 @item gnus-summary-default-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10836 @vindex gnus-summary-default-score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10837 Default score of an article, which is 0 by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10838
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10839 @item gnus-summary-expunge-below
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10840 @vindex gnus-summary-expunge-below
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10841 Don't display the summary lines of articles that have scores lower than
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10842 this variable. This is @code{nil} by default, which means that no
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10843 articles will be hidden.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10844
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10845 @item gnus-score-over-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10846 @vindex gnus-score-over-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10847 Mark (in the third column) used for articles with a score over the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10848 default. Default is @samp{+}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10849
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10850 @item gnus-score-below-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10851 @vindex gnus-score-below-mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10852 Mark (in the third column) used for articles with a score below the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10853 default. Default is @samp{-}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10854
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10855 @item gnus-score-find-score-files-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10856 @vindex gnus-score-find-score-files-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10857 Function used to find score files for the current group. This function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10858 is called with the name of the group as the argument.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10859
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10860 Predefined functions available are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10861 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10862
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10863 @item gnus-score-find-single
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10864 @findex gnus-score-find-single
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10865 Only apply the group's own score file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10866
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10867 @item gnus-score-find-bnews
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10868 @findex gnus-score-find-bnews
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10869 Apply all score files that match, using bnews syntax. This is the
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10870 default. If the current group is @samp{gnu.emacs.gnus}, for instance,
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10871 @file{all.emacs.all.SCORE}, @file{not.alt.all.SCORE} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10872 @file{gnu.all.SCORE} would all apply. In short, the instances of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10873 @samp{all} in the score file names are translated into @samp{.*}, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10874 then a regexp match is done.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10875
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10876 This means that if you have some score entries that you want to apply to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10877 all groups, then you put those entries in the @file{all.SCORE} file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10878
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10879 The score files are applied in a semi-random order, although Gnus will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10880 try to apply the more general score files before the more specific score
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10881 files. It does this by looking at the number of elements in the score
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10882 file names---discarding the @samp{all} elements.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10883
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10884 @item gnus-score-find-hierarchical
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10885 @findex gnus-score-find-hierarchical
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10886 Apply all score files from all the parent groups. This means that you
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10887 can't have score files like @file{all.SCORE}, but you can have
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
10888 @file{SCORE}, @file{comp.SCORE} and @file{comp.emacs.SCORE}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10889
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10890 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10891 This variable can also be a list of functions. In that case, all these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10892 functions will be called, and all the returned lists of score files will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10893 be applied. These functions can also return lists of score alists
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10894 directly. In that case, the functions that return these non-file score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10895 alists should probably be placed before the ``real'' score file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10896 functions, to ensure that the last score file returned is the local
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10897 score file. Phu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10898
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10899 @item gnus-score-expiry-days
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10900 @vindex gnus-score-expiry-days
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10901 This variable says how many days should pass before an unused score file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10902 entry is expired. If this variable is @code{nil}, no score file entries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10903 are expired. It's 7 by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10904
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10905 @item gnus-update-score-entry-dates
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10906 @vindex gnus-update-score-entry-dates
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10907 If this variable is non-@code{nil}, matching score entries will have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10908 their dates updated. (This is how Gnus controls expiry---all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10909 non-matching entries will become too old while matching entries will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10910 stay fresh and young.) However, if you set this variable to @code{nil},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10911 even matching entries will grow old and will have to face that oh-so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10912 grim reaper.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10913
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10914 @item gnus-score-after-write-file-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10915 @vindex gnus-score-after-write-file-function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10916 Function called with the name of the score file just written.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10917
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10918 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10919
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10920
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10921 @node Score File Format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10922 @section Score File Format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10923 @cindex score file format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10924
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10925 A score file is an @code{emacs-lisp} file that normally contains just a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10926 single form. Casual users are not expected to edit these files;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10927 everything can be changed from the summary buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10928
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10929 Anyway, if you'd like to dig into it yourself, here's an example:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10930
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10931 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10932 (("from"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10933 ("Lars Ingebrigtsen" -10000)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10934 ("Per Abrahamsen")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10935 ("larsi\\|lmi" -50000 nil R))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10936 ("subject"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10937 ("Ding is Badd" nil 728373))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10938 ("xref"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10939 ("alt.politics" -1000 728372 s))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10940 ("lines"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10941 (2 -100 nil <))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10942 (mark 0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10943 (expunge -1000)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10944 (mark-and-expunge -10)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10945 (read-only nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10946 (orphan -10)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10947 (adapt t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10948 (files "/hom/larsi/News/gnu.SCORE")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10949 (exclude-files "all.SCORE")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10950 (local (gnus-newsgroup-auto-expire t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10951 (gnus-summary-make-false-root 'empty))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10952 (eval (ding)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10953 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10954
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10955 This example demonstrates absolutely everything about a score file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10956
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10957 Even though this looks much like lisp code, nothing here is actually
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10958 @code{eval}ed. The lisp reader is used to read this form, though, so it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10959 has to be legal syntactically, if not semantically.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10960
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10961 Six keys are supported by this alist:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10962
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10963 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10964
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10965 @item STRING
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10966 If the key is a string, it is the name of the header to perform the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10967 match on. Scoring can only be performed on these eight headers:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10968 @code{From}, @code{Subject}, @code{References}, @code{Message-ID},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10969 @code{Xref}, @code{Lines}, @code{Chars} and @code{Date}. In addition to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10970 these headers, there are three strings to tell Gnus to fetch the entire
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10971 article and do the match on larger parts of the article: @code{Body}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10972 will perform the match on the body of the article, @code{Head} will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10973 perform the match on the head of the article, and @code{All} will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10974 perform the match on the entire article. Note that using any of these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10975 last three keys will slow down group entry @emph{considerably}. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10976 final ``header'' you can score on is @code{Followup}. These score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10977 entries will result in new score entries being added for all follow-ups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10978 to articles that matches these score entries.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10979
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10980 Following this key is a arbitrary number of score entries, where each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10981 score entry has one to four elements.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10982 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10983
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10984 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10985 The first element is the @dfn{match element}. On most headers this will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10986 be a string, but on the Lines and Chars headers, this must be an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10987 integer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10988
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10989 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10990 If the second element is present, it should be a number---the @dfn{score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10991 element}. This number should be an integer in the neginf to posinf
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10992 interval. This number is added to the score of the article if the match
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10993 is successful. If this element is not present, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10994 @code{gnus-score-interactive-default-score} number will be used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10995 instead. This is 1000 by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10996
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10997 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10998 If the third element is present, it should be a number---the @dfn{date
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10999 element}. This date says when the last time this score entry matched,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11000 which provides a mechanism for expiring the score entries. It this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11001 element is not present, the score entry is permanent. The date is
28
1917ad0d78d7 Import from CVS: tag r19-15b97
cvs
parents: 26
diff changeset
11002 represented by the number of days since December 31, 1 BCE.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11003
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11004 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11005 If the fourth element is present, it should be a symbol---the @dfn{type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11006 element}. This element specifies what function should be used to see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11007 whether this score entry matches the article. What match types that can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11008 be used depends on what header you wish to perform the match on.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11009 @table @dfn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11010
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11011 @item From, Subject, References, Xref, Message-ID
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11012 For most header types, there are the @code{r} and @code{R} (regexp), as
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11013 well as @code{s} and @code{S} (substring) types, and @code{e} and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11014 @code{E} (exact match), and @code{w} (word match) types. If this
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11015 element is not present, Gnus will assume that substring matching should
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11016 be used. @code{R}, @code{S}, and @code{E} differ from the others in
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11017 that the matches will be done in a case-sensitive manner. All these
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11018 one-letter types are really just abbreviations for the @code{regexp},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11019 @code{string}, @code{exact}, and @code{word} types, which you can use
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11020 instead, if you feel like.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11021
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11022 @item Lines, Chars
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11023 These two headers use different match types: @code{<}, @code{>},
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11024 @code{=}, @code{>=} and @code{<=}. When matching on @code{Lines}, be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11025 careful because some backends (like @code{nndir}) do not generate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11026 @code{Lines} header, so every article ends up being marked as having 0
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11027 lines. This can lead to strange results if you happen to lower score of
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11028 the articles with few lines.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11029
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11030 @item Date
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11031 For the Date header we have three kinda silly match types:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11032 @code{before}, @code{at} and @code{after}. I can't really imagine this
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11033 ever being useful, but, like, it would feel kinda silly not to provide
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11034 this function. Just in case. You never know. Better safe than sorry.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11035 Once burnt, twice shy. Don't judge a book by its cover. Never not have
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11036 sex on a first date. (I have been told that at least one person, and I
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11037 quote, ``found this function indispensable'', however.)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11038
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11039 @cindex ISO8601
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11040 @cindex date
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11041 A more useful match type is @code{regexp}. With it, you can match the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11042 date string using a regular expression. The date is normalized to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11043 ISO8601 compact format first---@samp{YYYYMMDDTHHMMSS}. If you want to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11044 match all articles that have been posted on April 1st in every year, you
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11045 could use @samp{....0401.........} as a match string, for instance.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11046 (Note that the date is kept in its original time zone, so this will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11047 match articles that were posted when it was April 1st where the article
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11048 was posted from. Time zones are such wholesome fun for the whole
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11049 family, eh?)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11050
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11051 @item Head, Body, All
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11052 These three match keys use the same match types as the @code{From} (etc)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11053 header uses.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11054
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11055 @item Followup
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11056 This match key is somewhat special, in that it will match the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11057 @code{From} header, and affect the score of not only the matching
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11058 articles, but also all followups to the matching articles. This allows
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11059 you e.g. increase the score of followups to your own articles, or
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11060 decrease the score of followups to the articles of some known
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11061 trouble-maker. Uses the same match types as the @code{From} header
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11062 uses.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11063
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11064 @item Thread
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11065 This match key works along the same lines as the @code{Followup} match
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11066 key. If you say that you want to score on a (sub-)thread that is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11067 started by an article with a @code{Message-ID} @var{X}, then you add a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11068 @samp{thread} match. This will add a new @samp{thread} match for each
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11069 article that has @var{X} in its @code{References} header. (These new
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11070 @samp{thread} matches will use the @code{Message-ID}s of these matching
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11071 articles.) This will ensure that you can raise/lower the score of an
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11072 entire thread, even though some articles in the thread may not have
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11073 complete @code{References} headers. Note that using this may lead to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11074 undeterministic scores of the articles in the thread.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11075 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11076 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11077
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11078 @item mark
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11079 The value of this entry should be a number. Any articles with a score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11080 lower than this number will be marked as read.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11081
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11082 @item expunge
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11083 The value of this entry should be a number. Any articles with a score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11084 lower than this number will be removed from the summary buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11085
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11086 @item mark-and-expunge
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11087 The value of this entry should be a number. Any articles with a score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11088 lower than this number will be marked as read and removed from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11089 summary buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11090
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11091 @item thread-mark-and-expunge
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11092 The value of this entry should be a number. All articles that belong to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11093 a thread that has a total score below this number will be marked as read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11094 and removed from the summary buffer. @code{gnus-thread-score-function}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11095 says how to compute the total score for a thread.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11096
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11097 @item files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11098 The value of this entry should be any number of file names. These files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11099 are assumed to be score files as well, and will be loaded the same way
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11100 this one was.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11102 @item exclude-files
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11103 The clue of this entry should be any number of files. These files will
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11104 not be loaded, even though they would normally be so, for some reason or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11105 other.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11106
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11107 @item eval
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11108 The value of this entry will be @code{eval}el. This element will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11109 ignored when handling global score files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11111 @item read-only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11112 Read-only score files will not be updated or saved. Global score files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11113 should feature this atom (@pxref{Global Score Files}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11114
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11115 @item orphan
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11116 The value of this entry should be a number. Articles that do not have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11117 parents will get this number added to their scores. Imagine you follow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11118 some high-volume newsgroup, like @samp{comp.lang.c}. Most likely you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11119 will only follow a few of the threads, also want to see any new threads.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11120
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11121 You can do this with the following two score file entries:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11122
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11123 @example
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11124 (orphan -500)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11125 (mark-and-expunge -100)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11126 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11127
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11128 When you enter the group the first time, you will only see the new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11129 threads. You then raise the score of the threads that you find
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11130 interesting (with @kbd{I T} or @kbd{I S}), and ignore (@kbd{C y}) the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11131 rest. Next time you enter the group, you will see new articles in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11132 interesting threads, plus any new threads.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11133
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
11134 I.e.---the orphan score atom is for high-volume groups where there
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11135 exist a few interesting threads which can't be found automatically by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11136 ordinary scoring rules.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11137
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11138 @item adapt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11139 This entry controls the adaptive scoring. If it is @code{t}, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11140 default adaptive scoring rules will be used. If it is @code{ignore}, no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11141 adaptive scoring will be performed on this group. If it is a list, this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11142 list will be used as the adaptive scoring rules. If it isn't present,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11143 or is something other than @code{t} or @code{ignore}, the default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11144 adaptive scoring rules will be used. If you want to use adaptive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11145 scoring on most groups, you'd set @code{gnus-use-adaptive-scoring} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11146 @code{t}, and insert an @code{(adapt ignore)} in the groups where you do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11147 not want adaptive scoring. If you only want adaptive scoring in a few
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11148 groups, you'd set @code{gnus-use-adaptive-scoring} to @code{nil}, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11149 insert @code{(adapt t)} in the score files of the groups where you want
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11150 it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11151
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11152 @item adapt-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11153 All adaptive score entries will go to the file named by this entry. It
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11154 will also be applied when entering the group. This atom might be handy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11155 if you want to adapt on several groups at once, using the same adaptive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11156 file for a number of groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11157
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11158 @item local
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11159 @cindex local variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11160 The value of this entry should be a list of @code{(VAR VALUE)} pairs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11161 Each @var{var} will be made buffer-local to the current summary buffer,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11162 and set to the value specified. This is a convenient, if somewhat
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11163 strange, way of setting variables in some groups if you don't like hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11164 much.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11165 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11166
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11167
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11168 @node Score File Editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11169 @section Score File Editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11170
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11171 You normally enter all scoring commands from the summary buffer, but you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11172 might feel the urge to edit them by hand as well, so we've supplied you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11173 with a mode for that.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11174
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11175 It's simply a slightly customized @code{emacs-lisp} mode, with these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11176 additional commands:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11177
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11178 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11179
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11180 @item C-c C-c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11181 @kindex C-c C-c (Score)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11182 @findex gnus-score-edit-done
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11183 Save the changes you have made and return to the summary buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11184 (@code{gnus-score-edit-done}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11185
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11186 @item C-c C-d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11187 @kindex C-c C-d (Score)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11188 @findex gnus-score-edit-insert-date
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11189 Insert the current date in numerical format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11190 (@code{gnus-score-edit-insert-date}). This is really the day number, if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11191 you were wondering.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11192
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11193 @item C-c C-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11194 @kindex C-c C-p (Score)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11195 @findex gnus-score-pretty-print
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11196 The adaptive score files are saved in an unformatted fashion. If you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11197 intend to read one of these files, you want to @dfn{pretty print} it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11198 first. This command (@code{gnus-score-pretty-print}) does that for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11199 you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11200
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11201 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11202
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11203 Type @kbd{M-x gnus-score-mode} to use this mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11204
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11205 @vindex gnus-score-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11206 @code{gnus-score-menu-hook} is run in score mode buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11207
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11208 In the summary buffer you can use commands like @kbd{V f} and @kbd{V
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11209 e} to begin editing score files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11210
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11211
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11212 @node Adaptive Scoring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11213 @section Adaptive Scoring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11214 @cindex adaptive scoring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11215
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11216 If all this scoring is getting you down, Gnus has a way of making it all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11217 happen automatically---as if by magic. Or rather, as if by artificial
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11218 stupidity, to be precise.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11219
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11220 @vindex gnus-use-adaptive-scoring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11221 When you read an article, or mark an article as read, or kill an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11222 article, you leave marks behind. On exit from the group, Gnus can sniff
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11223 these marks and add score elements depending on what marks it finds.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11224 You turn on this ability by setting @code{gnus-use-adaptive-scoring} to
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11225 @code{t} or @code{(line)}. If you want score adaptively on separate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11226 words appearing in the subjects, you should set this variable to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11227 @code{(word)}. If you want to use both adaptive methods, set this
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11228 variable to @code{(word line)}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11229
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11230 @vindex gnus-default-adaptive-score-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11231 To give you complete control over the scoring process, you can customize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11232 the @code{gnus-default-adaptive-score-alist} variable. For instance, it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11233 might look something like this:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11234
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11235 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11236 (defvar gnus-default-adaptive-score-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11237 '((gnus-unread-mark)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11238 (gnus-ticked-mark (from 4))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11239 (gnus-dormant-mark (from 5))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11240 (gnus-del-mark (from -4) (subject -1))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11241 (gnus-read-mark (from 4) (subject 2))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11242 (gnus-expirable-mark (from -1) (subject -1))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11243 (gnus-killed-mark (from -1) (subject -3))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11244 (gnus-kill-file-mark)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11245 (gnus-ancient-mark)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11246 (gnus-low-score-mark)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11247 (gnus-catchup-mark (from -1) (subject -1))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11248 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11250 As you see, each element in this alist has a mark as a key (either a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11251 variable name or a ``real'' mark---a character). Following this key is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11252 a arbitrary number of header/score pairs. If there are no header/score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11253 pairs following the key, no adaptive scoring will be done on articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11254 that have that key as the article mark. For instance, articles with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11255 @code{gnus-unread-mark} in the example above will not get adaptive score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11256 entries.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11257
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11258 Each article can have only one mark, so just a single of these rules
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11259 will be applied to each article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11260
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11261 To take @code{gnus-del-mark} as an example---this alist says that all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11262 articles that have that mark (i.e., are marked with @samp{D}) will have a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11263 score entry added to lower based on the @code{From} header by -4, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11264 lowered by @code{Subject} by -1. Change this to fit your prejudices.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11265
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11266 If you have marked 10 articles with the same subject with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11267 @code{gnus-del-mark}, the rule for that mark will be applied ten times.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11268 That means that that subject will get a score of ten times -1, which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11269 should be, unless I'm much mistaken, -10.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11270
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11271 If you have auto-expirable (mail) groups (@pxref{Expiring Mail}), all
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11272 the read articles will be marked with the @samp{E} mark. This'll
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11273 probably make adaptive scoring slightly impossible, so auto-expiring and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11274 adaptive scoring doesn't really mix very well.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11275
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11276 The headers you can score on are @code{from}, @code{subject},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11277 @code{message-id}, @code{references}, @code{xref}, @code{lines},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11278 @code{chars} and @code{date}. In addition, you can score on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11279 @code{followup}, which will create an adaptive score entry that matches
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11280 on the @code{References} header using the @code{Message-ID} of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11281 current article, thereby matching the following thread.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11282
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11283 You can also score on @code{thread}, which will try to score all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11284 articles that appear in a thread. @code{thread} matches uses a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11285 @code{Message-ID} to match on the @code{References} header of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11286 article. If the match is made, the @code{Message-ID} of the article is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11287 added to the @code{thread} rule. (Think about it. I'd recommend two
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11288 aspirins afterwards.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11289
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11290 If you use this scheme, you should set the score file atom @code{mark}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11291 to something small---like -300, perhaps, to avoid having small random
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11292 changes result in articles getting marked as read.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11293
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11294 After using adaptive scoring for a week or so, Gnus should start to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11295 become properly trained and enhance the authors you like best, and kill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11296 the authors you like least, without you having to say so explicitly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11297
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11298 You can control what groups the adaptive scoring is to be performed on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11299 by using the score files (@pxref{Score File Format}). This will also
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11300 let you use different rules in different groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11301
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11302 @vindex gnus-adaptive-file-suffix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11303 The adaptive score entries will be put into a file where the name is the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11304 group name with @code{gnus-adaptive-file-suffix} appended. The default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11305 is @samp{ADAPT}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11306
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11307 @vindex gnus-score-exact-adapt-limit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11308 When doing adaptive scoring, substring or fuzzy matching would probably
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11309 give you the best results in most cases. However, if the header one
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11310 matches is short, the possibility for false positives is great, so if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11311 the length of the match is less than
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11312 @code{gnus-score-exact-adapt-limit}, exact matching will be used. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11313 this variable is @code{nil}, exact matching will always be used to avoid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11314 this problem.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11315
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11316 @vindex gnus-default-adaptive-word-score-alist
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11317 As mentioned above, you can adapt either on individual words or entire
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11318 headers. If you adapt on words, the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11319 @code{gnus-default-adaptive-word-score-alist} variable says what score
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11320 each instance of a word should add given a mark.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11321
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11322 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11323 (setq gnus-default-adaptive-word-score-alist
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11324 `((,gnus-read-mark . 30)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11325 (,gnus-catchup-mark . -10)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11326 (,gnus-killed-mark . -20)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11327 (,gnus-del-mark . -15)))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11328 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11329
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11330 This is the default value. If you have adaption on words enabled, every
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11331 word that appears in subjects of articles that are marked with
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11332 @code{gnus-read-mark} will result in a score rule that increase the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11333 score with 30 points.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11334
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11335 @vindex gnus-default-ignored-adaptive-words
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11336 @vindex gnus-ignored-adaptive-words
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11337 Words that appear in the @code{gnus-default-ignored-adaptive-words} list
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11338 will be ignored. If you wish to add more words to be ignored, use the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11339 @code{gnus-ignored-adaptive-words} list instead.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11340
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11341 @vindex gnus-adaptive-word-syntax-table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11342 When the scoring is done, @code{gnus-adaptive-word-syntax-table} is the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11343 syntax table in effect. It is similar to the standard syntax table, but
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11344 it considers numbers to be non-word-constituent characters.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11345
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11346 After using this scheme for a while, it might be nice to write a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11347 @code{gnus-psychoanalyze-user} command to go through the rules and see
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11348 what words you like and what words you don't like. Or perhaps not.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11349
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11350 Note that the adaptive word scoring thing is highly experimental and is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11351 likely to change in the future. Initial impressions seem to indicate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11352 that it's totally useless as it stands. Some more work (involving more
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11353 rigorous statistical methods) will have to be done to make this useful.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11354
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11355
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11356 @node Home Score File
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11357 @section Home Score File
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11358
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11359 The score file where new score file entries will go is called the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11360 @dfn{home score file}. This is normally (and by default) the score file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11361 for the group itself. For instance, the home score file for
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11362 @samp{gnu.emacs.gnus} is @file{gnu.emacs.gnus.SCORE}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11363
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11364 However, this may not be what you want. It is often convenient to share
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11365 a common home score file among many groups---all @samp{emacs} groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11366 could perhaps use the same home score file.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11367
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11368 @vindex gnus-home-score-file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11369 The variable that controls this is @code{gnus-home-score-file}. It can
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11370 be:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11371
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11372 @enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11373 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11374 A string. Then this file will be used as the home score file for all
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11375 groups.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11376
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11377 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11378 A function. The result of this function will be used as the home score
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11379 file. The function will be called with the name of the group as the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11380 parameter.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11381
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11382 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11383 A list. The elements in this list can be:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11384
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11385 @enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11386 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11387 @var{(regexp file-name)}. If the @var{regexp} matches the group name,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11388 the @var{file-name} will will be used as the home score file.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11389
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11390 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11391 A function. If the function returns non-nil, the result will be used as
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11392 the home score file.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11393
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11394 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11395 A string. Use the string as the home score file.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11396 @end enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11397
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11398 The list will be traversed from the beginning towards the end looking
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11399 for matches.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11400
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11401 @end enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11402
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11403 So, if you want to use just a single score file, you could say:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11404
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11405 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11406 (setq gnus-home-score-file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11407 "my-total-score-file.SCORE")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11408 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11409
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11410 If you want to use @file{gnu.SCORE} for all @samp{gnu} groups and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11411 @file{rec.SCORE} for all @samp{rec} groups (and so on), you can say:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11412
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11413 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11414 (setq gnus-home-score-file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11415 'gnus-hierarchial-home-score-file)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11416 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11417
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11418 This is a ready-made function provided for your convenience.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11419
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11420 If you want to have one score file for the @samp{emacs} groups and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11421 another for the @samp{comp} groups, while letting all other groups use
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11422 their own home score files:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11423
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11424 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11425 (setq gnus-home-score-file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11426 ;; All groups that match the regexp "\\.emacs"
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11427 '("\\.emacs" "emacs.SCORE")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11428 ;; All the comp groups in one score file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11429 ("^comp" "comp.SCORE"))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11430 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11431
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11432 @vindex gnus-home-adapt-file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11433 @code{gnus-home-adapt-file} works exactly the same way as
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11434 @code{gnus-home-score-file}, but says what the home adaptive score file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11435 is instead. All new adaptive file entries will go into the file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11436 specified by this variable, and the same syntax is allowed.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11437
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11438 In addition to using @code{gnus-home-score-file} and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11439 @code{gnus-home-adapt-file}, you can also use group parameters
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11440 (@pxref{Group Parameters}) and topic parameters (@pxref{Topic
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11441 Parameters}) to achieve much the same. Group and topic parameters take
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11442 precedence over this variable.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11443
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11444
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11445 @node Followups To Yourself
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11446 @section Followups To Yourself
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11447
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11448 Gnus offers two commands for picking out the @code{Message-ID} header in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11449 the current buffer. Gnus will then add a score rule that scores using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11450 this @code{Message-ID} on the @code{References} header of other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11451 articles. This will, in effect, increase the score of all articles that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11452 respond to the article in the current buffer. Quite useful if you want
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11453 to easily note when people answer what you've said.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11454
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11455 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11456
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11457 @item gnus-score-followup-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11458 @findex gnus-score-followup-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11459 This will add a score to articles that directly follow up your own
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11460 article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11461
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11462 @item gnus-score-followup-thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11463 @findex gnus-score-followup-thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11464 This will add a score to all articles that appear in a thread ``below''
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11465 your own article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11466 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11467
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11468 @vindex message-sent-hook
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11469 These two functions are both primarily meant to be used in hooks like
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11470 @code{message-sent-hook}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11471
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11472 If you look closely at your own @code{Message-ID}, you'll notice that
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11473 the first two or three characters are always the same. Here's two of
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11474 mine:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11475
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11476 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11477 <x6u3u47icf.fsf@@eyesore.no>
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11478 <x6sp9o7ibw.fsf@@eyesore.no>
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11479 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11480
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11481 So ``my'' ident on this machine is @samp{x6}. This can be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11482 exploited---the following rule will raise the score on all followups to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11483 myself:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11484
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11485 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11486 ("references"
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
11487 ("<x6[0-9a-z]+\\.fsf@@.*eyesore.no>" 1000 nil r))
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11488 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11489
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11490 Whether it's the first two or first three characters that are ``yours''
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11491 is system-dependent.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11492
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11493
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11494 @node Scoring Tips
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11495 @section Scoring Tips
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11496 @cindex scoring tips
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11497
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11498 @table @dfn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11499
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11500 @item Crossposts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11501 @cindex crossposts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11502 @cindex scoring crossposts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11503 If you want to lower the score of crossposts, the line to match on is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11504 the @code{Xref} header.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11505 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11506 ("xref" (" talk.politics.misc:" -1000))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11507 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11508
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11509 @item Multiple crossposts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11510 If you want to lower the score of articles that have been crossposted to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11511 more than, say, 3 groups:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11512 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11513 ("xref" ("[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+" -1000 nil r))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11514 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11515
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11516 @item Matching on the body
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11517 This is generally not a very good idea---it takes a very long time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11518 Gnus actually has to fetch each individual article from the server. But
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11519 you might want to anyway, I guess. Even though there are three match
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11520 keys (@code{Head}, @code{Body} and @code{All}), you should choose one
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11521 and stick with it in each score file. If you use any two, each article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11522 will be fetched @emph{twice}. If you want to match a bit on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11523 @code{Head} and a bit on the @code{Body}, just use @code{All} for all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11524 the matches.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11525
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11526 @item Marking as read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11527 You will probably want to mark articles that has a score below a certain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11528 number as read. This is most easily achieved by putting the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11529 in your @file{all.SCORE} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11530 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11531 ((mark -100))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11532 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11533 You may also consider doing something similar with @code{expunge}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11534
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11535 @item Negated character classes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11536 If you say stuff like @code{[^abcd]*}, you may get unexpected results.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11537 That will match newlines, which might lead to, well, The Unknown. Say
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11538 @code{[^abcd\n]*} instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11539 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11540
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11541
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11542 @node Reverse Scoring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11543 @section Reverse Scoring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11544 @cindex reverse scoring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11545
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11546 If you want to keep just articles that have @samp{Sex with Emacs} in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11547 subject header, and expunge all other articles, you could put something
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11548 like this in your score file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11549
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11550 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11551 (("subject"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11552 ("Sex with Emacs" 2))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11553 (mark 1)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11554 (expunge 1))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11555 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11556
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11557 So, you raise all articles that match @samp{Sex with Emacs} and mark the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11558 rest as read, and expunge them to boot.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11559
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11560
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11561 @node Global Score Files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11562 @section Global Score Files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11563 @cindex global score files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11564
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11565 Sure, other newsreaders have ``global kill files''. These are usually
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11566 nothing more than a single kill file that applies to all groups, stored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11567 in the user's home directory. Bah! Puny, weak newsreaders!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11568
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11569 What I'm talking about here are Global Score Files. Score files from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11570 all over the world, from users everywhere, uniting all nations in one
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11571 big, happy score file union! Ange-score! New and untested!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11572
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11573 @vindex gnus-global-score-files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11574 All you have to do to use other people's score files is to set the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11575 @code{gnus-global-score-files} variable. One entry for each score file,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11576 or each score file directory. Gnus will decide by itself what score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11577 files are applicable to which group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11578
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11579 Say you want to use the score file
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11580 @file{/ftp@@ftp.ifi.uio.no:/pub/larsi/ding/score/soc.motss.SCORE} and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11581 all score files in the @file{/ftp@@ftp.some-where:/pub/score} directory:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11582
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11583 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11584 (setq gnus-global-score-files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11585 '("/ftp@@ftp.ifi.uio.no:/pub/larsi/ding/score/soc.motss.SCORE"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11586 "/ftp@@ftp.some-where:/pub/score/"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11587 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11588
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11589 @findex gnus-score-search-global-directories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11590 Simple, eh? Directory names must end with a @samp{/}. These
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11591 directories are typically scanned only once during each Gnus session.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11592 If you feel the need to manually re-scan the remote directories, you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11593 use the @code{gnus-score-search-global-directories} command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11594
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11595 Note that, at present, using this option will slow down group entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11596 somewhat. (That is---a lot.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11597
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11598 If you want to start maintaining score files for other people to use,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11599 just put your score file up for anonymous ftp and announce it to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11600 world. Become a retro-moderator! Participate in the retro-moderator
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11601 wars sure to ensue, where retro-moderators battle it out for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11602 sympathy of the people, luring them to use their score files on false
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11603 premises! Yay! The net is saved!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11604
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11605 Here are some tips for the would-be retro-moderator, off the top of my
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11606 head:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11607
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11608 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11609
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11610 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11611 Articles that are heavily crossposted are probably junk.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11612 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11613 To lower a single inappropriate article, lower by @code{Message-ID}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11614 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11615 Particularly brilliant authors can be raised on a permanent basis.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11616 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11617 Authors that repeatedly post off-charter for the group can safely be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11618 lowered out of existence.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11619 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11620 Set the @code{mark} and @code{expunge} atoms to obliterate the nastiest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11621 articles completely.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11622
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11623 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11624 Use expiring score entries to keep the size of the file down. You
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11625 should probably have a long expiry period, though, as some sites keep
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11626 old articles for a long time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11627 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11628
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11629 ... I wonder whether other newsreaders will support global score files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11630 in the future. @emph{Snicker}. Yup, any day now, newsreaders like Blue
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11631 Wave, xrn and 1stReader are bound to implement scoring. Should we start
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11632 holding our breath yet?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11633
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11634
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11635 @node Kill Files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11636 @section Kill Files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11637 @cindex kill files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11638
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11639 Gnus still supports those pesky old kill files. In fact, the kill file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11640 entries can now be expiring, which is something I wrote before Daniel
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11641 Quinlan thought of doing score files, so I've left the code in there.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11642
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11643 In short, kill processing is a lot slower (and I do mean @emph{a lot})
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11644 than score processing, so it might be a good idea to rewrite your kill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11645 files into score files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11646
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11647 Anyway, a kill file is a normal @code{emacs-lisp} file. You can put any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11648 forms into this file, which means that you can use kill files as some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11649 sort of primitive hook function to be run on group entry, even though
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11650 that isn't a very good idea.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11651
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11652 Normal kill files look like this:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11653
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11654 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11655 (gnus-kill "From" "Lars Ingebrigtsen")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11656 (gnus-kill "Subject" "ding")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11657 (gnus-expunge "X")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11658 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11659
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11660 This will mark every article written by me as read, and remove them from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11661 the summary buffer. Very useful, you'll agree.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11662
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11663 Other programs use a totally different kill file syntax. If Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11664 encounters what looks like a @code{rn} kill file, it will take a stab at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11665 interpreting it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11666
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11667 Two summary functions for editing a GNUS kill file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11668
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11669 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11670
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11671 @item M-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11672 @kindex M-k (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11673 @findex gnus-summary-edit-local-kill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11674 Edit this group's kill file (@code{gnus-summary-edit-local-kill}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11675
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11676 @item M-K
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11677 @kindex M-K (Summary)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11678 @findex gnus-summary-edit-global-kill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11679 Edit the general kill file (@code{gnus-summary-edit-global-kill}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11680 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11681
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11682 Two group mode functions for editing the kill files:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11683
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11684 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11685
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11686 @item M-k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11687 @kindex M-k (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11688 @findex gnus-group-edit-local-kill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11689 Edit this group's kill file (@code{gnus-group-edit-local-kill}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11690
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11691 @item M-K
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11692 @kindex M-K (Group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11693 @findex gnus-group-edit-global-kill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11694 Edit the general kill file (@code{gnus-group-edit-global-kill}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11695 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11696
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11697 Kill file variables:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11698
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11699 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11700 @item gnus-kill-file-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11701 @vindex gnus-kill-file-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11702 A kill file for the group @samp{soc.motss} is normally called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11703 @file{soc.motss.KILL}. The suffix appended to the group name to get
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11704 this file name is detailed by the @code{gnus-kill-file-name} variable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11705 The ``global'' kill file (not in the score file sense of ``global'', of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11706 course) is called just @file{KILL}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11707
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11708 @vindex gnus-kill-save-kill-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11709 @item gnus-kill-save-kill-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11710 If this variable is non-@code{nil}, Gnus will save the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11711 kill file after processing, which is necessary if you use expiring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11712 kills.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11713
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11714 @item gnus-apply-kill-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11715 @vindex gnus-apply-kill-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11716 @findex gnus-apply-kill-file-unless-scored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11717 @findex gnus-apply-kill-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11718 A hook called to apply kill files to a group. It is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11719 @code{(gnus-apply-kill-file)} by default. If you want to ignore the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11720 kill file if you have a score file for the same group, you can set this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11721 hook to @code{(gnus-apply-kill-file-unless-scored)}. If you don't want
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11722 kill files to be processed, you should set this variable to @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11723
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11724 @item gnus-kill-file-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11725 @vindex gnus-kill-file-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11726 A hook called in kill-file mode buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11727
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11728 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11729
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11730
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11731 @node Converting Kill Files
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11732 @section Converting Kill Files
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11733 @cindex kill files
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11734 @cindex converting kill files
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11735
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11736 If you have loads of old kill files, you may want to convert them into
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11737 score files. If they are ``regular'', you can use
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11738 the @file{gnus-kill-to-score.el} package; if not, you'll have to do it
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11739 by hand.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11740
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11741 The kill to score conversion package isn't included in Gnus by default.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11742 You can fetch it from
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11743 @file{http://www.ifi.uio.no/~larsi/ding-other/gnus-kill-to-score}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11744
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11745 If your old kill files are very complex---if they contain more
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11746 non-@code{gnus-kill} forms than not, you'll have to convert them by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11747 hand. Or just let them be as they are. Gnus will still use them as
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11748 before.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11749
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11750
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11751 @node GroupLens
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11752 @section GroupLens
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11753 @cindex GroupLens
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11754
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11755 GroupLens is a collaborative filtering system that helps you work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11756 together with other people to find the quality news articles out of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11757 huge volume of news articles generated every day.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11758
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11759 To accomplish this the GroupLens system combines your opinions about
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11760 articles you have already read with the opinions of others who have done
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11761 likewise and gives you a personalized prediction for each unread news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11762 article. Think of GroupLens as a matchmaker. GroupLens watches how you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11763 rate articles, and finds other people that rate articles the same way.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11764 Once it has found for you some people you agree with it tells you, in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11765 the form of a prediction, what they thought of the article. You can use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11766 this prediction to help you decide whether or not you want to read the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11767 article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11768
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11769 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11770 * Using GroupLens:: How to make Gnus use GroupLens.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11771 * Rating Articles:: Letting GroupLens know how you rate articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11772 * Displaying Predictions:: Displaying predictions given by GroupLens.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11773 * GroupLens Variables:: Customizing GroupLens.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11774 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11775
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11776
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11777 @node Using GroupLens
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11778 @subsection Using GroupLens
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11779
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11780 To use GroupLens you must register a pseudonym with your local Better
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11781 Bit Bureau (BBB).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11782 @samp{http://www.cs.umn.edu/Research/GroupLens/bbb.html} is the only
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11783 better bit in town is at the moment.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11784
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11785 Once you have registered you'll need to set a couple of variables.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11786
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11787 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11788
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11789 @item gnus-use-grouplens
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11790 @vindex gnus-use-grouplens
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11791 Setting this variable to a non-@code{nil} value will make Gnus hook into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11792 all the relevant GroupLens functions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11793
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11794 @item grouplens-pseudonym
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11795 @vindex grouplens-pseudonym
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11796 This variable should be set to the pseudonym you got when registering
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11797 with the Better Bit Bureau.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11798
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11799 @item grouplens-newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11800 @vindex grouplens-newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11801 A list of groups that you want to get GroupLens predictions for.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11802
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11803 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11804
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11805 Thats the minimum of what you need to get up and running with GroupLens.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11806 Once you've registered, GroupLens will start giving you scores for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11807 articles based on the average of what other people think. But, to get
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11808 the real benefit of GroupLens you need to start rating articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11809 yourself. Then the scores GroupLens gives you will be personalized for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11810 you, based on how the people you usually agree with have already rated.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11811
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11812
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11813 @node Rating Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11814 @subsection Rating Articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11815
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11816 In GroupLens, an article is rated on a scale from 1 to 5, inclusive.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11817 Where 1 means something like this article is a waste of bandwidth and 5
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11818 means that the article was really good. The basic question to ask
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11819 yourself is, "on a scale from 1 to 5 would I like to see more articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11820 like this one?"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11821
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11822 There are four ways to enter a rating for an article in GroupLens.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11823
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11824 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11825
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11826 @item r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11827 @kindex r (GroupLens)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11828 @findex bbb-summary-rate-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11829 This function will prompt you for a rating on a scale of one to five.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11830
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11831 @item k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11832 @kindex k (GroupLens)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11833 @findex grouplens-score-thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11834 This function will prompt you for a rating, and rate all the articles in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11835 the thread. This is really useful for some of those long running giant
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11836 threads in rec.humor.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11837
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11838 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11839
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11840 The next two commands, @kbd{n} and @kbd{,} take a numerical prefix to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11841 the score of the article you're reading.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11842
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11843 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11844
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11845 @item 1-5 n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11846 @kindex n (GroupLens)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11847 @findex grouplens-next-unread-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11848 Rate the article and go to the next unread article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11849
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11850 @item 1-5 ,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11851 @kindex , (GroupLens)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11852 @findex grouplens-best-unread-article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11853 Rate the article and go to the next unread article with the highest score.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11854
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11855 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11856
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11857 If you want to give the current article a score of 4 and then go to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11858 next article, just type @kbd{4 n}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11859
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11860
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11861 @node Displaying Predictions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11862 @subsection Displaying Predictions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11863
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11864 GroupLens makes a prediction for you about how much you will like a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11865 news article. The predictions from GroupLens are on a scale from 1 to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11866 5, where 1 is the worst and 5 is the best. You can use the predictions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11867 from GroupLens in one of three ways controlled by the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11868 @code{gnus-grouplens-override-scoring}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11869
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11870 @vindex gnus-grouplens-override-scoring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11871 There are three ways to display predictions in grouplens. You may
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11872 choose to have the GroupLens scores contribute to, or override the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11873 regular gnus scoring mechanism. override is the default; however, some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11874 people prefer to see the Gnus scores plus the grouplens scores. To get
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11875 the separate scoring behavior you need to set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11876 @code{gnus-grouplens-override-scoring} to @code{'separate}. To have the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11877 GroupLens predictions combined with the grouplens scores set it to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11878 @code{'override} and to combine the scores set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11879 @code{gnus-grouplens-override-scoring} to @code{'combine}. When you use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11880 the combine option you will also want to set the values for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11881 @code{grouplens-prediction-offset} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11882 @code{grouplens-score-scale-factor}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11883
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11884 @vindex grouplens-prediction-display
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11885 In either case, GroupLens gives you a few choices for how you would like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11886 to see your predictions displayed. The display of predictions is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11887 controlled by the @code{grouplens-prediction-display} variable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11888
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11889 The following are legal values for that variable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11890
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11891 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11892 @item prediction-spot
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11893 The higher the prediction, the further to the right an @samp{*} is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11894 displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11895
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11896 @item confidence-interval
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11897 A numeric confidence interval.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11898
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11899 @item prediction-bar
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11900 The higher the prediction, the longer the bar.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11901
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11902 @item confidence-bar
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11903 Numerical confidence.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11904
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11905 @item confidence-spot
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11906 The spot gets bigger with more confidence.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11907
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11908 @item prediction-num
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11909 Plain-old numeric value.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11910
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11911 @item confidence-plus-minus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11912 Prediction +/i confidence.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11913
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11914 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11915
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11916
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11917 @node GroupLens Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11918 @subsection GroupLens Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11919
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11920 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11921
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11922 @item gnus-summary-grouplens-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11923 The summary line format used in summary buffers that are GroupLens
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11924 enhanced. It accepts the same specs as the normal summary line format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11925 (@pxref{Summary Buffer Lines}). The default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11926 @samp{%U%R%z%l%I%(%[%4L: %-20,20n%]%) %s\n}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11927
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11928 @item grouplens-bbb-host
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11929 Host running the bbbd server. @samp{grouplens.cs.umn.edu} is the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11930 default.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11931
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11932 @item grouplens-bbb-port
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11933 Port of the host running the bbbd server. The default is 9000.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11934
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11935 @item grouplens-score-offset
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11936 Offset the prediction by this value. In other words, subtract the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11937 prediction value by this number to arrive at the effective score. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11938 default is 0.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11939
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11940 @item grouplens-score-scale-factor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11941 This variable allows the user to magnify the effect of GroupLens scores.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11942 The scale factor is applied after the offset. The default is 1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11943
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11944 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11945
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11946
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11947 @node Advanced Scoring
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11948 @section Advanced Scoring
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11949
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11950 Scoring on Subjects and From headers is nice enough, but what if you're
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11951 really interested in what a person has to say only when she's talking
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11952 about a particular subject? Or what about if you really don't want to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11953 read what person A has to say when she's following up to person B, but
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11954 want to read what she says when she's following up to person C?
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11955
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11956 By using advanced scoring rules you may create arbitrarily complex
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11957 scoring patterns.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11958
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11959 @menu
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11960 * Advanced Scoring Syntax:: A definition.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11961 * Advanced Scoring Examples:: What they look like.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11962 * Advanced Scoring Tips:: Getting the most out of it.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11963 @end menu
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11964
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11965
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11966 @node Advanced Scoring Syntax
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11967 @subsection Advanced Scoring Syntax
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11968
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11969 Ordinary scoring rules have a string as the first element in the rule.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11970 Advanced scoring rules have a list as the first element. The second
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11971 element is the score to be applied if the first element evaluated to a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11972 non-@code{nil} value.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11973
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11974 These lists may consist of three logical operators, one redirection
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11975 operator, and various match operators.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11976
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11977 Logical operators:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11978
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11979 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11980 @item &
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11981 @itemx and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11982 This logical operator will evaluate each of its arguments until it finds
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11983 one that evaluates to @code{false}, and then it'll stop. If all arguments
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11984 evaluate to @code{true} values, then this operator will return
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11985 @code{true}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11986
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11987 @item |
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11988 @itemx or
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11989 This logical operator will evaluate each of its arguments until it finds
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11990 one that evaluates to @code{true}. If no arguments are @code{true},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11991 then this operator will return @code{false}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11992
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11993 @item !
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11994 @itemx not
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11995 @itemx ¬
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11996 This logical operator only takes a single argument. It returns the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11997 inverse of the value of its argument.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11998
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
11999 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12000
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12001 There is an @dfn{indirection operator} that will make its arguments
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12002 apply to the ancestors of the current article being scored. For
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12003 instance, @code{1-} will make score rules apply to the parent of the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12004 current article. @code{2-} will make score fules apply to the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12005 grandparent of the current article. Alternatively, you can write
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12006 @code{^^}, where the number of @code{^}s (carets) say how far back into
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12007 the ancestry you want to go.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12008
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12009 Finally, we have the match operators. These are the ones that do the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12010 real work. Match operators are header name strings followed by a match
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12011 and a match type. A typical match operator looks like @samp{("from"
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12012 "Lars Ingebrigtsen" s)}. The header names are the same as when using
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12013 simple scoring, and the match types are also the same.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12014
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12015
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12016 @node Advanced Scoring Examples
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12017 @subsection Advanced Scoring Examples
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12018
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12019 Let's say you want to increase the score of articles written by Lars
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12020 when he's talking about Gnus:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12021
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12022 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12023 ((&
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12024 ("from" "Lars Ingebrigtsen")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12025 ("subject" "Gnus"))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12026 1000)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12027 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12028
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12029 Quite simple, huh?
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12030
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12031 When he writes long articles, he sometimes has something nice to say:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12032
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12033 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12034 ((&
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12035 ("from" "Lars Ingebrigtsen")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12036 (|
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12037 ("subject" "Gnus")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12038 ("lines" 100 >)))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12039 1000)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12040 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12041
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12042 However, when he responds to things written by Reig Eigil Logge, you
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12043 really don't want to read what he's written:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12044
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12045 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12046 ((&
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12047 ("from" "Lars Ingebrigtsen")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12048 (1- ("from" "Reig Eigir Logge")))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12049 -100000)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12050 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12051
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12052 Everybody that follows up Redmondo when he writes about disappearing
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12053 socks should have their scores raised, but only when they talk about
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12054 white socks. However, when Lars talks about socks, it's usually not
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12055 very interesting:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12056
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12057 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12058 ((&
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12059 (1-
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12060 (&
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12061 ("from" "redmondo@@.*no" r)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12062 ("body" "disappearing.*socks" t)))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12063 (! ("from" "Lars Ingebrigtsen"))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12064 ("body" "white.*socks"))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12065 1000)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12066 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12067
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12068 The possibilities are endless.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12069
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12070
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12071 @node Advanced Scoring Tips
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12072 @subsection Advanced Scoring Tips
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12073
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12074 The @code{&} and @code{|} logical operators do short-circuit logic.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12075 That is, they stop processing their arguments when it's clear what the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12076 result of the operation will be. For instance, if one of the arguments
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12077 of an @code{&} evaluates to @code{false}, there's no point in evaluating
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12078 the rest of the arguments. This means that you should put slow matches
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12079 (@samp{body}, @code{header}) last and quick matches (@samp{from},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12080 @samp{subject}) first.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12081
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12082 The indirection arguments (@code{1-} and so on) will make their
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12083 arguments work on previous generations of the thread. If you say
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12084 something like:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12085
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12086 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12087 ...
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12088 (1-
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12089 (1-
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12090 ("from" "lars")))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12091 ...
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12092 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12093
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12094 Then that means "score on the from header of the grandparent of the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12095 current article". An indirection is quite fast, but it's better to say:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12096
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12097 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12098 (1-
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12099 (&
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12100 ("from" "Lars")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12101 ("subject" "Gnus")))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12102 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12103
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12104 than it is to say:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12105
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12106 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12107 (&
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12108 (1- ("from" "Lars"))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12109 (1- ("subject" "Gnus")))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12110 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12111
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12112
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12113 @node Score Decays
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12114 @section Score Decays
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12115 @cindex score decays
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12116 @cindex decays
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12117
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12118 You may find that your scores have a tendency to grow without
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12119 bounds, especially if you're using adaptive scoring. If scores get too
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12120 big, they lose all meaning---they simply max out and it's difficult to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12121 use them in any sensible way.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12122
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12123 @vindex gnus-decay-scores
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12124 @findex gnus-decay-score
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12125 @vindex gnus-score-decay-function
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12126 Gnus provides a mechanism for decaying scores to help with this problem.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12127 When score files are loaded and @code{gnus-decay-scores} is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12128 non-@code{nil}, Gnus will run the score files through the decaying
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12129 mechanism thereby lowering the scores of all non-permanent score rules.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12130 The decay itself if performed by the @code{gnus-score-decay-function}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12131 function, which is @code{gnus-decay-score} by default. Here's the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12132 definition of that function:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12133
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12134 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12135 (defun gnus-decay-score (score)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12136 (floor
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12137 (- score
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12138 (* (if (< score 0) 1 -1)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12139 (min score
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12140 (max gnus-score-decay-constant
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12141 (* (abs score)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12142 gnus-score-decay-scale)))))))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12143 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12144
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12145 @vindex gnus-score-decay-scale
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12146 @vindex gnus-score-decay-constant
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12147 @code{gnus-score-decay-constant} is 3 by default and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12148 @code{gnus-score-decay-scale} is 0.05. This should cause the following:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12149
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12150 @enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12151 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12152 Scores between -3 and 3 will be set to 0 when this function is called.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12153
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12154 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12155 Scores with magnitudes between 3 and 60 will be shrunk by 3.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12156
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12157 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12158 Scores with magnitudes greater than 60 will be shrunk by 5% of the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12159 score.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12160 @end enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12161
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12162 If you don't like this decay function, write your own. It is called
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12163 with the score to be decayed as its only parameter, and it should return
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12164 the new score, which should be an integer.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12165
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12166 Gnus will try to decay scores once a day. If you haven't run Gnus for
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12167 four days, Gnus will decay the scores four times, for instance.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12168
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12169
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12170 @node Various
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12171 @chapter Various
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12172
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12173 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12174 * Process/Prefix:: A convention used by many treatment commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12175 * Interactive:: Making Gnus ask you many questions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12176 * Formatting Variables:: You can specify what buffers should look like.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12177 * Windows Configuration:: Configuring the Gnus buffer windows.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12178 * Compilation:: How to speed Gnus up.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12179 * Mode Lines:: Displaying information in the mode lines.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12180 * Highlighting and Menus:: Making buffers look all nice and cozy.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12181 * Buttons:: Get tendonitis in ten easy steps!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12182 * Daemons:: Gnus can do things behind your back.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12183 * NoCeM:: How to avoid spam and other fatty foods.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12184 * Picons:: How to display pictures of what your reading.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12185 * Undo:: Some actions can be undone.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12186 * Moderation:: What to do if you're a moderator.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12187 * XEmacs Enhancements:: There are more pictures and stuff under XEmacs.
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
12188 * Fuzzy Matching:: What's the big fuzz?
42
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
12189 * Thwarting Email Spam:: A how-to on avoiding unsolited commercial email.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12190 * Various Various:: Things that are really various.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12191 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12192
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12193
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12194 @node Process/Prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12195 @section Process/Prefix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12196 @cindex process/prefix convention
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12197
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12198 Many functions, among them functions for moving, decoding and saving
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12199 articles, use what is known as the @dfn{Process/Prefix convention}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12200
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12201 This is a method for figuring out what articles that the user wants the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12202 command to be performed on.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12203
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12204 It goes like this:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12205
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12206 If the numeric prefix is N, perform the operation on the next N
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12207 articles, starting with the current one. If the numeric prefix is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12208 negative, perform the operation on the previous N articles, starting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12209 with the current one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12210
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12211 @vindex transient-mark-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12212 If @code{transient-mark-mode} in non-@code{nil} and the region is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12213 active, all articles in the region will be worked upon.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12214
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12215 If there is no numeric prefix, but some articles are marked with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12216 process mark, perform the operation on the articles that are marked with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12217 the process mark.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12218
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12219 If there is neither a numeric prefix nor any articles marked with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12220 process mark, just perform the operation on the current article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12221
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12222 Quite simple, really, but it needs to be made clear so that surprises
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12223 are avoided.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12224
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12225 Commands that react to the process mark will push the current list of
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12226 process marked articles onto a stack and will then clear all process
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12227 marked articles. You can restore the previous configuration with the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12228 @kbd{M P y} command (@pxref{Setting Process Marks}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12229
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12230 @vindex gnus-summary-goto-unread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12231 One thing that seems to shock & horrify lots of people is that, for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12232 instance, @kbd{3 d} does exactly the same as @kbd{d} @kbd{d} @kbd{d}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12233 Since each @kbd{d} (which marks the current article as read) by default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12234 goes to the next unread article after marking, this means that @kbd{3 d}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12235 will mark the next three unread articles as read, no matter what the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12236 summary buffer looks like. Set @code{gnus-summary-goto-unread} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12237 @code{nil} for a more straightforward action.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12238
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12239
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12240 @node Interactive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12241 @section Interactive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12242 @cindex interaction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12243
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12244 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12245
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12246 @item gnus-novice-user
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12247 @vindex gnus-novice-user
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12248 If this variable is non-@code{nil}, you are either a newcomer to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12249 World of Usenet, or you are very cautious, which is a nice thing to be,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12250 really. You will be given questions of the type ``Are you sure you want
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12251 to do this?'' before doing anything dangerous. This is @code{t} by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12252 default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12253
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12254 @item gnus-expert-user
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12255 @vindex gnus-expert-user
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12256 If this variable is non-@code{nil}, you will never ever be asked any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12257 questions by Gnus. It will simply assume you know what you're doing, no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12258 matter how strange.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12259
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12260 @item gnus-interactive-catchup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12261 @vindex gnus-interactive-catchup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12262 Require confirmation before catching up a group if non-@code{nil}. It
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12263 is @code{t} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12264
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12265 @item gnus-interactive-exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12266 @vindex gnus-interactive-exit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12267 Require confirmation before exiting Gnus. This variable is @code{t} by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12268 default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12269 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12270
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12271
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12272 @node Formatting Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12273 @section Formatting Variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12274 @cindex formatting variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12275
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12276 Throughout this manual you've probably noticed lots of variables that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12277 are called things like @code{gnus-group-line-format} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12278 @code{gnus-summary-mode-line-format}. These control how Gnus is to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12279 output lines in the various buffers. There's quite a lot of them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12280 Fortunately, they all use the same syntax, so there's not that much to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12281 be annoyed by.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12282
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12283 Here's an example format spec (from the group buffer): @samp{%M%S%5y:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12284 %(%g%)\n}. We see that it is indeed extremely ugly, and that there are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12285 lots of percentages everywhere.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12286
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12287 @menu
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12288 * Formatting Basics:: A formatting variable is basically a format string.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12289 * Advanced Formatting:: Modifying output in various ways.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12290 * User-Defined Specs:: Having Gnus call your own functions.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12291 * Formatting Fonts:: Making the formatting look colorful and nice.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12292 @end menu
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12293
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12294 Currently Gnus uses the following formatting variables:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12295 @code{gnus-group-line-format}, @code{gnus-summary-line-format},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12296 @code{gnus-server-line-format}, @code{gnus-topic-line-format},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12297 @code{gnus-group-mode-line-format},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12298 @code{gnus-summary-mode-line-format},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12299 @code{gnus-article-mode-line-format},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12300 @code{gnus-server-mode-line-format}, and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12301 @code{gnus-summary-pick-line-format}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12302
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12303 All these format variables can also be arbitrary elisp forms. In that
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12304 case, they will be @code{eval}ed to insert the required lines.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12305
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12306 @kindex M-x gnus-update-format
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12307 @findex gnus-update-format
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12308 Gnus includes a command to help you while creating your own format
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12309 specs. @kbd{M-x gnus-update-format} will @code{eval} the current form,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12310 update the spec in question and pop you to a buffer where you can
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12311 examine the resulting lisp code to be run to generate the line.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12312
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12313
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12314
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12315 @node Formatting Basics
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12316 @subsection Formatting Basics
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12317
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12318 Each @samp{%} element will be replaced by some string or other when the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12319 buffer in question is generated. @samp{%5y} means ``insert the @samp{y}
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12320 spec, and pad with spaces to get a 5-character field''.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12321
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12322 As with normal C and Emacs Lisp formatting strings, the numerical
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12323 modifier between the @samp{%} and the formatting type character will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12324 @dfn{pad} the output so that it is always at least that long.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12325 @samp{%5y} will make the field always (at least) five characters wide by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12326 padding with spaces to the left. If you say @samp{%-5y}, it will pad to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12327 the right instead.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12328
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12329 You may also wish to limit the length of the field to protect against
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12330 particularly wide values. For that you can say @samp{%4,6y}, which
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12331 means that the field will never be more than 6 characters wide and never
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12332 less than 4 characters wide.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12333
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12334
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12335 @node Advanced Formatting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12336 @subsection Advanced Formatting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12337
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12338 It is frequently useful to post-process the fields in some way.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12339 Padding, limiting, cutting off parts and suppressing certain values can
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12340 be achieved by using @dfn{tilde modifiers}. A typical tilde spec might
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12341 look like @samp{%~(cut 3)~(ignore "0")y}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12342
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12343 These are the legal modifiers:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12344
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12345 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12346 @item pad
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12347 @itemx pad-left
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12348 Pad the field to the left with spaces until it reaches the required
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12349 length.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12350
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12351 @item pad-right
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12352 Pad the field to the right with spaces until it reaches the required
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12353 length.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12354
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12355 @item max
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12356 @itemx max-left
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12357 Cut off characters from the left until it reaches the specified length.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12358
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12359 @item max-right
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12360 Cut off characters from the right until it reaches the specified
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12361 length.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12362
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12363 @item cut
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12364 @itemx cut-left
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12365 Cut off the specified number of characters from the left.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12366
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12367 @item cut-right
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12368 Cut off the specified number of characters from the right.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12369
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12370 @item ignore
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12371 Return an empty string if the field is equal to the specified value.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12372
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12373 @item form
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12374 Use the specified form as the field value when the @samp{@@} spec is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12375 used.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12376 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12377
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12378 Let's take an example. The @samp{%o} spec in the summary mode lines
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12379 will return a date in compact ISO8601 format---@samp{19960809T230410}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12380 This is quite a mouthful, so we want to shave off the century number and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12381 the time, leaving us with a six-character date. That would be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12382 @samp{%~(cut-left 2)~(max-right 6)~(pad 6)o}. (Cutting is done before
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12383 maxing, and we need the padding to ensure that the date is never less
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12384 than 6 characters to make it look nice in columns.)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12385
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12386 Ignoring is done first; then cutting; then maxing; and then as the very
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12387 last operation, padding.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12388
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12389 If you use lots of these advanced thingies, you'll find that Gnus gets
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12390 quite slow. This can be helped enormously by running @kbd{M-x
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12391 gnus-compile} when you are satisfied with the look of your lines.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12392 @xref{Compilation}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12393
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12394
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12395 @node User-Defined Specs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12396 @subsection User-Defined Specs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12397
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12398 All the specs allow for inserting user defined specifiers---@samp{u}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12399 The next character in the format string should be a letter. Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12400 will call the function @code{gnus-user-format-function-}@samp{X}, where
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12401 @samp{X} is the letter following @samp{%u}. The function will be passed
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12402 a single parameter---what the parameter means depends on what buffer
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12403 it's being called from. The function should return a string, which will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12404 be inserted into the buffer just like information from any other
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12405 specifier. This function may also be called with dummy values, so it
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12406 should protect against that.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12407
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12408 You can also use tilde modifiers (@pxref{Advanced Formatting} to achieve
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12409 much the same without defining new functions. Here's an example:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12410 @samp{%~(form (count-lines (point-min) (point)))@@}. The form
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12411 given here will be evaluated to yield the current line number, and then
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12412 inserted.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12413
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12414
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12415 @node Formatting Fonts
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12416 @subsection Formatting Fonts
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12417
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12418 There are specs for highlighting, and these are shared by all the format
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12419 variables. Text inside the @samp{%(} and @samp{%)} specifiers will get
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12420 the special @code{mouse-face} property set, which means that it will be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12421 highlighted (with @code{gnus-mouse-face}) when you put the mouse pointer
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12422 over it.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12423
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12424 Text inside the @samp{%[} and @samp{%]} specifiers will have their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12425 normal faces set using @code{gnus-face-0}, which is @code{bold} by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12426 default. If you say @samp{%1[} instead, you'll get @code{gnus-face-1}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12427 instead, and so on. Create as many faces as you wish. The same goes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12428 for the @code{mouse-face} specs---you can say @samp{%3(hello%)} to have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12429 @samp{hello} mouse-highlighted with @code{gnus-mouse-face-3}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12430
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12431 Here's an alternative recipe for the group buffer:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12432
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12433 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12434 ;; Create three face types.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12435 (setq gnus-face-1 'bold)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12436 (setq gnus-face-3 'italic)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12437
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12438 ;; We want the article count to be in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12439 ;; a bold and green face. So we create
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12440 ;; a new face called `my-green-bold'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12441 (copy-face 'bold 'my-green-bold)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12442 ;; Set the color.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12443 (set-face-foreground 'my-green-bold "ForestGreen")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12444 (setq gnus-face-2 'my-green-bold)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12445
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12446 ;; Set the new & fancy format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12447 (setq gnus-group-line-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12448 "%M%S%3@{%5y%@}%2[:%] %(%1@{%g%@}%)\n")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12449 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12450
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12451 I'm sure you'll be able to use this scheme to create totally unreadable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12452 and extremely vulgar displays. Have fun!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12453
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12454 Note that the @samp{%(} specs (and friends) do not make any sense on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12455 mode-line variables.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12456
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12457
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12458 @node Windows Configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12459 @section Windows Configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12460 @cindex windows configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12461
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12462 No, there's nothing here about X, so be quiet.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12463
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12464 @vindex gnus-use-full-window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12465 If @code{gnus-use-full-window} non-@code{nil}, Gnus will delete all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12466 other windows and occupy the entire Emacs screen by itself. It is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12467 @code{t} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12468
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12469 @vindex gnus-buffer-configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12470 @code{gnus-buffer-configuration} describes how much space each Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12471 buffer should be given. Here's an excerpt of this variable:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12472
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12473 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12474 ((group (vertical 1.0 (group 1.0 point)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12475 (if gnus-carpal (group-carpal 4))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12476 (article (vertical 1.0 (summary 0.25 point)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12477 (article 1.0))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12478 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12479
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12480 This is an alist. The @dfn{key} is a symbol that names some action or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12481 other. For instance, when displaying the group buffer, the window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12482 configuration function will use @code{group} as the key. A full list of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12483 possible names is listed below.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12484
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12485 The @dfn{value} (i.e., the @dfn{split}) says how much space each buffer
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12486 should occupy. To take the @code{article} split as an example -
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12487
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12488 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12489 (article (vertical 1.0 (summary 0.25 point)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12490 (article 1.0)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12491 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12492
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12493 This @dfn{split} says that the summary buffer should occupy 25% of upper
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12494 half of the screen, and that it is placed over the article buffer. As
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12495 you may have noticed, 100% + 25% is actually 125% (yup, I saw y'all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12496 reaching for that calculator there). However, the special number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12497 @code{1.0} is used to signal that this buffer should soak up all the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12498 rest of the space available after the rest of the buffers have taken
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12499 whatever they need. There should be only one buffer with the @code{1.0}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12500 size spec per split.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12501
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12502 Point will be put in the buffer that has the optional third element
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12503 @code{point}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12504
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12505 Here's a more complicated example:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12506
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12507 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12508 (article (vertical 1.0 (group 4)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12509 (summary 0.25 point)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12510 (if gnus-carpal (summary-carpal 4))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12511 (article 1.0)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12512 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12513
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12514 If the size spec is an integer instead of a floating point number,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12515 then that number will be used to say how many lines a buffer should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12516 occupy, not a percentage.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12517
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12518 If the @dfn{split} looks like something that can be @code{eval}ed (to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12519 precise---if the @code{car} of the split is a function or a subr), this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12520 split will be @code{eval}ed. If the result is non-@code{nil}, it will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12521 be used as a split. This means that there will be three buffers if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12522 @code{gnus-carpal} is @code{nil}, and four buffers if @code{gnus-carpal}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12523 is non-@code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12524
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12525 Not complicated enough for you? Well, try this on for size:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12526
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12527 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12528 (article (horizontal 1.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12529 (vertical 0.5
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12530 (group 1.0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12531 (gnus-carpal 4))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12532 (vertical 1.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12533 (summary 0.25 point)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12534 (summary-carpal 4)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12535 (article 1.0))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12536 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12537
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12538 Whoops. Two buffers with the mystery 100% tag. And what's that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12539 @code{horizontal} thingie?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12540
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12541 If the first element in one of the split is @code{horizontal}, Gnus will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12542 split the window horizontally, giving you two windows side-by-side.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12543 Inside each of these strips you may carry on all you like in the normal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12544 fashion. The number following @code{horizontal} says what percentage of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12545 the screen is to be given to this strip.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12546
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12547 For each split, there @emph{must} be one element that has the 100% tag.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12548 The splitting is never accurate, and this buffer will eat any leftover
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12549 lines from the splits.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12550
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12551 To be slightly more formal, here's a definition of what a legal split
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12552 may look like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12553
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12554 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12555 split = frame | horizontal | vertical | buffer | form
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12556 frame = "(frame " size *split ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12557 horizontal = "(horizontal " size *split ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12558 vertical = "(vertical " size *split ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12559 buffer = "(" buffer-name " " size *[ "point" ] ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12560 size = number | frame-params
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12561 buffer-name = group | article | summary ...
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12562 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12563
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12564 The limitations are that the @code{frame} split can only appear as the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12565 top-level split. @var{form} should be an Emacs Lisp form that should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12566 return a valid split. We see that each split is fully recursive, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12567 may contain any number of @code{vertical} and @code{horizontal} splits.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12568
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12569 @vindex gnus-window-min-width
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12570 @vindex gnus-window-min-height
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12571 @cindex window height
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12572 @cindex window width
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12573 Finding the right sizes can be a bit complicated. No window may be less
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
12574 than @code{gnus-window-min-height} (default 1) characters high, and all
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12575 windows must be at least @code{gnus-window-min-width} (default 1)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12576 characters wide. Gnus will try to enforce this before applying the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12577 splits. If you want to use the normal Emacs window width/height limit,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12578 you can just set these two variables to @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12579
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12580 If you're not familiar with Emacs terminology, @code{horizontal} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12581 @code{vertical} splits may work the opposite way of what you'd expect.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12582 Windows inside a @code{horizontal} split are shown side-by-side, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12583 windows within a @code{vertical} split are shown above each other.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12584
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12585 @findex gnus-configure-frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12586 If you want to experiment with window placement, a good tip is to call
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12587 @code{gnus-configure-frame} directly with a split. This is the function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12588 that does all the real work when splitting buffers. Below is a pretty
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12589 nonsensical configuration with 5 windows; two for the group buffer and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12590 three for the article buffer. (I said it was nonsensical.) If you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12591 @code{eval} the statement below, you can get an idea of how that would
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12592 look straight away, without going through the normal Gnus channels.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12593 Play with it until you're satisfied, and then use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12594 @code{gnus-add-configuration} to add your new creation to the buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12595 configuration list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12596
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12597 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12598 (gnus-configure-frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12599 '(horizontal 1.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12600 (vertical 10
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12601 (group 1.0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12602 (article 0.3 point))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12603 (vertical 1.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12604 (article 1.0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12605 (horizontal 4
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12606 (group 1.0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12607 (article 10)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12608 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12609
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12610 You might want to have several frames as well. No prob---just use the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12611 @code{frame} split:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12612
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12613 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12614 (gnus-configure-frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12615 '(frame 1.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12616 (vertical 1.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12617 (summary 0.25 point)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12618 (article 1.0))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12619 (vertical ((height . 5) (width . 15)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12620 (user-position . t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12621 (left . -1) (top . 1))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12622 (picon 1.0))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12623
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12624 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12625
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12626 This split will result in the familiar summary/article window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12627 configuration in the first (or ``main'') frame, while a small additional
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12628 frame will be created where picons will be shown. As you can see,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12629 instead of the normal @code{1.0} top-level spec, each additional split
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12630 should have a frame parameter alist as the size spec.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12631 @xref{Frame Parameters, , Frame Parameters, elisp, The GNU Emacs Lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12632 Reference Manual}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12633
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12634 Here's a list of all possible keys for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12635 @code{gnus-buffer-configuration}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12636
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12637 @code{group}, @code{summary}, @code{article}, @code{server},
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
12638 @code{browse}, @code{message}, @code{pick}, @code{info},
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
12639 @code{summary-faq}, @code{edit-group}, @code{edit-server},
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
12640 @code{edit-score}, @code{post}, @code{reply}, @code{forward},
24
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
12641 @code{reply-yank}, @code{mail-bounce}, @code{draft}, @code{pipe},
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
12642 @code{bug}, @code{compose-bounce}.
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
12643
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
12644 Note that the @code{message} key is used for both
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
12645 @code{gnus-group-mail} and @code{gnus-summary-mail-other-window}. If
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12646 it is desirable to distinguish between the two, something like this
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
12647 might be used:
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
12648
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
12649 @lisp
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
12650 (message (horizontal 1.0
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12651 (vertical 1.0 (message 1.0 point))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12652 (vertical 0.24
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12653 (if (buffer-live-p gnus-summary-buffer)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12654 '(summary 0.5))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12655 (group 1.0)))))
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
12656 @end lisp
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12657
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12658 @findex gnus-add-configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12659 Since the @code{gnus-buffer-configuration} variable is so long and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12660 complicated, there's a function you can use to ease changing the config
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12661 of a single setting: @code{gnus-add-configuration}. If, for instance,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12662 you want to change the @code{article} setting, you could say:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12663
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12664 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12665 (gnus-add-configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12666 '(article (vertical 1.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12667 (group 4)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12668 (summary .25 point)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12669 (article 1.0))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12670 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12671
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12672 You'd typically stick these @code{gnus-add-configuration} calls in your
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12673 @file{.gnus.el} file or in some startup hook---they should be run after
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12674 Gnus has been loaded.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12675
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12676 @vindex gnus-always-force-window-configuration
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12677 If all windows mentioned in the configuration are already visible, Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12678 won't change the window configuration. If you always want to force the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12679 ``right'' window configuration, you can set
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12680 @code{gnus-always-force-window-configuration} to non-@code{nil}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12681
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12682
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12683 @node Compilation
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12684 @section Compilation
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12685 @cindex compilation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12686 @cindex byte-compilation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12687
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12688 @findex gnus-compile
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12689
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12690 Remember all those line format specification variables?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12691 @code{gnus-summary-line-format}, @code{gnus-group-line-format}, and so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12692 on. Now, Gnus will of course heed whatever these variables are, but,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12693 unfortunately, changing them will mean a quite significant slow-down.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12694 (The default values of these variables have byte-compiled functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12695 associated with them, while the user-generated versions do not, of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12696 course.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12697
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12698 To help with this, you can run @kbd{M-x gnus-compile} after you've
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12699 fiddled around with the variables and feel that you're (kind of)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12700 satisfied. This will result in the new specs being byte-compiled, and
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12701 you'll get top speed again. Gnus will save these compiled specs in the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12702 @file{.newsrc.eld} file. (User-defined functions aren't compiled by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12703 this function, though---you should compile them yourself by sticking
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12704 them into the @code{.gnus.el} file and byte-compiling that file.)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12705
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12706
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12707 @node Mode Lines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12708 @section Mode Lines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12709 @cindex mode lines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12710
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12711 @vindex gnus-updated-mode-lines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12712 @code{gnus-updated-mode-lines} says what buffers should keep their mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12713 lines updated. It is a list of symbols. Supported symbols include
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12714 @code{group}, @code{article}, @code{summary}, @code{server},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12715 @code{browse}, and @code{tree}. If the corresponding symbol is present,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12716 Gnus will keep that mode line updated with information that may be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12717 pertinent. If this variable is @code{nil}, screen refresh may be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12718 quicker.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12719
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12720 @cindex display-time
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12721
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12722 @vindex gnus-mode-non-string-length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12723 By default, Gnus displays information on the current article in the mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12724 lines of the summary and article buffers. The information Gnus wishes
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12725 to display (e.g. the subject of the article) is often longer than the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12726 mode lines, and therefore have to be cut off at some point. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12727 @code{gnus-mode-non-string-length} variable says how long the other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12728 elements on the line is (i.e., the non-info part). If you put
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12729 additional elements on the mode line (e.g. a clock), you should modify
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12730 this variable:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12731
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12732 @c Hook written by Francesco Potorti` <pot@cnuce.cnr.it>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12733 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12734 (add-hook 'display-time-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12735 (lambda () (setq gnus-mode-non-string-length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12736 (+ 21
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12737 (if line-number-mode 5 0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12738 (if column-number-mode 4 0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12739 (length display-time-string)))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12740 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12741
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12742 If this variable is @code{nil} (which is the default), the mode line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12743 strings won't be chopped off, and they won't be padded either.
18
d95e72db5c07 Import from CVS: tag r19-15b92
cvs
parents: 16
diff changeset
12744 Note that the default is unlikely to be desirable, as even the
d95e72db5c07 Import from CVS: tag r19-15b92
cvs
parents: 16
diff changeset
12745 percentage complete in the buffer may be crowded off the mode line;
d95e72db5c07 Import from CVS: tag r19-15b92
cvs
parents: 16
diff changeset
12746 the user should configure this variable appropriately for their
d95e72db5c07 Import from CVS: tag r19-15b92
cvs
parents: 16
diff changeset
12747 configuration.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12748
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12749
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12750 @node Highlighting and Menus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12751 @section Highlighting and Menus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12752 @cindex visual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12753 @cindex highlighting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12754 @cindex menus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12755
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12756 @vindex gnus-visual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12757 The @code{gnus-visual} variable controls most of the prettifying Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12758 aspects. If @code{nil}, Gnus won't attempt to create menus or use fancy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12759 colors or fonts. This will also inhibit loading the @file{gnus-vis.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12760 file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12761
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12762 This variable can be a list of visual properties that are enabled. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12763 following elements are legal, and are all included by default:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12764
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12765 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12766 @item group-highlight
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12767 Do highlights in the group buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12768 @item summary-highlight
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12769 Do highlights in the summary buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12770 @item article-highlight
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12771 Do highlights in the article buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12772 @item highlight
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12773 Turn on highlighting in all buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12774 @item group-menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12775 Create menus in the group buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12776 @item summary-menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12777 Create menus in the summary buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12778 @item article-menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12779 Create menus in the article buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12780 @item browse-menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12781 Create menus in the browse buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12782 @item server-menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12783 Create menus in the server buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12784 @item score-menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12785 Create menus in the score buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12786 @item menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12787 Create menus in all buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12788 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12789
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12790 So if you only want highlighting in the article buffer and menus in all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12791 buffers, you could say something like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12792
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12793 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12794 (setq gnus-visual '(article-highlight menu))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12795 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12796
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12797 If you want only highlighting and no menus whatsoever, you'd say:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12798
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12799 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12800 (setq gnus-visual '(highlight))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12801 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12802
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12803 If @code{gnus-visual} is @code{t}, highlighting and menus will be used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12804 in all Gnus buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12805
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12806 Other general variables that influence the look of all buffers include:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12807
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12808 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12809 @item gnus-mouse-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12810 @vindex gnus-mouse-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12811 This is the face (i.e., font) used for mouse highlighting in Gnus. No
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12812 mouse highlights will be done if @code{gnus-visual} is @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12813
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12814 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12815
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12816 There are hooks associated with the creation of all the different menus:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12817
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12818 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12819
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12820 @item gnus-article-menu-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12821 @vindex gnus-article-menu-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12822 Hook called after creating the article mode menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12823
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12824 @item gnus-group-menu-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12825 @vindex gnus-group-menu-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12826 Hook called after creating the group mode menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12827
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12828 @item gnus-summary-menu-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12829 @vindex gnus-summary-menu-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12830 Hook called after creating the summary mode menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12831
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12832 @item gnus-server-menu-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12833 @vindex gnus-server-menu-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12834 Hook called after creating the server mode menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12835
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12836 @item gnus-browse-menu-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12837 @vindex gnus-browse-menu-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12838 Hook called after creating the browse mode menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12839
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12840 @item gnus-score-menu-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12841 @vindex gnus-score-menu-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12842 Hook called after creating the score mode menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12843
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12844 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12845
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12846
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12847 @node Buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12848 @section Buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12849 @cindex buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12850 @cindex mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12851 @cindex click
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12852
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12853 Those new-fangled @dfn{mouse} contraptions is very popular with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12854 young, hep kids who don't want to learn the proper way to do things
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12855 these days. Why, I remember way back in the summer of '89, when I was
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12856 using Emacs on a Tops 20 system. Three hundred users on one single
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12857 machine, and every user was running Simula compilers. Bah!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12858
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12859 Right.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12860
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12861 @vindex gnus-carpal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12862 Well, you can make Gnus display bufferfuls of buttons you can click to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12863 do anything by setting @code{gnus-carpal} to @code{t}. Pretty simple,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12864 really. Tell the chiropractor I sent you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12865
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12866
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12867 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12868
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12869 @item gnus-carpal-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12870 @vindex gnus-carpal-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12871 Hook run in all carpal mode buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12872
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12873 @item gnus-carpal-button-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12874 @vindex gnus-carpal-button-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12875 Face used on buttons.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12876
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12877 @item gnus-carpal-header-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12878 @vindex gnus-carpal-header-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12879 Face used on carpal buffer headers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12880
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12881 @item gnus-carpal-group-buffer-buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12882 @vindex gnus-carpal-group-buffer-buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12883 Buttons in the group buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12884
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12885 @item gnus-carpal-summary-buffer-buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12886 @vindex gnus-carpal-summary-buffer-buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12887 Buttons in the summary buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12888
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12889 @item gnus-carpal-server-buffer-buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12890 @vindex gnus-carpal-server-buffer-buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12891 Buttons in the server buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12892
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12893 @item gnus-carpal-browse-buffer-buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12894 @vindex gnus-carpal-browse-buffer-buttons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12895 Buttons in the browse buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12896 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12897
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12898 All the @code{buttons} variables are lists. The elements in these list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12899 is either a cons cell where the car contains a text to be displayed and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12900 the cdr contains a function symbol, or a simple string.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12901
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12902
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12903 @node Daemons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12904 @section Daemons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12905 @cindex demons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12906 @cindex daemons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12907
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12908 Gnus, being larger than any program ever written (allegedly), does lots
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12909 of strange stuff that you may wish to have done while you're not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12910 present. For instance, you may want it to check for new mail once in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12911 while. Or you may want it to close down all connections to all servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12912 when you leave Emacs idle. And stuff like that.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12913
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12914 Gnus will let you do stuff like that by defining various
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12915 @dfn{handlers}. Each handler consists of three elements: A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12916 @var{function}, a @var{time}, and an @var{idle} parameter.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12917
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12918 Here's an example of a handler that closes connections when Emacs has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12919 been idle for thirty minutes:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12920
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12921 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12922 (gnus-demon-close-connections nil 30)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12923 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12924
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12925 Here's a handler that scans for PGP headers every hour when Emacs is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12926 idle:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12927
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12928 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12929 (gnus-demon-scan-pgp 60 t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12930 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12931
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12932 This @var{time} parameter and than @var{idle} parameter works together
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12933 in a strange, but wonderful fashion. Basically, if @var{idle} is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12934 @code{nil}, then the function will be called every @var{time} minutes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12935
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12936 If @var{idle} is @code{t}, then the function will be called after
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12937 @var{time} minutes only if Emacs is idle. So if Emacs is never idle,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12938 the function will never be called. But once Emacs goes idle, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12939 function will be called every @var{time} minutes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12940
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12941 If @var{idle} is a number and @var{time} is a number, the function will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12942 be called every @var{time} minutes only when Emacs has been idle for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12943 @var{idle} minutes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12944
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12945 If @var{idle} is a number and @var{time} is @code{nil}, the function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12946 will be called once every time Emacs has been idle for @var{idle}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12947 minutes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12948
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12949 And if @var{time} is a string, it should look like @samp{07:31}, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12950 the function will then be called once every day somewhere near that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12951 time. Modified by the @var{idle} parameter, of course.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12952
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12953 @vindex gnus-demon-timestep
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12954 (When I say ``minute'' here, I really mean @code{gnus-demon-timestep}
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12955 seconds. This is 60 by default. If you change that variable,
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12956 all the timings in the handlers will be affected.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12957
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12958 @vindex gnus-use-demon
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12959 To set the whole thing in motion, though, you have to set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12960 @code{gnus-use-demon} to @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12961
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12962 So, if you want to add a handler, you could put something like this in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12963 your @file{.gnus} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12964
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12965 @findex gnus-demon-add-handler
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12966 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12967 (gnus-demon-add-handler 'gnus-demon-close-connections nil 30)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12968 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12969
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12970 @findex gnus-demon-add-nocem
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12971 @findex gnus-demon-add-scanmail
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12972 @findex gnus-demon-add-rescan
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12973 @findex gnus-demon-add-disconnection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12974 Some ready-made functions to do this has been created:
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12975 @code{gnus-demon-add-nocem}, @code{gnus-demon-add-disconnection},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12976 @code{gnus-demon-add-rescan}, and @code{gnus-demon-add-scanmail}. Just
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
12977 put those functions in your @file{.gnus} if you want those abilities.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12978
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12979 @findex gnus-demon-init
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12980 @findex gnus-demon-cancel
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12981 @vindex gnus-demon-handlers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12982 If you add handlers to @code{gnus-demon-handlers} directly, you should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12983 run @code{gnus-demon-init} to make the changes take hold. To cancel all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12984 daemons, you can use the @code{gnus-demon-cancel} function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12985
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12986 Note that adding daemons can be pretty naughty if you overdo it. Adding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12987 functions that scan all news and mail from all servers every two seconds
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12988 is a sure-fire way of getting booted off any respectable system. So
42
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
12989 behave.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12990
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12991
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12992 @node NoCeM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12993 @section NoCeM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12994 @cindex nocem
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12995 @cindex spam
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12996
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12997 @dfn{Spamming} is posting the same article lots and lots of times.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12998 Spamming is bad. Spamming is evil.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12999
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13000 Spamming is usually canceled within a day or so by various anti-spamming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13001 agencies. These agencies usually also send out @dfn{NoCeM} messages.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13002 NoCeM is pronounced ``no see-'em'', and means what the name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13003 implies---these are messages that make the offending articles, like, go
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13004 away.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13005
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13006 What use are these NoCeM messages if the articles are canceled anyway?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13007 Some sites do not honor cancel messages and some sites just honor cancels
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13008 from a select few people. Then you may wish to make use of the NoCeM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13009 messages, which are distributed in the @samp{alt.nocem.misc} newsgroup.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13010
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13011 Gnus can read and parse the messages in this group automatically, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13012 this will make spam disappear.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13013
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13014 There are some variables to customize, of course:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13015
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13016 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13017 @item gnus-use-nocem
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13018 @vindex gnus-use-nocem
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13019 Set this variable to @code{t} to set the ball rolling. It is @code{nil}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13020 by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13021
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13022 @item gnus-nocem-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13023 @vindex gnus-nocem-groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13024 Gnus will look for NoCeM messages in the groups in this list. The
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13025 default is @code{("news.lists.filters" "news.admin.net-abuse.bulletins"
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13026 "alt.nocem.misc" "news.admin.net-abuse.announce")}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13027
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13028 @item gnus-nocem-issuers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13029 @vindex gnus-nocem-issuers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13030 There are many people issuing NoCeM messages. This list says what
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13031 people you want to listen to. The default is @code{("Automoose-1"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13032 "clewis@@ferret.ocunix.on.ca;" "jem@@xpat.com;" "red@@redpoll.mrfs.oh.us
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13033 (Richard E. Depew)")}; fine, upstanding citizens all of them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13034
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13035 Known despammers that you can put in this list include:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13036
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13037 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13038 @item clewis@@ferret.ocunix.on.ca;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13039 @cindex Chris Lewis
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13040 Chris Lewis---Major Canadian despammer who has probably canceled more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13041 usenet abuse than anybody else.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13042
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13043 @item Automoose-1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13044 @cindex CancelMoose[tm]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13045 The CancelMoose[tm] on autopilot. The CancelMoose[tm] is reputed to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13046 Norwegian, and was the person(s) who invented NoCeM.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13047
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13048 @item jem@@xpat.com;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13049 @cindex Jem
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13050 John Milburn---despammer located in Korea who is getting very busy these
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13051 days.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13052
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13053 @item red@@redpoll.mrfs.oh.us (Richard E. Depew)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13054 Richard E. Depew---lone American despammer. He mostly cancels binary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13055 postings to non-binary groups and removes spews (regurgitated articles).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13056 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13057
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13058 You do not have to heed NoCeM messages from all these people---just the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13059 ones you want to listen to.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13060
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13061 @item gnus-nocem-verifyer
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13062 @vindex gnus-nocem-verifyer
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13063 @findex mc-verify
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13064 This should be a function for verifying that the NoCeM issuer is who she
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13065 says she is. The default is @code{mc-verify}, which is a Mailcrypt
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13066 function. If this is too slow and you don't care for verification
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13067 (which may be dangerous), you can set this variable to @code{nil}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13068
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13069 @item gnus-nocem-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13070 @vindex gnus-nocem-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13071 This is where Gnus will store its NoCeM cache files. The default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13072 @file{~/News/NoCeM/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13073
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13074 @item gnus-nocem-expiry-wait
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13075 @vindex gnus-nocem-expiry-wait
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13076 The number of days before removing old NoCeM entries from the cache.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13077 The default is 15. If you make it shorter Gnus will be faster, but you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13078 might then see old spam.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13079
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13080 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13081
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13082
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13083 @node Picons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13084 @section Picons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13085
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13086 So... You want to slow down your news reader even more! This is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13087 good way to do so. Its also a great way to impress people staring
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13088 over your shoulder as you read news.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13089
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13090 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13091 * Picon Basics:: What are picons and How do I get them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13092 * Picon Requirements:: Don't go further if you aren't using XEmacs.
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
13093 * Easy Picons:: Displaying Picons---the easy way.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13094 * Hard Picons:: The way you should do it. You'll learn something.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13095 * Picon Configuration:: Other variables you can trash/tweak/munge/play with.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13096 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13097
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13098
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13099 @node Picon Basics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13100 @subsection Picon Basics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13101
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13102 What are Picons? To quote directly from the Picons Web site:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13103
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13104 @quotation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13105 @dfn{Picons} is short for ``personal icons''. They're small,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13106 constrained images used to represent users and domains on the net,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13107 organized into databases so that the appropriate image for a given
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13108 e-mail address can be found. Besides users and domains, there are picon
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13109 databases for Usenet newsgroups and weather forecasts. The picons are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13110 in either monochrome @code{XBM} format or color @code{XPM} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13111 @code{GIF} formats.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13112 @end quotation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13113
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13114 For instructions on obtaining and installing the picons databases, point
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13115 your Web browser at
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13116 @file{http://www.cs.indiana.edu/picons/ftp/index.html}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13117
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13118 @vindex gnus-picons-database
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13119 Gnus expects picons to be installed into a location pointed to by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13120 @code{gnus-picons-database}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13121
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13122
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13123 @node Picon Requirements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13124 @subsection Picon Requirements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13125
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13126 To use have Gnus display Picons for you, you must be running XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13127 19.13 or greater since all other versions of Emacs aren't yet able to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13128 display images.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13129
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13130 Additionally, you must have @code{xpm} support compiled into XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13131
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13132 @vindex gnus-picons-convert-x-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13133 If you want to display faces from @code{X-Face} headers, you must have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13134 the @code{netpbm} utilities installed, or munge the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13135 @code{gnus-picons-convert-x-face} variable to use something else.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13136
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13137
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13138 @node Easy Picons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13139 @subsection Easy Picons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13140
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13141 To enable displaying picons, simply put the following line in your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13142 @file{~/.gnus} file and start Gnus.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13143
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13144 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13145 (setq gnus-use-picons t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13146 (add-hook 'gnus-article-display-hook 'gnus-article-display-picons t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13147 (add-hook 'gnus-summary-prepare-hook 'gnus-group-display-picons t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13148 (add-hook 'gnus-article-display-hook 'gnus-picons-article-display-x-face)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13149 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13150
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13151
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13152 @node Hard Picons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13153 @subsection Hard Picons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13154
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13155 Gnus can display picons for you as you enter and leave groups and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13156 articles. It knows how to interact with three sections of the picons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13157 database. Namely, it can display the picons newsgroup pictures,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13158 author's face picture(s), and the authors domain. To enable this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13159 feature, you need to first decide where to display them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13160
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13161 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13162
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13163 @item gnus-picons-display-where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13164 @vindex gnus-picons-display-where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13165 Where the picon images should be displayed. It is @code{picons} by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13166 default (which by default maps to the buffer @samp{*Picons*}). Other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13167 valid places could be @code{article}, @code{summary}, or
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13168 @samp{*scratch*} for all I care. Just make sure that you've made the
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
13169 buffer visible using the standard Gnus window configuration
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13170 routines---@pxref{Windows Configuration}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13171
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13172 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13173
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13174 Note: If you set @code{gnus-use-picons} to @code{t}, it will set up your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13175 window configuration for you to include the @code{picons} buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13176
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13177 Now that you've made that decision, you need to add the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13178 functions to the appropriate hooks so these pictures will get
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13179 displayed at the right time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13180
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13181 @vindex gnus-article-display-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13182 @vindex gnus-picons-display-where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13183 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13184 @item gnus-article-display-picons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13185 @findex gnus-article-display-picons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13186 Looks up and display the picons for the author and the author's domain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13187 in the @code{gnus-picons-display-where} buffer. Should be added to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13188 the @code{gnus-article-display-hook}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13189
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13190 @item gnus-group-display-picons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13191 @findex gnus-article-display-picons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13192 Displays picons representing the current group. This function should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13193 be added to the @code{gnus-summary-prepare-hook} or to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13194 @code{gnus-article-display-hook} if @code{gnus-picons-display-where}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13195 is set to @code{article}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13196
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13197 @item gnus-picons-article-display-x-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13198 @findex gnus-article-display-picons
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13199 Decodes and displays the X-Face header if present. This function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13200 should be added to @code{gnus-article-display-hook}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13201
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13202 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13203
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13204 Note: You must append them to the hook, so make sure to specify 't'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13205 to the append flag of @code{add-hook}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13206
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13207 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13208 (add-hook 'gnus-article-display-hook 'gnus-article-display-picons t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13209 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13210
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13211
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13212 @node Picon Configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13213 @subsection Picon Configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13214
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13215 The following variables offer further control over how things are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13216 done, where things are located, and other useless stuff you really
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13217 don't need to worry about.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13218
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13219 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13220 @item gnus-picons-database
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13221 @vindex gnus-picons-database
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13222 The location of the picons database. Should point to a directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13223 containing the @file{news}, @file{domains}, @file{users} (and so on)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13224 subdirectories. Defaults to @file{/usr/local/faces}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13225
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13226 @item gnus-picons-news-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13227 @vindex gnus-picons-news-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13228 Sub-directory of the faces database containing the icons for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13229 newsgroups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13230
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13231 @item gnus-picons-user-directories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13232 @vindex gnus-picons-user-directories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13233 List of subdirectories to search in @code{gnus-picons-database} for user
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13234 faces. @code{("local" "users" "usenix" "misc/MISC")} is the default.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13235
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13236 @item gnus-picons-domain-directories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13237 @vindex gnus-picons-domain-directories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13238 List of subdirectories to search in @code{gnus-picons-database} for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13239 domain name faces. Defaults to @code{("domains")}. Some people may
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13240 want to add @samp{unknown} to this list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13241
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13242 @item gnus-picons-convert-x-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13243 @vindex gnus-picons-convert-x-face
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13244 The command to use to convert the @code{X-Face} header to an X bitmap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13245 (@code{xbm}). Defaults to @code{(format "@{ echo '/* Width=48,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13246 Height=48 */'; uncompface; @} | icontopbm | pbmtoxbm > %s"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13247 gnus-picons-x-face-file-name)}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13248
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13249 @item gnus-picons-x-face-file-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13250 @vindex gnus-picons-x-face-file-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13251 Names a temporary file to store the @code{X-Face} bitmap in. Defaults
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13252 to @code{(format "/tmp/picon-xface.%s.xbm" (user-login-name))}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13253
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13254 @item gnus-picons-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13255 @vindex gnus-picons-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13256 The name of the buffer that @code{picons} points to. Defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13257 @samp{*Icon Buffer*}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13258
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13259 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13260
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13261
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13262 @node Undo
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13263 @section Undo
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13264 @cindex undo
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13265
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13266 It is very useful to be able to undo actions one has done. In normal
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13267 Emacs buffers, it's easy enough---you just push the @code{undo} button.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13268 In Gnus buffers, however, it isn't that simple.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13269
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13270 The things Gnus displays in its buffer is of no value whatsoever to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13271 Gnus---it's all just data that is designed to look nice to the user.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13272 Killing a group in the group buffer with @kbd{C-k} makes the line
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13273 disappear, but that's just a side-effect of the real action---the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13274 removal of the group in question from the internal Gnus structures.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13275 Undoing something like that can't be done by the normal Emacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13276 @code{undo} function.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13277
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13278 Gnus tries to remedy this somewhat by keeping track of what the user
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13279 does and coming up with actions that would reverse the actions the user
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13280 takes. When the user then presses the @code{undo} key, Gnus will run
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13281 the code to reverse the previous action, or the previous actions.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13282 However, not all actions are easily reversible, so Gnus currently offers
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13283 a few key functions to be undoable. These include killing groups,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13284 yanking groups, and changing the list of read articles of groups.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13285 That's it, really. More functions may be added in the future, but each
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13286 added function means an increase in data to be stored, so Gnus will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13287 never be totally undoable.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13288
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13289 @findex gnus-undo-mode
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13290 @vindex gnus-use-undo
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13291 @findex gnus-undo
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13292 The undoability is provided by the @code{gnus-undo-mode} minor mode. It
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13293 is used if @code{gnus-use-undo} is non-@code{nil}, which is the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13294 default. The @kbd{M-C-_} key performs the @code{gnus-undo} command
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13295 command, which should feel kinda like the normal Emacs @code{undo}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13296 command.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13297
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13298
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13299 @node Moderation
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13300 @section Moderation
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13301 @cindex moderation
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13302
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13303 If you are a moderator, you can use the @file{gnus-mdrtn.el} package.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13304 It is not included in the standard Gnus package. Write a mail to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13305 @samp{larsi@@ifi.uio.no} and state what group you moderate, and you'll
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13306 get a copy.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13307
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13308 The moderation package is implemented as a minor mode for summary
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13309 buffers. Put
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13310
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13311 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13312 (add-hook 'gnus-summary-mode-hook 'gnus-moderate)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13313 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13314
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13315 in your @file{.gnus.el} file.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13316
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13317 If you are the moderation of @samp{rec.zoofle}, this is how it's
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13318 supposed to work:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13319
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13320 @enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13321 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13322 You split your incoming mail by matching on
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13323 @samp{Newsgroups:.*rec.zoofle}, which will put all the to-be-posted
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13324 articles in some mail group---for instance, @samp{nnml:rec.zoofle}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13325
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13326 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13327 You enter that group once in a while and post articles using the @kbd{e}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13328 (edit-and-post) or @kbd{s} (just send unedited) commands.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13329
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13330 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13331 If, while reading the @samp{rec.zoofle} newsgroup, you happen upon some
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13332 articles that weren't approved by you, you can cancel them with the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13333 @kbd{c} command.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13334 @end enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13335
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13336 To use moderation mode in these two groups, say:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13337
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13338 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13339 (setq gnus-moderated-list
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13340 "^nnml:rec.zoofle$\\|^rec.zoofle$")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13341 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13342
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13343
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13344 @node XEmacs Enhancements
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13345 @section XEmacs Enhancements
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13346 @cindex XEmacs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13347
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13348 XEmacs is able to display pictures and stuff, so Gnus has taken
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13349 advantage of that. Relevant variables include:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13350
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13351 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13352 @item gnus-xmas-glyph-directory
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13353 @vindex gnus-xmas-glyph-directory
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13354 This is where Gnus will look for pictures. Gnus will normally
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13355 auto-detect this directory, but you may set it manually if you have an
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13356 unusual directory structure.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13357
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13358 @item gnus-xmas-logo-color-alist
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13359 @vindex gnus-xmas-logo-color-alist
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13360 This is an alist where the key is a type symbol and the values are the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13361 foreground and background color of the splash page glyph.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13362
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13363 @item gnus-xmas-logo-color-style
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13364 @vindex gnus-xmas-logo-color-style
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13365 This is the key used to look up the color in the alist described above.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13366 Legal values include @code{flame}, @code{pine}, @code{moss},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13367 @code{irish}, @code{sky}, @code{tin}, @code{velvet}, @code{grape},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13368 @code{labia}, @code{berry}, @code{neutral}, and @code{september}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13369
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13370 @item gnus-use-toolbar
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13371 @vindex gnus-use-toolbar
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13372 If @code{nil}, don't display toolbars. If non-@code{nil}, it should be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13373 one of @code{default-toolbar}, @code{top-toolbar}, @code{bottom-toolbar},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13374 @code{right-toolbar}, or @code{left-toolbar}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13375
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13376 @item gnus-group-toolbar
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13377 @vindex gnus-group-toolbar
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13378 The toolbar in the group buffer.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13379
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13380 @item gnus-summary-toolbar
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13381 @vindex gnus-summary-toolbar
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13382 The toolbar in the summary buffer.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13383
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13384 @item gnus-summary-mail-toolbar
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13385 @vindex gnus-summary-mail-toolbar
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13386 The toolbar in the summary buffer of mail groups.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13387
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13388 @item gnus-xmas-modeline-glyph
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13389 @vindex gnus-xmas-modeline-glyph
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13390 A glyph displayed in all Gnus mode lines. It is a tiny gnu head by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13391 default.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13392
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13393 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13394
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13395
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13396 @node Fuzzy Matching
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13397 @section Fuzzy Matching
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13398 @cindex fuzzy matching
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13399
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13400 Gnus provides @dfn{fuzzy matching} of @code{Subject} lines when doing
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13401 things like scoring, thread gathering and thread comparison.
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13402
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13403 As opposed to regular expression matching, fuzzy matching is very fuzzy.
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13404 It's so fuzzy that there's not even a definition of what @dfn{fuzziness}
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13405 means, and the implementation has changed over time.
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13406
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13407 Basically, it tries to remove all noise from lines before comparing.
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13408 @samp{Re: }, parenthetical remarks, white space, and so on, are filtered
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13409 out of the strings before comparing the results. This often leads to
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13410 adequate results---even when faced with strings generated by text
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13411 manglers masquerading as newsreaders.
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13412
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
13413
42
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13414 @node Thwarting Email Spam
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13415 @section Thwarting Email Spam
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13416 @cindex email spam
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13417 @cindex spam
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13418 @cindex UCE
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13419 @cindex unsolicited commercial email
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13420
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13421 In these last days of the Usenet, commercial vultures are hanging about
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13422 and grepping through news like crazy to find email addresses they can
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13423 foist off their scams and products to. As a reaction to this, many
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13424 people have started putting nonsense addresses into their @code{From}
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13425 lines. I think this is counterproductive---it makes it difficult for
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13426 people to send you legitimate mail in response to things you write, as
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13427 well as making it difficult to see who wrote what. This rewriting may
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13428 perhaps be a bigger menace than the unsolicited commercial email itself
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13429 in the end.
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13430
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13431 The biggest problem I have with email spam is that it comes in under
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13432 false pretenses. I press @kbd{g} and Gnus merrily informs me that I
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13433 have 10 new emails. I say ``Golly gee! Happy is me!'' and selects the
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13434 mail group, only to find two pyramid schemes, seven advertisements
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13435 ``New! Miracle tonic for growing full, lustrouos hair on your toes!''
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13436 and one mail asking me to repent and find some god.
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13437
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13438 This is annoying.
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13439
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13440 The way to deal with this is having Gnus split out all spam into a
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13441 @samp{spam} mail group (@pxref{Splitting Mail}).
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13442
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13443 First, pick one (1) legal mail address that you can be reached at, and
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13444 put it in your @code{From} header of all your news articles. (I've
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13445 chosen @samp{larsi@@trym.ifi.uio.no}.)
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13446
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13447 @lisp
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13448 (setq message-default-news-headers
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13449 "From: Lars Magne Ingebrigtsen <larsi@@trym.ifi.uio.no>\n")
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13450 @end lisp
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13451
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13452 Then put the following split rule in @code{nnmail-split-fancy}
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13453 (@pxref{Fancy Mail Splitting}):
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13454
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13455 @lisp
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13456 (
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13457 ...
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13458 (to "larsi@@trym.ifi.uio.no"
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13459 (| ("subject" "re:.*" "misc")
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13460 ("references" ".*@@.*" "misc")
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13461 "spam"))
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13462 ...
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13463 )
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13464 @end lisp
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13465
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13466 This says that all mail to this address is suspect, but if it has a
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13467 @code{Subject} that starts with a @samp{Re:} or has a @code{References}
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13468 header, it's probably ok. All the rest goes to the @samp{spam} group.
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13469 (This idea probably comes from Tim Pierce.)
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13470
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13471 In my experience, this will sort virtually everything into the right
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13472 group. You still have to check the @samp{spam} group from time to time to
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13473 check for legitimate mail, though. If you feel like being a good net
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13474 citizen, you can even send off complaints to the proper authorities on
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13475 each unsolicited commercial email---at your leisure.
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13476
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13477 This works for me. It allows people an easy way to contact me (they can
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13478 just press @kbd{r} in the usual way), and I'm not bothered at all with
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13479 spam. It's a win-win situation. Forging @code{From} headers to point
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13480 to non-existant domains is yucky, in my opinion.
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13481
8b8b7f3559a2 Import from CVS: tag r19-15b104
cvs
parents: 38
diff changeset
13482
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13483 @node Various Various
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13484 @section Various Various
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13485 @cindex mode lines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13486 @cindex highlights
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13487
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13488 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13489
32
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
13490 @item gnus-home-directory
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
13491 All Gnus path variables will be initialized from this variable, which
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
13492 defaults to @file{~/}.
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
13493
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13494 @item gnus-directory
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13495 @vindex gnus-directory
32
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
13496 Most Gnus storage path variables will be initialized from this variable,
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
13497 which defaults to the @samp{SAVEDIR} environment variable, or
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
13498 @file{~/News/} if that variable isn't set.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13499
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13500 @item gnus-default-directory
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13501 @vindex gnus-default-directory
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13502 Not related to the above variable at all---this variable says what the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13503 default directory of all Gnus buffers should be. If you issue commands
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13504 like @kbd{C-x C-f}, the prompt you'll get starts in the current buffer's
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13505 default directory. If this variable is @code{nil} (which is the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13506 default), the default directory will be the default directory of the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13507 buffer you were in when you started Gnus.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13508
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13509 @item gnus-verbose
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13510 @vindex gnus-verbose
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13511 This variable is an integer between zero and ten. The higher the value,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13512 the more messages will be displayed. If this variable is zero, Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13513 will never flash any messages, if it is seven (which is the default),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13514 most important messages will be shown, and if it is ten, Gnus won't ever
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13515 shut up, but will flash so many messages it will make your head swim.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13516
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13517 @item gnus-verbose-backends
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13518 @vindex gnus-verbose-backends
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13519 This variable works the same way as @code{gnus-verbose}, but it applies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13520 to the Gnus backends instead of Gnus proper.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13521
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13522 @item nnheader-max-head-length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13523 @vindex nnheader-max-head-length
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13524 When the backends read straight heads of articles, they all try to read
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13525 as little as possible. This variable (default 4096) specifies
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13526 the absolute max length the backends will try to read before giving up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13527 on finding a separator line between the head and the body. If this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13528 variable is @code{nil}, there is no upper read bound. If it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13529 @code{t}, the backends won't try to read the articles piece by piece,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13530 but read the entire articles. This makes sense with some versions of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13531 @code{ange-ftp}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13532
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13533 @item nnheader-head-chop-length
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13534 @vindex nnheader-head-chop-length
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13535 This variable says how big a piece of each article to read when doing
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13536 the operation described above.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13537
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13538 @item nnheader-file-name-translation-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13539 @vindex nnheader-file-name-translation-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13540 @cindex file names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13541 @cindex illegal characters in file names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13542 @cindex characters in file names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13543 This is an alist that says how to translate characters in file names.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13544 For instance, if @samp{:} is illegal as a file character in file names
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13545 on your system (you OS/2 user you), you could say something like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13546
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13547 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13548 (setq nnheader-file-name-translation-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13549 '((?: . ?_)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13550 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13551
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13552 In fact, this is the default value for this variable on OS/2 and MS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13553 Windows (phooey) systems.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13554
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13555 @item gnus-hidden-properties
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13556 @vindex gnus-hidden-properties
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13557 This is a list of properties to use to hide ``invisible'' text. It is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13558 @code{(invisible t intangible t)} by default on most systems, which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13559 makes invisible text invisible and intangible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13560
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13561 @item gnus-parse-headers-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13562 @vindex gnus-parse-headers-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13563 A hook called before parsing headers. It can be used, for instance, to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13564 gather statistics on the headers fetched, or perhaps you'd like to prune
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13565 some headers. I don't see why you'd want that, though.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13566
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
13567 @item gnus-shell-command-separator
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
13568 @vindex gnus-shell-command-separator
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
13569 String used to separate to shell commands. The default is @samp{;}.
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
13570
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
13571
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13572 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13573
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13574
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13575 @node The End
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13576 @chapter The End
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13577
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13578 Well, that's the manual---you can get on with your life now. Keep in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13579 touch. Say hello to your cats from me.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13580
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13581 My @strong{ghod}---I just can't stand goodbyes. Sniffle.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13582
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13583 Ol' Charles Reznikoff said it pretty well, so I leave the floor to him:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13584
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13585 @quotation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13586 @strong{Te Deum}
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13587
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13588 @sp 1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13589 Not because of victories @*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13590 I sing,@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13591 having none,@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13592 but for the common sunshine,@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13593 the breeze,@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13594 the largess of the spring.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13595
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13596 @sp 1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13597 Not for victory@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13598 but for the day's work done@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13599 as well as I was able;@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13600 not for a seat upon the dais@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13601 but at the common table.@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13602 @end quotation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13603
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13604
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13605 @node Appendices
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13606 @chapter Appendices
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13607
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13608 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13609 * History:: How Gnus got where it is today.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13610 * Terminology:: We use really difficult, like, words here.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13611 * Customization:: Tailoring Gnus to your needs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13612 * Troubleshooting:: What you might try if things do not work.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13613 * A Programmers Guide to Gnus:: Rilly, rilly technical stuff.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13614 * Emacs for Heathens:: A short introduction to Emacsian terms.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13615 * Frequently Asked Questions:: A question-and-answer session.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13616 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13617
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13618
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13619 @node History
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13620 @section History
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13621
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13622 @cindex history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13623 @sc{gnus} was written by Masanobu @sc{Umeda}. When autumn crept up in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13624 '94, Lars Magne Ingebrigtsen grew bored and decided to rewrite Gnus.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13625
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13626 If you want to investigate the person responsible for this outrage, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13627 can point your (feh!) web browser to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13628 @file{http://www.ifi.uio.no/~larsi/}. This is also the primary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13629 distribution point for the new and spiffy versions of Gnus, and is known
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13630 as The Site That Destroys Newsrcs And Drives People Mad.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13631
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13632 During the first extended alpha period of development, the new Gnus was
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13633 called ``(ding) Gnus''. @dfn{(ding)} is, of course, short for
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13634 @dfn{ding is not Gnus}, which is a total and utter lie, but who cares?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13635 (Besides, the ``Gnus'' in this abbreviation should probably be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13636 pronounced ``news'' as @sc{Umeda} intended, which makes it a more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13637 appropriate name, don't you think?)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13638
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13639 In any case, after spending all that energy on coming up with a new and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13640 spunky name, we decided that the name was @emph{too} spunky, so we
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13641 renamed it back again to ``Gnus''. But in mixed case. ``Gnus'' vs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13642 ``@sc{gnus}''. New vs. old.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13643
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13644 The first ``proper'' release of Gnus 5 was done in November 1995 when it
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13645 was included in the Emacs 19.30 distribution (132 (ding) Gnus releases
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13646 plus 15 Gnus 5.0 releases).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13647
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13648 In May 1996 the next Gnus generation (aka. ``September Gnus'' (after 99
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13649 releases)) was released under the name ``Gnus 5.2'' (40 releases).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13650
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13651 On July 28th 1996 work on Red Gnus was begun, and it was released on
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13652 January 25th 1997 (after 84 releases) as ``Gnus 5.4''.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13653
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13654 If you happen upon a version of Gnus that has a name that is prefixed --
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13655 ``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'' --
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13656 don't panic. Don't let it know that you're frightened. Back away.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13657 Slowly. Whatever you do, don't run. Walk away, calmly, until you're
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13658 out of its reach. Find a proper released version of Gnus and snuggle up
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13659 to that instead.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13660
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13661 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13662 * Why?:: What's the point of Gnus?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13663 * Compatibility:: Just how compatible is Gnus with @sc{gnus}?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13664 * Conformity:: Gnus tries to conform to all standards.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13665 * Emacsen:: Gnus can be run on a few modern Emacsen.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13666 * Contributors:: Oodles of people.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13667 * New Features:: Pointers to some of the new stuff in Gnus.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13668 * Newest Features:: Features so new that they haven't been written yet.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13669 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13670
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13671
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13672 @node Why?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13673 @subsection Why?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13674
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13675 What's the point of Gnus?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13676
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13677 I want to provide a ``rad'', ``happening'', ``way cool'' and ``hep''
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13678 newsreader, that lets you do anything you can think of. That was my
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13679 original motivation, but while working on Gnus, it has become clear to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13680 me that this generation of newsreaders really belong in the stone age.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13681 Newsreaders haven't developed much since the infancy of the net. If the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13682 volume continues to rise with the current rate of increase, all current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13683 newsreaders will be pretty much useless. How do you deal with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13684 newsgroups that have thousands of new articles each day? How do you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13685 keep track of millions of people who post?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13686
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13687 Gnus offers no real solutions to these questions, but I would very much
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13688 like to see Gnus being used as a testing ground for new methods of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13689 reading and fetching news. Expanding on @sc{Umeda}-san's wise decision
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13690 to separate the newsreader from the backends, Gnus now offers a simple
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13691 interface for anybody who wants to write new backends for fetching mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13692 and news from different sources. I have added hooks for customizations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13693 everywhere I could imagine useful. By doing so, I'm inviting every one
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13694 of you to explore and invent.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13695
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13696 May Gnus never be complete. @kbd{C-u 100 M-x hail-emacs}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13697
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13698
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13699 @node Compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13700 @subsection Compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13701
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13702 @cindex compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13703 Gnus was designed to be fully compatible with @sc{gnus}. Almost all key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13704 bindings have been kept. More key bindings have been added, of course,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13705 but only in one or two obscure cases have old bindings been changed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13706
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13707 Our motto is:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13708 @quotation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13709 @cartouche
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13710 @center In a cloud bones of steel.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13711 @end cartouche
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13712 @end quotation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13713
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13714 All commands have kept their names. Some internal functions have changed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13715 their names.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13716
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13717 The @code{gnus-uu} package has changed drastically. @pxref{Decoding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13718 Articles}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13719
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13720 One major compatibility question is the presence of several summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13721 buffers. All variables that are relevant while reading a group are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13722 buffer-local to the summary buffer they belong in. Although many
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13723 important variables have their values copied into their global
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13724 counterparts whenever a command is executed in the summary buffer, this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13725 change might lead to incorrect values being used unless you are careful.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13726
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13727 All code that relies on knowledge of @sc{gnus} internals will probably
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13728 fail. To take two examples: Sorting @code{gnus-newsrc-alist} (or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13729 changing it in any way, as a matter of fact) is strictly verboten. Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13730 maintains a hash table that points to the entries in this alist (which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13731 speeds up many functions), and changing the alist directly will lead to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13732 peculiar results.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13733
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13734 @cindex hilit19
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13735 @cindex highlighting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13736 Old hilit19 code does not work at all. In fact, you should probably
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13737 remove all hilit code from all Gnus hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13738 (@code{gnus-group-prepare-hook} and @code{gnus-summary-prepare-hook}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13739 Gnus provides various integrated functions for highlighting. These are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13740 faster and more accurate. To make life easier for everybody, Gnus will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13741 by default remove all hilit calls from all hilit hooks. Uncleanliness!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13742 Away!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13743
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13744 Packages like @code{expire-kill} will no longer work. As a matter of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13745 fact, you should probably remove all old @sc{gnus} packages (and other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13746 code) when you start using Gnus. More likely than not, Gnus already
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13747 does what you have written code to make @sc{gnus} do. (Snicker.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13748
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13749 Even though old methods of doing things are still supported, only the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13750 new methods are documented in this manual. If you detect a new method of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13751 doing something while reading this manual, that does not mean you have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13752 to stop doing it the old way.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13753
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13754 Gnus understands all @sc{gnus} startup files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13755
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13756 @kindex M-x gnus-bug
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13757 @findex gnus-bug
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13758 @cindex reporting bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13759 @cindex bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13760 Overall, a casual user who hasn't written much code that depends on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13761 @sc{gnus} internals should suffer no problems. If problems occur,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13762 please let me know by issuing that magic command @kbd{M-x gnus-bug}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13763
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13764
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13765 @node Conformity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13766 @subsection Conformity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13767
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13768 No rebels without a clue here, ma'am. We conform to all standards known
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13769 to (wo)man. Except for those standards and/or conventions we disagree
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13770 with, of course.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13771
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13772 @table @strong
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13773
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13774 @item RFC 822
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13775 @cindex RFC 822
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13776 There are no known breaches of this standard.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13777
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13778 @item RFC 1036
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13779 @cindex RFC 1036
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13780 There are no known breaches of this standard, either.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13781
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
13782 @item Good Net-Keeping Seal of Approval
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
13783 @cindex Good Net-Keeping Seal of Approval
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
13784 Gnus has been through the Seal process and failed. I think it'll pass
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
13785 the next inspection.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13786
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13787 @item Son-of-RFC 1036
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13788 @cindex Son-of-RFC 1036
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13789 We do have some breaches to this one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13790
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13791 @table @emph
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13792
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13793 @item MIME
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13794 Gnus does no MIME handling, and this standard-to-be seems to think that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13795 MIME is the bees' knees, so we have major breakage here.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13796
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13797 @item X-Newsreader
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13798 This is considered to be a ``vanity header'', while I consider it to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13799 consumer information. After seeing so many badly formatted articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13800 coming from @code{tin} and @code{Netscape} I know not to use either of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13801 those for posting articles. I would not have known that if it wasn't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13802 for the @code{X-Newsreader} header.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13803 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13804
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13805 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13806
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13807 If you ever notice Gnus acting non-compliantly with regards to the texts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13808 mentioned above, don't hesitate to drop a note to Gnus Towers and let us
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13809 know.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13810
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13811
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13812 @node Emacsen
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13813 @subsection Emacsen
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13814 @cindex Emacsen
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13815 @cindex XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13816 @cindex Mule
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13817 @cindex Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13818
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13819 Gnus should work on :
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13820
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13821 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13822
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13823 @item
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13824 Emacs 19.32 and up.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13825
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13826 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13827 XEmacs 19.14 and up.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13828
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13829 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13830 Mule versions based on Emacs 19.32 and up.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13831
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13832 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13833
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13834 Gnus will absolutely not work on any Emacsen older than that. Not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13835 reliably, at least.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13836
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13837 There are some vague differences between Gnus on the various
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13838 platforms---XEmacs features more graphics (a logo and a toolbar)---but
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13839 other than that, things should look pretty much the same under all
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13840 Emacsen.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13841
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13842
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13843 @node Contributors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13844 @subsection Contributors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13845 @cindex contributors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13846
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13847 The new Gnus version couldn't have been done without the help of all the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13848 people on the (ding) mailing list. Every day for over a year I have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13849 gotten billions of nice bug reports from them, filling me with joy,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13850 every single one of them. Smooches. The people on the list have been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13851 tried beyond endurance, what with my ``oh, that's a neat idea <type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13852 type>, yup, I'll release it right away <ship off> no wait, that doesn't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13853 work at all <type type>, yup, I'll ship that one off right away <ship
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13854 off> no, wait, that absolutely does not work'' policy for releases.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13855 Micro$oft---bah. Amateurs. I'm @emph{much} worse. (Or is that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13856 ``worser''? ``much worser''? ``worsest''?)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13857
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13858 I would like to take this opportunity to thank the Academy for... oops,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13859 wrong show.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13860
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13861 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13862
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13863 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13864 Masanobu @sc{Umeda}---the writer of the original @sc{gnus}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13865
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13866 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13867 Per Abrahamsen---custom, scoring, highlighting and @sc{soup} code (as
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13868 well as numerous other things).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13869
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13870 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13871 Luis Fernandes---design and graphics.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13872
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13873 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13874 Erik Naggum---help, ideas, support, code and stuff.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13875
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13876 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13877 Wes Hardaker---@file{gnus-picon.el} and the manual section on
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13878 @dfn{picons} (@pxref{Picons}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13879
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13880 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13881 Brad Miller---@file{gnus-gl.el} and the GroupLens manual section
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13882 (@pxref{GroupLens}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13883
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13884 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13885 Sudish Joseph---innumerable bug fixes.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13886
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13887 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13888 Ilja Weis---@file{gnus-topic.el}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13889
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13890 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13891 Steven L. Baur---lots and lots and lots of bugs detections and fixes.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13892
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13893 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13894 Vladimir Alexiev---the refcard and reference booklets.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13895
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13896 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13897 Felix Lee & Jamie Zawinsky---I stole some pieces from the XGnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13898 distribution by Felix Lee and JWZ.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13899
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13900 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13901 Scott Byer---@file{nnfolder.el} enhancements & rewrite.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13902
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13903 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13904 Peter Mutsaers---orphan article scoring code.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13905
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13906 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13907 Ken Raeburn---POP mail support.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13908
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13909 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13910 Hallvard B Furuseth---various bits and pieces, especially dealing with
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13911 .newsrc files.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13912
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13913 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13914 Brian Edmonds---@file{gnus-bbdb.el}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13915
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13916 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13917 David Moore---rewrite of @file{nnvirtual.el} and many other things.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13918
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13919 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13920 Ricardo Nassif, Mark Borges, and Jost Krieger---proof-reading.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13921
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13922 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13923 Kevin Davidson---came up with the name @dfn{ding}, so blame him.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13924
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13925 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13926 François Pinard---many, many interesting and thorough bug reports.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13927
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13928 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13929
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13930 The following people have contributed many patches and suggestions:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13931
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13932 Christopher Davis,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13933 Andrew Eskilsson,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13934 Kai Grossjohann,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13935 David Kågedal,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13936 Richard Pieri,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13937 Fabrice Popineau,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13938 Daniel Quinlan,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13939 Jason L. Tibbitts, III,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13940 and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13941 Jack Vinson.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13942
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13943 Also thanks to the following for patches and stuff:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13944
30
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
13945 Adrian Aichner,
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13946 Peter Arius,
34
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
13947 Matt Armstrong,
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13948 Marc Auslander,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13949 Chris Bone,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13950 Mark Borges,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13951 Lance A. Brown,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13952 Kees de Bruin,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13953 Martin Buchholz,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13954 Kevin Buhr,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13955 Alastair Burt,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13956 Joao Cachopo,
30
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
13957 Zlatko Calusic,
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13958 Massimo Campostrini,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13959 Michael R. Cook,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13960 Glenn Coombs,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13961 Frank D. Cringle,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13962 Geoffrey T. Dairiki,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13963 Andre Deparade,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13964 Ulrik Dickow,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13965 Dave Disser,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13966 Joev Dubach,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13967 Paul Eggert,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13968 Michael Ernst,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13969 Luc Van Eycken,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13970 Sam Falkner,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13971 Paul Franklin,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13972 David S. Goldberg,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13973 D. Hall,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13974 Magnus Hammerin,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13975 Raja R. Harinath,
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 18
diff changeset
13976 Hisashige Kenji, @c Hisashige
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13977 Marc Horowitz,
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 18
diff changeset
13978 François Felix Ingrand,
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13979 Ishikawa Ichiro, @c Ishikawa
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13980 Lee Iverson,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13981 Rajappa Iyer,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13982 Randell Jesup,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13983 Fred Johansen,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13984 Greg Klanderman,
30
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
13985 Karl Kleinpaste,
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13986 Peter Skov Knudsen,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13987 Shuhei Kobayashi, @c Kobayashi
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13988 Thor Kristoffersen,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13989 Jens Lautenbacher,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13990 Carsten Leonhardt,
30
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
13991 James LewisMoss,
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13992 Christian Limpach,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13993 Markus Linnala,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13994 Dave Love,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13995 Tonny Madsen,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13996 Shlomo Mahlab,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
13997 Nat Makarevitch,
30
ec9a17fef872 Import from CVS: tag r19-15b98
cvs
parents: 28
diff changeset
13998 David Martin,
34
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
13999 Gordon Matzigkeit,
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14000 Timo Metzemakers,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14001 Richard Mlynarik,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14002 Lantz Moore,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14003 Morioka Tomohiko, @c Morioka
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14004 Erik Toubro Nielsen,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14005 Hrvoje Niksic,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14006 Andy Norman,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14007 C. R. Oldham,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14008 Alexandre Oliva,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14009 Ken Olstad,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14010 Masaharu Onishi, @c Onishi
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14011 Hideki Ono, @c Ono
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14012 William Perry,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14013 Stephen Peters,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14014 Ulrich Pfeifer,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14015 John McClary Prevost,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14016 Colin Rafferty,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14017 Bart Robinson,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14018 Jason Rumney,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14019 Loren Schall,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14020 Dan Schmidt,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14021 Ralph Schleicher,
34
d620409f5eb8 Import from CVS: tag r19-15b100
cvs
parents: 32
diff changeset
14022 Philippe Schnoebelen,
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14023 Randal L. Schwartz,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14024 Danny Siu,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14025 Paul D. Smith,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14026 Jeff Sparkes,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14027 Michael Sperber,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14028 Richard Stallman,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14029 Greg Stark,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14030 Paul Stodghill,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14031 Kurt Swanson,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14032 Samuel Tardieu,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14033 Teddy,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14034 Chuck Thompson,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14035 Philippe Troin,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14036 Jan Vroonhof,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14037 Barry A. Warsaw,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14038 Christoph Wedler,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14039 Joe Wells,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14040 and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14041 Katsumi Yamaoka. @c Yamaoka
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14042
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14043 For a full overview of what each person has done, the ChangeLogs
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14044 included in the Gnus alpha distributions should give ample reading
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14045 (550kB and counting).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14046
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14047 Apologies to everybody that I've forgotten, of which there are many, I'm
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14048 sure.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14049
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14050 Gee, that's quite a list of people. I guess that must mean that there
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14051 actually are people who are using Gnus. Who'd'a thunk it!
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14052
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14053
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14054 @node New Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14055 @subsection New Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14056 @cindex new features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14057
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14058 @menu
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14059 * ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14060 * September Gnus:: The Thing Formally Known As Gnus 5.3/5.3.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14061 * Red Gnus:: Third time best---Gnus 5.4/5.5.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14062 @end menu
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14063
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14064 These lists are, of course, just @emph{short} overviews of the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14065 @emph{most} important new features. No, really. There are tons more.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14066 Yes, we have feeping creaturism in full effect.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14067
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14068
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14069 @node ding Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14070 @subsubsection (ding) Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14071
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14072 New features in Gnus 5.0/5.1:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14073
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14074 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14075
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14076 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14077 The look of all buffers can be changed by setting format-like variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14078 (@pxref{Group Buffer Format} and @pxref{Summary Buffer Format}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14079
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14080 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14081 Local spool and several @sc{nntp} servers can be used at once
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14082 (@pxref{Select Methods}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14083
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14084 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14085 You can combine groups into virtual groups (@pxref{Virtual Groups}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14086
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14087 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14088 You can read a number of different mail formats (@pxref{Getting Mail}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14089 All the mail backends implement a convenient mail expiry scheme
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14090 (@pxref{Expiring Mail}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14091
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14092 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14093 Gnus can use various strategies for gathering threads that have lost
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14094 their roots (thereby gathering loose sub-threads into one thread) or it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14095 can go back and retrieve enough headers to build a complete thread
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14096 (@pxref{Customizing Threading}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14097
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14098 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14099 Killed groups can be displayed in the group buffer, and you can read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14100 them as well (@pxref{Listing Groups}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14102 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14103 Gnus can do partial group updates---you do not have to retrieve the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14104 entire active file just to check for new articles in a few groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14105 (@pxref{The Active File}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14106
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14107 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14108 Gnus implements a sliding scale of subscribedness to groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14109 (@pxref{Group Levels}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14111 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14112 You can score articles according to any number of criteria
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14113 (@pxref{Scoring}). You can even get Gnus to find out how to score
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14114 articles for you (@pxref{Adaptive Scoring}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14115
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14116 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14117 Gnus maintains a dribble buffer that is auto-saved the normal Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14118 manner, so it should be difficult to lose much data on what you have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14119 read if your machine should go down (@pxref{Auto Save}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14120
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14121 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14122 Gnus now has its own startup file (@file{.gnus}) to avoid cluttering up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14123 the @file{.emacs} file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14124
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14125 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14126 You can set the process mark on both groups and articles and perform
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14127 operations on all the marked items (@pxref{Process/Prefix}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14128
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14129 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14130 You can grep through a subset of groups and create a group from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14131 results (@pxref{Kibozed Groups}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14132
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14133 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14134 You can list subsets of groups according to, well, anything
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14135 (@pxref{Listing Groups}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14136
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14137 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14138 You can browse foreign servers and subscribe to groups from those
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14139 servers (@pxref{Browse Foreign Server}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14140
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14141 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14142 Gnus can fetch articles asynchronously on a second connection to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14143 server (@pxref{Asynchronous Fetching}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14144
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14145 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14146 You can cache articles locally (@pxref{Article Caching}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14147
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14148 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14149 The uudecode functions have been expanded and generalized
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14150 (@pxref{Decoding Articles}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14151
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14152 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14153 You can still post uuencoded articles, which was a little-known feature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14154 of @sc{gnus}' past (@pxref{Uuencoding and Posting}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14155
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14156 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14157 Fetching parents (and other articles) now actually works without
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14158 glitches (@pxref{Finding the Parent}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14159
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14160 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14161 Gnus can fetch FAQs and group descriptions (@pxref{Group Information}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14162
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14163 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14164 Digests (and other files) can be used as the basis for groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14165 (@pxref{Document Groups}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14166
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14167 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14168 Articles can be highlighted and customized (@pxref{Customizing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14169 Articles}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14170
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14171 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14172 URLs and other external references can be buttonized (@pxref{Article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14173 Buttons}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14174
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14175 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14176 You can do lots of strange stuff with the Gnus window & frame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14177 configuration (@pxref{Windows Configuration}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14178
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14179 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14180 You can click on buttons instead of using the keyboard
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14181 (@pxref{Buttons}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14182
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14183 @end itemize
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14184
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14185
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14186 @node September Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14187 @subsubsection September Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14188
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14189 New features in Gnus 5.2/5.3:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14190
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14191 @itemize @bullet
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14192
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14193 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14194 A new message composition mode is used. All old customization variables
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14195 for @code{mail-mode}, @code{rnews-reply-mode} and @code{gnus-msg} are
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14196 now obsolete.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14197
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14198 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14199 Gnus is now able to generate @dfn{sparse} threads---threads where
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14200 missing articles are represented by empty nodes (@pxref{Customizing
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14201 Threading}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14202
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14203 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14204 (setq gnus-build-sparse-threads 'some)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14205 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14206
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14207 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14208 Outgoing articles are stored on a special archive server
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14209 (@pxref{Archived Messages}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14210
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14211 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14212 Partial thread regeneration now happens when articles are
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14213 referred.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14214
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14215 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14216 Gnus can make use of GroupLens predictions (@pxref{GroupLens}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14217
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14218 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14219 Picons (personal icons) can be displayed under XEmacs (@pxref{Picons}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14220
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14221 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14222 A @code{trn}-line tree buffer can be displayed (@pxref{Tree Display}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14223
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14224 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14225 (setq gnus-use-trees t)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14226 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14227
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14228 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14229 An @code{nn}-like pick-and-read minor mode is available for the summary
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14230 buffers (@pxref{Pick and Read}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14231
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14232 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14233 (add-hook 'gnus-summary-mode-hook 'gnus-pick-mode)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14234 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14235
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14236 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14237 In binary groups you can use a special binary minor mode (@pxref{Binary
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14238 Groups}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14239
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14240 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14241 Groups can be grouped in a folding topic hierarchy (@pxref{Group
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14242 Topics}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14243
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14244 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14245 (add-hook 'gnus-group-mode-hook 'gnus-topic-mode)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14246 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14247
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14248 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14249 Gnus can re-send and bounce mail (@pxref{Summary Mail Commands}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14250
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14251 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14252 Groups can now have a score, and bubbling based on entry frequency
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14253 is possible (@pxref{Group Score}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14254
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14255 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14256 (add-hook 'gnus-summary-exit-hook 'gnus-summary-bubble-group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14257 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14258
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14259 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14260 Groups can be process-marked, and commands can be performed on
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14261 groups of groups (@pxref{Marking Groups}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14262
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14263 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14264 Caching is possible in virtual groups.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14265
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14266 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14267 @code{nndoc} now understands all kinds of digests, mail boxes, rnews
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14268 news batches, ClariNet briefs collections, and just about everything
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14269 else (@pxref{Document Groups}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14270
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14271 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14272 Gnus has a new backend (@code{nnsoup}) to create/read SOUP packets
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14273 (@pxref{SOUP}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14274
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14275 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14276 The Gnus cache is much faster.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14277
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14278 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14279 Groups can be sorted according to many criteria (@pxref{Sorting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14280 Groups}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14281
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14282 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14283 New group parameters have been introduced to set list-address and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14284 expiry times (@pxref{Group Parameters}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14285
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14286 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14287 All formatting specs allow specifying faces to be used
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14288 (@pxref{Formatting Fonts}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14289
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14290 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14291 There are several more commands for setting/removing/acting on process
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14292 marked articles on the @kbd{M P} submap (@pxref{Setting Process Marks}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14293
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14294 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14295 The summary buffer can be limited to show parts of the available
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14296 articles based on a wide range of criteria. These commands have been
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14297 bound to keys on the @kbd{/} submap (@pxref{Limiting}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14298
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14299 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14300 Articles can be made persistent with the @kbd{*} command
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14301 (@pxref{Persistent Articles}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14302
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14303 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14304 All functions for hiding article elements are now toggles.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14305
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14306 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14307 Article headers can be buttonized (@pxref{Article Washing}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14308
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14309 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14310 (add-hook 'gnus-article-display-hook
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14311 'gnus-article-add-buttons-to-head)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14312 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14313
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14314 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14315 All mail backends support fetching articles by @code{Message-ID}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14316
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14317 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14318 Duplicate mail can now be treated properly (@pxref{Duplicates}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14319
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14320 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14321 All summary mode commands are available directly from the article
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14322 buffer (@pxref{Article Keymap}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14323
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14324 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14325 Frames can be part of @code{gnus-buffer-configuration} (@pxref{Windows
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14326 Configuration}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14327
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14328 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14329 Mail can be re-scanned by a daemonic process (@pxref{Daemons}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14330
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14331 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14332 Gnus can make use of NoCeM files to weed out spam (@pxref{NoCeM}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14333
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14334 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14335 (setq gnus-use-nocem t)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14336 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14337
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14338 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14339 Groups can be made permanently visible (@pxref{Listing Groups}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14340
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14341 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14342 (setq gnus-permanently-visible-groups "^nnml:")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14343 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14344
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14345 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14346 Many new hooks have been introduced to make customizing easier.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14347
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14348 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14349 Gnus respects the @code{Mail-Copies-To} header.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14350
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14351 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14352 Threads can be gathered by looking at the @code{References} header
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14353 (@pxref{Customizing Threading}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14354
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14355 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14356 (setq gnus-summary-thread-gathering-function
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14357 'gnus-gather-threads-by-references)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14358 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14359
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14360 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14361 Read articles can be stored in a special backlog buffer to avoid
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14362 refetching (@pxref{Article Backlog}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14363
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14364 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14365 (setq gnus-keep-backlog 50)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14366 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14367
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14368 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14369 A clean copy of the current article is always stored in a separate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14370 buffer to allow easier treatment.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14371
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14372 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14373 Gnus can suggest where to save articles (@pxref{Saving Articles}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14374
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14375 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14376 Gnus doesn't have to do as much prompting when saving (@pxref{Saving
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14377 Articles}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14378
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14379 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14380 (setq gnus-prompt-before-saving t)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14381 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14382
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14383 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14384 @code{gnus-uu} can view decoded files asynchronously while fetching
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14385 articles (@pxref{Other Decode Variables}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14386
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14387 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14388 (setq gnus-uu-grabbed-file-functions 'gnus-uu-grab-view)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14389 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14390
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14391 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14392 Filling in the article buffer now works properly on cited text
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14393 (@pxref{Article Washing}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14394
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14395 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14396 Hiding cited text adds buttons to toggle hiding, and how much
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14397 cited text to hide is now customizable (@pxref{Article Hiding}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14398
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14399 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14400 (setq gnus-cited-lines-visible 2)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14401 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14402
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14403 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14404 Boring headers can be hidden (@pxref{Article Hiding}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14405
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14406 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14407 (add-hook 'gnus-article-display-hook
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14408 'gnus-article-hide-boring-headers t)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14409 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14410
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14411 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14412 Default scoring values can now be set from the menu bar.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14413
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14414 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14415 Further syntax checking of outgoing articles have been added.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14416
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14417 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14418
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14419
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14420 @node Red Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14421 @subsubsection Red Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14422
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14423 New features in Gnus 5.4/5.5:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14424
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14425 @itemize @bullet
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14426
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14427 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14428 @file{nntp.el} has been totally rewritten in an asynchronous fashion.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14429
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14430 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14431 Article prefetching functionality has been moved up into
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14432 Gnus (@pxref{Asynchronous Fetching}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14433
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14434 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14435 Scoring can now be performed with logical operators like @code{and},
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14436 @code{or}, @code{not}, and parent redirection (@pxref{Advanced
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14437 Scoring}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14438
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14439 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14440 Article washing status can be displayed in the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14441 article mode line (@pxref{Misc Article}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14442
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14443 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14444 @file{gnus.el} has been split into many smaller files.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14445
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14446 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14447 Suppression of duplicate articles based on Message-ID can be done
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14448 (@pxref{Duplicate Suppression}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14449
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14450 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14451 (setq gnus-suppress-duplicates t)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14452 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14453
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14454 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14455 New variables for specifying what score and adapt files are to be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14456 considered home score and adapt files (@pxref{Home Score File}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14457
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14458 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14459 @code{nndoc} was rewritten to be easily extendable (@pxref{Document
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14460 Server Internals}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14461
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14462 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14463 Groups can inherit group parameters from parent topics (@pxref{Topic
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14464 Parameters}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14465
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14466 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14467 Article editing has been revamped and is now actually usable.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14468
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14469 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14470 Signatures can be recognized in more intelligent fashions
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14471 (@pxref{Article Signature}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14472
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14473 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14474 Summary pick mode has been made to look more @code{nn}-like. Line
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14475 numbers are displayed and the @kbd{.} command can be used to pick
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14476 articles (@code{Pick and Read}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14477
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14478 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14479 Commands for moving the @file{.newsrc.eld} from one server to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14480 another have been added (@pxref{Changing Servers}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14481
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14482 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14483 A way to specify that ``uninteresting'' fields be suppressed when
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14484 generating lines in buffers (@pxref{Advanced Formatting}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14485
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14486 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14487 Several commands in the group buffer can be undone with @kbd{M-C-_}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14488 (@pxref{Undo}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14489
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14490 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14491 Scoring can be done on words using the new score type @code{w}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14492 (@pxref{Score File Format}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14493
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14494 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14495 Adaptive scoring can be done on a Subject word-by-word basis
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14496 (@pxref{Adaptive Scoring}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14497
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14498 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14499 (setq gnus-use-adaptive-scoring '(word))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14500 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14501
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14502 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14503 Scores can be decayed (@pxref{Score Decays}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14504
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14505 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14506 (setq gnus-decay-scores t)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14507 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14508
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14509 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14510 Scoring can be performed using a regexp on the Date header. The Date is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14511 normalized to compact ISO 8601 format first (@pxref{Score File Format}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14512
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14513 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14514 A new command has been added to remove all data on articles from
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14515 the native server (@pxref{Changing Servers}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14516
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14517 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14518 A new command for reading collections of documents
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14519 (@code{nndoc} with @code{nnvirtual} on top) has been added---@kbd{M-C-d}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14520 (@pxref{Really Various Summary Commands}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14521
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14522 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14523 Process mark sets can be pushed and popped (@pxref{Setting Process
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14524 Marks}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14525
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14526 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14527 A new mail-to-news backend makes it possible to post even when the NNTP
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14528 server doesn't allow posting (@pxref{Mail-To-News Gateways}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14529
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14530 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14531 A new backend for reading searches from Web search engines
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14532 (@dfn{DejaNews}, @dfn{Alta Vista}, @dfn{InReference}) has been added
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14533 (@pxref{Web Searches}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14534
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14535 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14536 Groups inside topics can now be sorted using the standard sorting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14537 functions, and each topic can be sorted independently (@pxref{Topic
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14538 Sorting}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14539
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14540 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14541 Subsets of the groups can be sorted independently (@code{Sorting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14542 Groups}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14543
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14544 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14545 Cached articles can be pulled into the groups (@pxref{Summary Generation
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14546 Commands}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14547
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14548 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14549 Score files are now applied in a more reliable order (@pxref{Score
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14550 Variables}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14551
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14552 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14553 Reports on where mail messages end up can be generated (@pxref{Splitting
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14554 Mail}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14555
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14556 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14557 More hooks and functions have been added to remove junk from incoming
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14558 mail before saving the mail (@pxref{Washing Mail}).
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14559
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14560 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14561 Emphasized text can be properly fontisized:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14562
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14563 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14564 (add-hook 'gnus-article-display-hook 'gnus-article-emphasize)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14565 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14566
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14567 @end itemize
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14568
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14569
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14570 @node Newest Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14571 @subsection Newest Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14572 @cindex todo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14573
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14574 Also known as the @dfn{todo list}. Sure to be implemented before the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14575 next millennium.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14576
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14577 Be afraid. Be very afraid.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14578
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14579 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14580 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14581 Native @sc{mime} support is something that should be done.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14582 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14583 Really do unbinhexing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14584 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14585
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14586 And much, much, much more. There is more to come than has already been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14587 implemented. (But that's always true, isn't it?)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14588
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14589 @file{<URL:http://www.ifi.uio.no/~larsi/rgnus/todo>} is where the actual
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14590 up-to-the-second todo list is located, so if you're really curious, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14591 could point your Web browser over that-a-way.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14592
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14593 @iftex
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14594
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14595 @node The Manual
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14596 @section The Manual
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14597 @cindex colophon
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14598 @cindex manual
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14599
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14600 This manual was generated from a TeXinfo file and then run through
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14601 either @code{texi2dvi}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14602 @iflatex
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14603 or my own home-brewed TeXinfo to \LaTeX\ transformer,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14604 and then run through @code{latex} and @code{dvips}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14605 @end iflatex
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14606 to get what you hold in your hands now.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14607
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14608 The following conventions have been used:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14609
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14610 @enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14611
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14612 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14613 This is a @samp{string}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14614
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14615 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14616 This is a @kbd{keystroke}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14617
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14618 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14619 This is a @file{file}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14620
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14621 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14622 This is a @code{symbol}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14623
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14624 @end enumerate
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14625
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14626 So if I were to say ``set @code{flargnoze} to @samp{yes}'', that would
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14627 mean:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14628
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14629 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14630 (setq flargnoze "yes")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14631 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14632
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14633 If I say ``set @code{flumphel} to @code{yes}'', that would mean:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14634
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14635 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14636 (setq flumphel 'yes)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14637 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14638
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14639 @samp{yes} and @code{yes} are two @emph{very} different things---don't
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14640 ever get them confused.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14641
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14642 @iflatex
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14643 @c @head
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14644 Of course, everything in this manual is of vital interest, so you should
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14645 read it all. Several times. However, if you feel like skimming the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14646 manual, look for that gnu head you should see in the margin over
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14647 there---it means that what's being discussed is of more importance than
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14648 the rest of the stuff. (On the other hand, if everything is infinitely
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14649 important, how can anything be more important than that? Just one more
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14650 of the mysteries of this world, I guess.)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14651 @end iflatex
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14652
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14653 @end iftex
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14654
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14655
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14656 @node Terminology
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14657 @section Terminology
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14658
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14659 @cindex terminology
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14660 @table @dfn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14661
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14662 @item news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14663 @cindex news
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14664 This is what you are supposed to use this thing for---reading news.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14665 News is generally fetched from a nearby @sc{nntp} server, and is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14666 generally publicly available to everybody. If you post news, the entire
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14667 world is likely to read just what you have written, and they'll all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14668 snigger mischievously. Behind your back.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14669
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14670 @item mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14671 @cindex mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14672 Everything that's delivered to you personally is mail. Some news/mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14673 readers (like Gnus) blur the distinction between mail and news, but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14674 there is a difference. Mail is private. News is public. Mailing is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14675 not posting, and replying is not following up.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14676
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14677 @item reply
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14678 @cindex reply
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14679 Send a mail to the person who has written what you are reading.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14680
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14681 @item follow up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14682 @cindex follow up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14683 Post an article to the current newsgroup responding to the article you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14684 are reading.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14685
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14686 @item backend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14687 @cindex backend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14688 Gnus gets fed articles from a number of backends, both news and mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14689 backends. Gnus does not handle the underlying media, so to speak---this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14690 is all done by the backends.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14691
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14692 @item native
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14693 @cindex native
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14694 Gnus will always use one method (and backend) as the @dfn{native}, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14695 default, way of getting news.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14696
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14697 @item foreign
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14698 @cindex foreign
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14699 You can also have any number of foreign groups active at the same time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14700 These are groups that use different backends for getting news.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14701
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14702 @item secondary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14703 @cindex secondary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14704 Secondary backends are somewhere half-way between being native and being
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14705 foreign, but they mostly act like they are native.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14706
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14707 @item article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14708 @cindex article
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14709 A message that has been posted as news.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14710
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14711 @item mail message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14712 @cindex mail message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14713 A message that has been mailed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14714
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14715 @item message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14716 @cindex message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14717 A mail message or news article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14718
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14719 @item head
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14720 @cindex head
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14721 The top part of a message, where administrative information (etc.) is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14722 put.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14723
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14724 @item body
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14725 @cindex body
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14726 The rest of an article. Everything that is not in the head is in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14727 body.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14728
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14729 @item header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14730 @cindex header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14731 A line from the head of an article.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14732
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14733 @item headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14734 @cindex headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14735 A collection of such lines, or a collection of heads. Or even a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14736 collection of @sc{nov} lines.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14737
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14738 @item @sc{nov}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14739 @cindex nov
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14740 When Gnus enters a group, it asks the backend for the headers of all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14741 unread articles in the group. Most servers support the News OverView
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14742 format, which is more compact and much faster to read and parse than the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14743 normal @sc{head} format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14744
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14745 @item level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14746 @cindex levels
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14747 Each group is subscribed at some @dfn{level} or other (1-9). The ones
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14748 that have a lower level are ``more'' subscribed than the groups with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14749 higher level. In fact, groups on levels 1-5 are considered
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14750 @dfn{subscribed}; 6-7 are @dfn{unsubscribed}; 8 are @dfn{zombies}; and 9
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14751 are @dfn{killed}. Commands for listing groups and scanning for new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14752 articles will all use the numeric prefix as @dfn{working level}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14753
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14754 @item killed groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14755 @cindex killed groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14756 No information on killed groups is stored or updated, which makes killed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14757 groups much easier to handle than subscribed groups.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14758
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14759 @item zombie groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14760 @cindex zombie groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14761 Just like killed groups, only slightly less dead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14762
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14763 @item active file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14764 @cindex active file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14765 The news server has to keep track of what articles it carries, and what
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14766 groups exist. All this information in stored in the active file, which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14767 is rather large, as you might surmise.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14768
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14769 @item bogus groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14770 @cindex bogus groups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14771 A group that exists in the @file{.newsrc} file, but isn't known to the
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14772 server (i.e., it isn't in the active file), is a @emph{bogus group}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14773 This means that the group probably doesn't exist (any more).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14774
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14775 @item server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14776 @cindex server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14777 A machine than one can connect to and get news (or mail) from.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14778
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14779 @item select method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14780 @cindex select method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14781 A structure that specifies the backend, the server and the virtual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14782 server parameters.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14783
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14784 @item virtual server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14785 @cindex virtual server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14786 A named select method. Since a select methods defines all there is to
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14787 know about connecting to a (physical) server, taking the things as a
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14788 whole is a virtual server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14789
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14790 @item washing
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14791 @cindex washing
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14792 Taking a buffer and running it through a filter of some sort. The
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14793 result will (more often than not) be cleaner and more pleasing than the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14794 original.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14795
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14796 @item ephemeral groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14797 @cindex ephemeral groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14798 Most groups store data on what articles you have read. @dfn{Ephemeral}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14799 groups are groups that will have no data stored---when you exit the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14800 group, it'll disappear into the aether.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14801
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14802 @item solid groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14803 @cindex solid groups
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14804 This is the opposite of ephemeral groups. All groups listed in the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14805 group buffer are solid groups.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14806
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14807 @item sparse articles
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14808 @cindex sparse articles
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14809 These are article placeholders shown in the summary buffer when
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14810 @code{gnus-build-sparse-threads} has been switched on.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14811
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14812 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14813
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14814
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14815 @node Customization
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14816 @section Customization
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14817 @cindex general customization
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14818
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14819 All variables are properly documented elsewhere in this manual. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14820 section is designed to give general pointers on how to customize Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14821 for some quite common situations.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14822
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14823 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14824 * Slow/Expensive Connection:: You run a local Emacs and get the news elsewhere.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14825 * Slow Terminal Connection:: You run a remote Emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14826 * Little Disk Space:: You feel that having large setup files is icky.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14827 * Slow Machine:: You feel like buying a faster machine.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14828 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14829
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14830
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14831 @node Slow/Expensive Connection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14832 @subsection Slow/Expensive @sc{nntp} Connection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14833
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14834 If you run Emacs on a machine locally, and get your news from a machine
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14835 over some very thin strings, you want to cut down on the amount of data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14836 Gnus has to get from the @sc{nntp} server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14837
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14838 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14839
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14840 @item gnus-read-active-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14841 Set this to @code{nil}, which will inhibit Gnus from requesting the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14842 entire active file from the server. This file is often v. large. You
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14843 also have to set @code{gnus-check-new-newsgroups} and
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14844 @code{gnus-check-bogus-newsgroups} to @code{nil} to make sure that Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14845 doesn't suddenly decide to fetch the active file anyway.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14846
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14847 @item gnus-nov-is-evil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14848 This one has to be @code{nil}. If not, grabbing article headers from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14849 the @sc{nntp} server will not be very fast. Not all @sc{nntp} servers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14850 support @sc{xover}; Gnus will detect this by itself.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14851 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14852
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14853
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14854 @node Slow Terminal Connection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14855 @subsection Slow Terminal Connection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14856
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14857 Let's say you use your home computer for dialing up the system that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14858 runs Emacs and Gnus. If your modem is slow, you want to reduce the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14859 amount of data that is sent over the wires as much as possible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14860
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14861 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14862
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14863 @item gnus-auto-center-summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14864 Set this to @code{nil} to inhibit Gnus from re-centering the summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14865 buffer all the time. If it is @code{vertical}, do only vertical
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14866 re-centering. If it is neither @code{nil} nor @code{vertical}, do both
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14867 horizontal and vertical recentering.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14868
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14869 @item gnus-visible-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14870 Cut down on the headers that are included in the articles to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14871 minimum. You can, in fact, make do without them altogether---most of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14872 useful data is in the summary buffer, anyway. Set this variable to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14873 @samp{^NEVVVVER} or @samp{From:}, or whatever you feel you need.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14874
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14875 @item gnus-article-display-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14876 Set this hook to all the available hiding commands:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14877 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14878 (setq gnus-article-display-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14879 '(gnus-article-hide-headers gnus-article-hide-signature
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14880 gnus-article-hide-citation))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14881 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14882
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14883 @item gnus-use-full-window
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14884 By setting this to @code{nil}, you can make all the windows smaller.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14885 While this doesn't really cut down much generally, it means that you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14886 have to see smaller portions of articles before deciding that you didn't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14887 want to read them anyway.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14888
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14889 @item gnus-thread-hide-subtree
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14890 If this is non-@code{nil}, all threads in the summary buffer will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14891 hidden initially.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14892
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14893 @item gnus-updated-mode-lines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14894 If this is @code{nil}, Gnus will not put information in the buffer mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14895 lines, which might save some time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14896 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14897
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14898
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14899 @node Little Disk Space
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14900 @subsection Little Disk Space
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14901 @cindex disk space
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14902
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14903 The startup files can get rather large, so you may want to cut their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14904 sizes a bit if you are running out of space.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14905
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14906 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14907
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14908 @item gnus-save-newsrc-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14909 If this is @code{nil}, Gnus will never save @file{.newsrc}---it will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14910 only save @file{.newsrc.eld}. This means that you will not be able to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14911 use any other newsreaders than Gnus. This variable is @code{t} by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14912 default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14913
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14914 @item gnus-save-killed-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14915 If this is @code{nil}, Gnus will not save the list of dead groups. You
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14916 should also set @code{gnus-check-new-newsgroups} to @code{ask-server}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14917 and @code{gnus-check-bogus-newsgroups} to @code{nil} if you set this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14918 variable to @code{nil}. This variable is @code{t} by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14919
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14920 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14921
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14922
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14923 @node Slow Machine
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14924 @subsection Slow Machine
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14925 @cindex slow machine
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14926
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14927 If you have a slow machine, or are just really impatient, there are a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14928 few things you can do to make Gnus run faster.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14929
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14930 Set@code{gnus-check-new-newsgroups} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14931 @code{gnus-check-bogus-newsgroups} to @code{nil} to make startup faster.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14932
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14933 Set @code{gnus-show-threads}, @code{gnus-use-cross-reference} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14934 @code{gnus-nov-is-evil} to @code{nil} to make entering and exiting the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14935 summary buffer faster.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14936
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14937 Set @code{gnus-article-display-hook} to @code{nil} to make article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14938 processing a bit faster.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14939
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14940
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14941 @node Troubleshooting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14942 @section Troubleshooting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14943 @cindex troubleshooting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14944
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14945 Gnus works @emph{so} well straight out of the box---I can't imagine any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14946 problems, really.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14947
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14948 Ahem.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14949
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14950 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14951
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14952 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14953 Make sure your computer is switched on.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14954
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14955 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14956 Make sure that you really load the current Gnus version. If you have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14957 been running @sc{gnus}, you need to exit Emacs and start it up again before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14958 Gnus will work.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14959
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14960 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14961 Try doing an @kbd{M-x gnus-version}. If you get something that looks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14962 like @samp{Gnus v5.46; nntp 4.0} you have the right files loaded. If,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14963 on the other hand, you get something like @samp{NNTP 3.x} or @samp{nntp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14964 flee}, you have some old @file{.el} files lying around. Delete these.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14965
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14966 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14967 Read the help group (@kbd{G h} in the group buffer) for a FAQ and a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14968 how-to.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14969
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14970 @item
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14971 @vindex max-lisp-eval-depth
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14972 Gnus works on many recursive structures, and in some extreme (and very
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14973 rare) cases Gnus may recurse down ``too deeply'' and Emacs will beep at
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14974 you. If this happens to you, set @code{max-lisp-eval-depth} to 500 or
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
14975 something like that.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14976 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14977
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14978 If all else fails, report the problem as a bug.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14979
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14980 @cindex bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14981 @cindex reporting bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14982
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14983 @kindex M-x gnus-bug
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14984 @findex gnus-bug
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14985 If you find a bug in Gnus, you can report it with the @kbd{M-x gnus-bug}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14986 command. @kbd{M-x set-variable RET debug-on-error RET t RET}, and send
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14987 me the backtrace. I will fix bugs, but I can only fix them if you send
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14988 me a precise description as to how to reproduce the bug.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14989
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14990 You really can never be too detailed in a bug report. Always use the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14991 @kbd{M-x gnus-bug} command when you make bug reports, even if it creates
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14992 a 10Kb mail each time you use it, and even if you have sent me your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14993 environment 500 times before. I don't care. I want the full info each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14994 time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14995
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14996 It is also important to remember that I have no memory whatsoever. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14997 you send a bug report, and I send you a reply, and then you send back
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14998 just ``No, it's not! Moron!'', I will have no idea what you are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14999 insulting me about. Always over-explain everything. It's much easier
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15000 for all of us---if I don't have all the information I need, I will just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15001 mail you and ask for more info, and everything takes more time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15002
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15003 If the problem you're seeing is very visual, and you can't quite explain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15004 it, copy the Emacs window to a file (with @code{xwd}, for instance), put
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15005 it somewhere it can be reached, and include the URL of the picture in
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15006 the bug report.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15007
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15008 If you just need help, you are better off asking on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15009 @samp{gnu.emacs.gnus}. I'm not very helpful.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15010
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15011 @cindex gnu.emacs.gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15012 @cindex ding mailing list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15013 You can also ask on the ding mailing list---@samp{ding@@ifi.uio.no}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15014 Write to @samp{ding-request@@ifi.uio.no} to subscribe.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15015
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15016
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15017 @node A Programmers Guide to Gnus
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15018 @section A Programmer@'s Guide to Gnus
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15019
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15020 It is my hope that other people will figure out smart stuff that Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15021 can do, and that other people will write those smart things as well. To
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15022 facilitate that I thought it would be a good idea to describe the inner
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15023 workings of Gnus. And some of the not-so-inner workings, while I'm at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15024 it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15025
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15026 You can never expect the internals of a program not to change, but I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15027 will be defining (in some details) the interface between Gnus and its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15028 backends (this is written in stone), the format of the score files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15029 (ditto), data structures (some are less likely to change than others)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15030 and general method of operations.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15031
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15032 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15033 * Backend Interface:: How Gnus communicates with the servers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15034 * Score File Syntax:: A BNF definition of the score file standard.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15035 * Headers:: How Gnus stores headers internally.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15036 * Ranges:: A handy format for storing mucho numbers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15037 * Group Info:: The group info format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15038 * Emacs/XEmacs Code:: Gnus can be run under all modern Emacsen.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15039 * Various File Formats:: Formats of files that Gnus use.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15040 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15041
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15042
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15043 @node Backend Interface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15044 @subsection Backend Interface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15045
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15046 Gnus doesn't know anything about @sc{nntp}, spools, mail or virtual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15047 groups. It only knows how to talk to @dfn{virtual servers}. A virtual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15048 server is a @dfn{backend} and some @dfn{backend variables}. As examples
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15049 of the first, we have @code{nntp}, @code{nnspool} and @code{nnmbox}. As
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15050 examples of the latter we have @code{nntp-port-number} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15051 @code{nnmbox-directory}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15052
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15053 When Gnus asks for information from a backend---say @code{nntp}---on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15054 something, it will normally include a virtual server name in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15055 function parameters. (If not, the backend should use the ``current''
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15056 virtual server.) For instance, @code{nntp-request-list} takes a virtual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15057 server as its only (optional) parameter. If this virtual server hasn't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15058 been opened, the function should fail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15059
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15060 Note that a virtual server name has no relation to some physical server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15061 name. Take this example:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15062
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15063 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15064 (nntp "odd-one"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15065 (nntp-address "ifi.uio.no")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15066 (nntp-port-number 4324))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15067 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15068
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15069 Here the virtual server name is @samp{odd-one} while the name of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15070 the physical server is @samp{ifi.uio.no}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15071
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15072 The backends should be able to switch between several virtual servers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15073 The standard backends implement this by keeping an alist of virtual
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15074 server environments that it pulls down/pushes up when needed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15075
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15076 There are two groups of interface functions: @dfn{required functions},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15077 which must be present, and @dfn{optional functions}, which Gnus will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15078 always check whether are present before attempting to call.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15079
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15080 All these functions are expected to return data in the buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15081 @code{nntp-server-buffer} (@samp{ *nntpd*}), which is somewhat
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15082 unfortunately named, but we'll have to live with it. When I talk about
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15083 @dfn{resulting data}, I always refer to the data in that buffer. When I
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15084 talk about @dfn{return value}, I talk about the function value returned by
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15085 the function call. Functions that fail should return @code{nil} as the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15086 return value.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15087
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15088 Some backends could be said to be @dfn{server-forming} backends, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15089 some might be said to not be. The latter are backends that generally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15090 only operate on one group at a time, and have no concept of ``server''
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15091 -- they have a group, and they deliver info on that group and nothing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15092 more.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15093
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15094 In the examples and definitions I will refer to the imaginary backend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15095 @code{nnchoke}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15096
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15097 @cindex @code{nnchoke}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15098
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15099 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15100 * Required Backend Functions:: Functions that must be implemented.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15101 * Optional Backend Functions:: Functions that need not be implemented.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15102 * Error Messaging:: How to get messages and report errors.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15103 * Writing New Backends:: Extending old backends.
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15104 * Hooking New Backends Into Gnus:: What has to be done on the Gnus end.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15105 * Mail-like Backends:: Some tips on mail backends.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15106 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15107
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15108
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15109 @node Required Backend Functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15110 @subsubsection Required Backend Functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15111
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15112 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15113
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15114 @item (nnchoke-retrieve-headers ARTICLES &optional GROUP SERVER FETCH-OLD)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15115
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15116 @var{articles} is either a range of article numbers or a list of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15117 @code{Message-ID}s. Current backends do not fully support either---only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15118 sequences (lists) of article numbers, and most backends do not support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15119 retrieval of @code{Message-ID}s. But they should try for both.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15120
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15121 The result data should either be HEADs or NOV lines, and the result
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15122 value should either be @code{headers} or @code{nov} to reflect this.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15123 This might later be expanded to @code{various}, which will be a mixture
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15124 of HEADs and NOV lines, but this is currently not supported by Gnus.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15125
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15126 If @var{fetch-old} is non-@code{nil} it says to try to fetch "extra
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15127 headers, in some meaning of the word. This is generally done by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15128 fetching (at most) @var{fetch-old} extra headers less than the smallest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15129 article number in @code{articles}, and fill in the gaps as well. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15130 presence of this parameter can be ignored if the backend finds it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15131 cumbersome to follow the request. If this is non-@code{nil} and not a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15132 number, do maximum fetches.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15133
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15134 Here's an example HEAD:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15135
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15136 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15137 221 1056 Article retrieved.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15138 Path: ifi.uio.no!sturles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15139 From: sturles@@ifi.uio.no (Sturle Sunde)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15140 Newsgroups: ifi.discussion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15141 Subject: Re: Something very droll
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15142 Date: 27 Oct 1994 14:02:57 +0100
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15143 Organization: Dept. of Informatics, University of Oslo, Norway
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15144 Lines: 26
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15145 Message-ID: <38o8e1$a0o@@holmenkollen.ifi.uio.no>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15146 References: <38jdmq$4qu@@visbur.ifi.uio.no>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15147 NNTP-Posting-Host: holmenkollen.ifi.uio.no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15148 .
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15149 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15150
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15151 So a @code{headers} return value would imply that there's a number of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15152 these in the data buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15153
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15154 Here's a BNF definition of such a buffer:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15155
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15156 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15157 headers = *head
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15158 head = error / valid-head
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15159 error-message = [ "4" / "5" ] 2number " " <error message> eol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15160 valid-head = valid-message *header "." eol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15161 valid-message = "221 " <number> " Article retrieved." eol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15162 header = <text> eol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15163 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15164
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15165 If the return value is @code{nov}, the data buffer should contain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15166 @dfn{network overview database} lines. These are basically fields
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15167 separated by tabs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15168
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15169 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15170 nov-buffer = *nov-line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15171 nov-line = 8*9 [ field <TAB> ] eol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15172 field = <text except TAB>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15173 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15174
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15175 For a closer explanation what should be in those fields,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15176 @pxref{Headers}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15177
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15178
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15179 @item (nnchoke-open-server SERVER &optional DEFINITIONS)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15180
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15181 @var{server} is here the virtual server name. @var{definitions} is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15182 list of @code{(VARIABLE VALUE)} pairs that defines this virtual server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15183
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15184 If the server can't be opened, no error should be signaled. The backend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15185 may then choose to refuse further attempts at connecting to this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15186 server. In fact, it should do so.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15187
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15188 If the server is opened already, this function should return a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15189 non-@code{nil} value. There should be no data returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15190
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15191
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15192 @item (nnchoke-close-server &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15193
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15194 Close connection to @var{server} and free all resources connected
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15195 to it. Return @code{nil} if the server couldn't be closed for some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15196 reason.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15197
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15198 There should be no data returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15199
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15200
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15201 @item (nnchoke-request-close)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15202
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15203 Close connection to all servers and free all resources that the backend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15204 have reserved. All buffers that have been created by that backend
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15205 should be killed. (Not the @code{nntp-server-buffer}, though.) This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15206 function is generally only called when Gnus is shutting down.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15207
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15208 There should be no data returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15209
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15210
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15211 @item (nnchoke-server-opened &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15212
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15213 If @var{server} is the current virtual server, and the connection to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15214 physical server is alive, then this function should return a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15215 non-@code{nil} vlue. This function should under no circumstances
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15216 attempt to reconnect to a server that is has lost connection to.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15217
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15218 There should be no data returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15219
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15220
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15221 @item (nnchoke-status-message &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15222
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15223 This function should return the last error message from @var{server}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15224
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15225 There should be no data returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15226
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15227
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15228 @item (nnchoke-request-article ARTICLE &optional GROUP SERVER TO-BUFFER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15229
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15230 The result data from this function should be the article specified by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15231 @var{article}. This might either be a @code{Message-ID} or a number.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15232 It is optional whether to implement retrieval by @code{Message-ID}, but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15233 it would be nice if that were possible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15234
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15235 If @var{to-buffer} is non-@code{nil}, the result data should be returned
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15236 in this buffer instead of the normal data buffer. This is to make it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15237 possible to avoid copying large amounts of data from one buffer to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15238 another, and Gnus mainly request articles to be inserted directly into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15239 its article buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15240
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15241 If it is at all possible, this function should return a cons cell where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15242 the car is the group name the article was fetched from, and the cdr is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15243 the article number. This will enable Gnus to find out what the real
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15244 group and article numbers are when fetching articles by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15245 @code{Message-ID}. If this isn't possible, @code{t} should be returned
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15246 on successful article retrievement.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15247
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15248
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15249 @item (nnchoke-request-group GROUP &optional SERVER FAST)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15250
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15251 Get data on @var{group}. This function also has the side effect of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15252 making @var{group} the current group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15253
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15254 If @var{FAST}, don't bother to return useful data, just make @var{group}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15255 the current group.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15256
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15257 Here's an example of some result data and a definition of the same:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15258
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15259 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15260 211 56 1000 1059 ifi.discussion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15261 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15262
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15263 The first number is the status, which should be 211. Next is the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15264 total number of articles in the group, the lowest article number, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15265 highest article number, and finally the group name. Note that the total
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15266 number of articles may be less than one might think while just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15267 considering the highest and lowest article numbers, but some articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15268 may have been canceled. Gnus just discards the total-number, so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15269 whether one should take the bother to generate it properly (if that is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15270 problem) is left as an exercise to the reader.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15271
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15272 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15273 group-status = [ error / info ] eol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15274 error = [ "4" / "5" ] 2<number> " " <Error message>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15275 info = "211 " 3* [ <number> " " ] <string>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15276 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15277
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15278
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15279 @item (nnchoke-close-group GROUP &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15280
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15281 Close @var{group} and free any resources connected to it. This will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15282 a no-op on most backends.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15283
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15284 There should be no data returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15285
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15286
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15287 @item (nnchoke-request-list &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15288
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15289 Return a list of all groups available on @var{server}. And that means
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15290 @emph{all}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15291
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15292 Here's an example from a server that only carries two groups:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15293
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15294 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15295 ifi.test 0000002200 0000002000 y
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15296 ifi.discussion 3324 3300 n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15297 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15298
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15299 On each line we have a group name, then the highest article number in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15300 that group, the lowest article number, and finally a flag.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15301
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15302 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15303 active-file = *active-line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15304 active-line = name " " <number> " " <number> " " flags eol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15305 name = <string>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15306 flags = "n" / "y" / "m" / "x" / "j" / "=" name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15307 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15308
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15309 The flag says whether the group is read-only (@samp{n}), is moderated
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15310 (@samp{m}), is dead (@samp{x}), is aliased to some other group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15311 (@samp{=other-group} or none of the above (@samp{y}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15312
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15313
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15314 @item (nnchoke-request-post &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15315
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15316 This function should post the current buffer. It might return whether
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15317 the posting was successful or not, but that's not required. If, for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15318 instance, the posting is done asynchronously, it has generally not been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15319 completed by the time this function concludes. In that case, this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15320 function should set up some kind of sentinel to beep the user loud and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15321 clear if the posting could not be completed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15322
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15323 There should be no result data from this function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15324
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15325 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15326
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15327
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15328 @node Optional Backend Functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15329 @subsubsection Optional Backend Functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15330
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15331 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15332
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15333 @item (nnchoke-retrieve-groups GROUPS &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15334
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15335 @var{groups} is a list of groups, and this function should request data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15336 on all those groups. How it does it is of no concern to Gnus, but it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15337 should attempt to do this in a speedy fashion.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15338
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15339 The return value of this function can be either @code{active} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15340 @code{group}, which says what the format of the result data is. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15341 former is in the same format as the data from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15342 @code{nnchoke-request-list}, while the latter is a buffer full of lines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15343 in the same format as @code{nnchoke-request-group} gives.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15344
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15345 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15346 group-buffer = *active-line / *group-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15347 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15348
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15349
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15350 @item (nnchoke-request-update-info GROUP INFO &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15351
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15352 A Gnus group info (@pxref{Group Info}) is handed to the backend for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15353 alterations. This comes in handy if the backend really carries all the
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
15354 information (as is the case with virtual and imap groups). This
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
15355 function should destructively alter the info to suit its needs, and
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
15356 should return the (altered) group info.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15357
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15358 There should be no result data from this function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15359
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15360
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15361 @item (nnchoke-request-type GROUP &optional ARTICLE)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15362
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15363 When the user issues commands for ``sending news'' (@kbd{F} in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15364 summary buffer, for instance), Gnus has to know whether the article the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15365 user is following up is news or mail. This function should return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15366 @code{news} if @var{article} in @var{group} is news, @code{mail} if it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15367 is mail and @code{unknown} if the type can't be decided. (The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15368 @var{article} parameter is necessary in @code{nnvirtual} groups which
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15369 might very well combine mail groups and news groups.) Both @var{group}
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15370 and @var{article} may be @code{nil}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15371
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15372 There should be no result data from this function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15373
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15374
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15375 @item (nnchoke-request-update-mark GROUP ARTICLE MARK)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15376
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15377 If the user tries to set a mark that the backend doesn't like, this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15378 function may change the mark. Gnus will use whatever this function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15379 returns as the mark for @var{article} instead of the original
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15380 @var{mark}. If the backend doesn't care, it must return the original
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15381 @var{mark}, and not @code{nil} or any other type of garbage.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15382
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15383 The only use for this that I can see is what @code{nnvirtual} does with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15384 it---if a component group is auto-expirable, marking an article as read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15385 in the virtual group should result in the article being marked as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15386 expirable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15387
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15388 There should be no result data from this function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15389
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15390
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15391 @item (nnchoke-request-scan &optional GROUP SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15392
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15393 This function may be called at any time (by Gnus or anything else) to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15394 request that the backend check for incoming articles, in one way or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15395 another. A mail backend will typically read the spool file or query the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15396 POP server when this function is invoked. The @var{group} doesn't have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15397 to be heeded---if the backend decides that it is too much work just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15398 scanning for a single group, it may do a total scan of all groups. It
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15399 would be nice, however, to keep things local if that's practical.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15400
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15401 There should be no result data from this function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15402
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15403
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15404 @item (nnchoke-request-group-description GROUP &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15405
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15406 The result data from this function should be a description of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15407 @var{group}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15408
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15409 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15410 description-line = name <TAB> description eol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15411 name = <string>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15412 description = <text>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15413 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15414
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15415 @item (nnchoke-request-list-newsgroups &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15416
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15417 The result data from this function should be the description of all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15418 groups available on the server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15419
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15420 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15421 description-buffer = *description-line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15422 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15423
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15424
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15425 @item (nnchoke-request-newgroups DATE &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15426
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15427 The result data from this function should be all groups that were
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15428 created after @samp{date}, which is in normal human-readable date
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15429 format. The data should be in the active buffer format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15430
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15431
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15432 @item (nnchoke-request-create-group GROUP &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15433
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15434 This function should create an empty group with name @var{group}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15435
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15436 There should be no return data.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15437
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15438
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15439 @item (nnchoke-request-expire-articles ARTICLES &optional GROUP SERVER FORCE)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15440
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15441 This function should run the expiry process on all articles in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15442 @var{articles} range (which is currently a simple list of article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15443 numbers.) It is left up to the backend to decide how old articles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15444 should be before they are removed by this function. If @var{force} is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15445 non-@code{nil}, all @var{articles} should be deleted, no matter how new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15446 they are.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15447
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15448 This function should return a list of articles that it did not/was not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15449 able to delete.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15450
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15451 There should be no result data returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15452
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15453
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15454 @item (nnchoke-request-move-article ARTICLE GROUP SERVER ACCEPT-FORM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15455 &optional LAST)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15456
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15457 This function should move @var{article} (which is a number) from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15458 @var{group} by calling @var{accept-form}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15459
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15460 This function should ready the article in question for moving by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15461 removing any header lines it has added to the article, and generally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15462 should ``tidy up'' the article. Then it should @code{eval}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15463 @var{accept-form} in the buffer where the ``tidy'' article is. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15464 will do the actual copying. If this @code{eval} returns a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15465 non-@code{nil} value, the article should be removed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15466
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15467 If @var{last} is @code{nil}, that means that there is a high likelihood
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15468 that there will be more requests issued shortly, so that allows some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15469 optimizations.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15470
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15471 The function should return a cons where the car is the group name and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15472 the cdr is the article number that the article was entered as.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15473
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15474 There should be no data returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15475
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15476
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15477 @item (nnchoke-request-accept-article GROUP &optional SERVER LAST)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15478
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15479 This function takes the current buffer and inserts it into @var{group}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15480 If @var{last} in @code{nil}, that means that there will be more calls to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15481 this function in short order.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15482
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15483 The function should return a cons where the car is the group name and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15484 the cdr is the article number that the article was entered as.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15485
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15486 There should be no data returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15487
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15488
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15489 @item (nnchoke-request-replace-article ARTICLE GROUP BUFFER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15490
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15491 This function should remove @var{article} (which is a number) from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15492 @var{group} and insert @var{buffer} there instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15493
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15494 There should be no data returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15495
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15496
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15497 @item (nnchoke-request-delete-group GROUP FORCE &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15498
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15499 This function should delete @var{group}. If @var{force}, it should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15500 really delete all the articles in the group, and then delete the group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15501 itself. (If there is such a thing as ``the group itself''.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15502
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15503 There should be no data returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15504
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15505
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15506 @item (nnchoke-request-rename-group GROUP NEW-NAME &optional SERVER)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15507
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15508 This function should rename @var{group} into @var{new-name}. All
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15509 articles that are in @var{group} should move to @var{new-name}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15510
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15511 There should be no data returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15512
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15513 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15514
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15515
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15516 @node Error Messaging
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15517 @subsubsection Error Messaging
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15518
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15519 @findex nnheader-report
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15520 @findex nnheader-get-report
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15521 The backends should use the function @code{nnheader-report} to report
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15522 error conditions---they should not raise errors when they aren't able to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15523 perform a request. The first argument to this function is the backend
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15524 symbol, and the rest are interpreted as arguments to @code{format} if
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15525 there are many of them, or just a string if there is one of them.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15526 This function always returns @code{nil}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15527
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15528 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15529 (nnheader-report 'nnchoke "You did something totally bogus")
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15530
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15531 (nnheader-report 'nnchoke "Could not request group %s" group)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15532 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15533
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15534 Gnus, in turn, will call @code{nnheader-get-report} when it gets a
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15535 @code{nil} back from a server, and this function returns the most
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15536 recently reported message for the backend in question. This function
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15537 takes one argument---the server symbol.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15538
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15539 Internally, these function access @var{backend}@code{-status-string}, so
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15540 the @code{nnchoke} backend will have its error message stored in
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15541 @code{nnchoke-status-string}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15542
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15543
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15544 @node Writing New Backends
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15545 @subsubsection Writing New Backends
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15546
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15547 Many backends are quite similar. @code{nnml} is just like
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15548 @code{nnspool}, but it allows you to edit the articles on the server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15549 @code{nnmh} is just like @code{nnml}, but it doesn't use an active file,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15550 and it doesn't maintain overview databases. @code{nndir} is just like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15551 @code{nnml}, but it has no concept of ``groups'', and it doesn't allow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15552 editing articles.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15553
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15554 It would make sense if it were possible to ``inherit'' functions from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15555 backends when writing new backends. And, indeed, you can do that if you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15556 want to. (You don't have to if you don't want to, of course.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15557
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15558 All the backends declare their public variables and functions by using a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15559 package called @code{nnoo}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15560
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15561 To inherit functions from other backends (and allow other backends to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15562 inherit functions from the current backend), you should use the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15563 following macros:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15564 following.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15565
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15566 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15567
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15568 @item nnoo-declare
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15569 This macro declares the first parameter to be a child of the subsequent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15570 parameters. For instance:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15571
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15572 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15573 (nnoo-declare nndir
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15574 nnml nnmh)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15575 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15576
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15577 @code{nndir} has here declared that it intends to inherit functions from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15578 both @code{nnml} and @code{nnmh}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15579
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15580 @item defvoo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15581 This macro is equivalent to @code{defvar}, but registers the variable as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15582 a public server variable. Most state-oriented variables should be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15583 declared with @code{defvoo} instead of @code{defvar}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15584
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15585 In addition to the normal @code{defvar} parameters, it takes a list of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15586 variables in the parent backends to map the variable to when executing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15587 a function in those backends.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15588
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15589 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15590 (defvoo nndir-directory nil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15591 "Where nndir will look for groups."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15592 nnml-current-directory nnmh-current-directory)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15593 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15594
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15595 This means that @code{nnml-current-directory} will be set to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15596 @code{nndir-directory} when an @code{nnml} function is called on behalf
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15597 of @code{nndir}. (The same with @code{nnmh}.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15598
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15599 @item nnoo-define-basics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15600 This macro defines some common functions that almost all backends should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15601 have.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15602
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15603 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15604 (nnoo-define-basics nndir)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15605 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15606
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15607 @item deffoo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15608 This macro is just like @code{defun} and takes the same parameters. In
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15609 addition to doing the normal @code{defun} things, it registers the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15610 function as being public so that other backends can inherit it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15611
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15612 @item nnoo-map-functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15613 This macro allows mapping of functions from the current backend to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15614 functions from the parent backends.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15615
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15616 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15617 (nnoo-map-functions nndir
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15618 (nnml-retrieve-headers 0 nndir-current-group 0 0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15619 (nnmh-request-article 0 nndir-current-group 0 0))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15620 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15621
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15622 This means that when @code{nndir-retrieve-headers} is called, the first,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15623 third, and fourth parameters will be passed on to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15624 @code{nnml-retrieve-headers}, while the second parameter is set to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15625 value of @code{nndir-current-group}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15626
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15627 @item nnoo-import
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15628 This macro allows importing functions from backends. It should be the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15629 last thing in the source file, since it will only define functions that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15630 haven't already been defined.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15631
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15632 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15633 (nnoo-import nndir
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15634 (nnmh
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15635 nnmh-request-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15636 nnmh-request-newgroups)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15637 (nnml))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15638 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15639
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15640 This means that calls to @code{nndir-request-list} should just be passed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15641 on to @code{nnmh-request-list}, while all public functions from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15642 @code{nnml} that haven't been defined in @code{nndir} yet should be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15643 defined now.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15644
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15645 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15646
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15647 Below is a slightly shortened version of the @code{nndir} backend.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15648
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15649 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15650 ;;; nndir.el --- single directory newsgroup access for Gnus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15651 ;; Copyright (C) 1995,96 Free Software Foundation, Inc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15652
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15653 ;;; Code:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15654
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15655 (require 'nnheader)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15656 (require 'nnmh)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15657 (require 'nnml)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15658 (require 'nnoo)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15659 (eval-when-compile (require 'cl))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15660
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15661 (nnoo-declare nndir
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15662 nnml nnmh)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15663
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15664 (defvoo nndir-directory nil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15665 "Where nndir will look for groups."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15666 nnml-current-directory nnmh-current-directory)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15667
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15668 (defvoo nndir-nov-is-evil nil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15669 "*Non-nil means that nndir will never retrieve NOV headers."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15670 nnml-nov-is-evil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15671
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15672 (defvoo nndir-current-group "" nil nnml-current-group nnmh-current-group)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15673 (defvoo nndir-top-directory nil nil nnml-directory nnmh-directory)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15674 (defvoo nndir-get-new-mail nil nil nnml-get-new-mail nnmh-get-new-mail)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15675
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15676 (defvoo nndir-status-string "" nil nnmh-status-string)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15677 (defconst nndir-version "nndir 1.0")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15678
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15679 ;;; Interface functions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15680
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15681 (nnoo-define-basics nndir)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15682
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15683 (deffoo nndir-open-server (server &optional defs)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15684 (setq nndir-directory
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15685 (or (cadr (assq 'nndir-directory defs))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15686 server))
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15687 (unless (assq 'nndir-directory defs)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15688 (push `(nndir-directory ,server) defs))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15689 (push `(nndir-current-group
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15690 ,(file-name-nondirectory (directory-file-name nndir-directory)))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15691 defs)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15692 (push `(nndir-top-directory
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15693 ,(file-name-directory (directory-file-name nndir-directory)))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15694 defs)
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15695 (nnoo-change-server 'nndir server defs))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15696
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15697 (nnoo-map-functions nndir
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15698 (nnml-retrieve-headers 0 nndir-current-group 0 0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15699 (nnmh-request-article 0 nndir-current-group 0 0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15700 (nnmh-request-group nndir-current-group 0 0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15701 (nnmh-close-group nndir-current-group 0))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15702
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15703 (nnoo-import nndir
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15704 (nnmh
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15705 nnmh-status-message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15706 nnmh-request-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15707 nnmh-request-newgroups))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15708
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15709 (provide 'nndir)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15710 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15711
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15712
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15713 @node Hooking New Backends Into Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15714 @subsubsection Hooking New Backends Into Gnus
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15715
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15716 @vindex gnus-valid-select-methods
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15717 Having Gnus start using your new backend is rather easy---you just
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15718 declare it with the @code{gnus-declare-backend} functions. This will
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15719 enter the backend into the @code{gnus-valid-select-methods} variable.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15720
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15721 @code{gnus-declare-backend} takes two parameters---the backend name and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15722 an arbitrary number of @dfn{abilities}.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15723
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15724 Here's an example:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15725
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15726 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15727 (gnus-declare-backend "nnchoke" 'mail 'respool 'address)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15728 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15729
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15730 The abilities can be:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15731
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15732 @table @code
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15733 @item mail
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15734 This is a mailish backend---followups should (probably) go via mail.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15735 @item post
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15736 This is a newsish backend---followups should (probably) go via news.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15737 @item post-mail
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15738 This backend supports both mail and news.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15739 @item none
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15740 This is neither a post or mail backend---it's something completely
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15741 different.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15742 @item respool
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15743 It supports respooling---or rather, it is able to modify its source
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15744 articles and groups.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15745 @item address
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15746 The name of the server should be in the virtual server name. This is
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15747 true for almost all backends.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15748 @item prompt-address
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15749 The user should be prompted for an address when doing commands like
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15750 @kbd{B} in the group buffer. This is true for backends like
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15751 @code{nntp}, but not @code{nnmbox}, for instance.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15752 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15753
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15754
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15755 @node Mail-like Backends
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15756 @subsubsection Mail-like Backends
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15757
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15758 One of the things that separate the mail backends from the rest of the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15759 backends is the heavy dependence by the mail backends on common
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15760 functions in @file{nnmail.el}. For instance, here's the definition of
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15761 @code{nnml-request-scan}:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15762
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15763 @lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15764 (deffoo nnml-request-scan (&optional group server)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15765 (setq nnml-article-file-alist nil)
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15766 (nnmail-get-new-mail 'nnml 'nnml-save-nov nnml-directory group))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15767 @end lisp
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15768
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15769 It simply just calls @code{nnmail-get-new-mail} will a few parameters,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15770 and @code{nnmail} takes care of all the moving and splitting of the
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15771 mail.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15772
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15773 This function takes four parameters.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15774
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15775 @table @var
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15776 @item method
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15777 This should be a symbol to designate which backend is responsible for
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15778 the call.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15779
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15780 @item exit-function
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15781 This function should be called after the splitting has been performed.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15782
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15783 @item temp-directory
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15784 Where the temporary files should be stored.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15785
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15786 @item group
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15787 This optional argument should be a group name if the splitting is to be
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15788 performed for one group only.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15789 @end table
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15790
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15791 @code{nnmail-get-new-mail} will call @var{backend}@code{-save-mail} to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15792 save each article. @var{backend}@code{-active-number} will be called to
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15793 find the article number assigned to this article.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15794
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15795 The function also uses the following variables:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15796 @var{backend}@code{-get-new-mail} (to see whether to get new mail for
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15797 this backend); and @var{backend}@code{-group-alist} and
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15798 @var{backend}@code{-active-file} to generate the new active file.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15799 @var{backend}@code{-group-alist} should be a group-active alist, like
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15800 this:
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15801
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15802 @example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15803 (("a-group" (1 . 10))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15804 ("some-group" (34 . 39)))
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15805 @end example
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15806
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15807
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15808 @node Score File Syntax
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15809 @subsection Score File Syntax
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15810
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15811 Score files are meant to be easily parsable, but yet extremely
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15812 mallable. It was decided that something that had the same read syntax
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15813 as an Emacs Lisp list would fit that spec.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15814
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15815 Here's a typical score file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15816
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15817 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15818 (("summary"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15819 ("win95" -10000 nil s)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15820 ("Gnus"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15821 ("from"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15822 ("Lars" -1000))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15823 (mark -100))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15824 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15825
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15826 BNF definition of a score file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15827
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15828 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15829 score-file = "" / "(" *element ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15830 element = rule / atom
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15831 rule = string-rule / number-rule / date-rule
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15832 string-rule = "(" quote string-header quote space *string-match ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15833 number-rule = "(" quote number-header quote space *number-match ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15834 date-rule = "(" quote date-header quote space *date-match ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15835 quote = <ascii 34>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15836 string-header = "subject" / "from" / "references" / "message-id" /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15837 "xref" / "body" / "head" / "all" / "followup"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15838 number-header = "lines" / "chars"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15839 date-header = "date"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15840 string-match = "(" quote <string> quote [ "" / [ space score [ "" /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15841 space date [ "" / [ space string-match-t ] ] ] ] ] ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15842 score = "nil" / <integer>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15843 date = "nil" / <natural number>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15844 string-match-t = "nil" / "s" / "substring" / "S" / "Substring" /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15845 "r" / "regex" / "R" / "Regex" /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15846 "e" / "exact" / "E" / "Exact" /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15847 "f" / "fuzzy" / "F" / "Fuzzy"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15848 number-match = "(" <integer> [ "" / [ space score [ "" /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15849 space date [ "" / [ space number-match-t ] ] ] ] ] ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15850 number-match-t = "nil" / "=" / "<" / ">" / ">=" / "<="
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15851 date-match = "(" quote <string> quote [ "" / [ space score [ "" /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15852 space date [ "" / [ space date-match-t ] ] ] ] ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15853 date-match-t = "nil" / "at" / "before" / "after"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15854 atom = "(" [ required-atom / optional-atom ] ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15855 required-atom = mark / expunge / mark-and-expunge / files /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15856 exclude-files / read-only / touched
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15857 optional-atom = adapt / local / eval
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15858 mark = "mark" space nil-or-number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15859 nil-or-number = "nil" / <integer>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15860 expunge = "expunge" space nil-or-number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15861 mark-and-expunge = "mark-and-expunge" space nil-or-number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15862 files = "files" *[ space <string> ]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15863 exclude-files = "exclude-files" *[ space <string> ]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15864 read-only = "read-only" [ space "nil" / space "t" ]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15865 adapt = "adapt" [ space "nil" / space "t" / space adapt-rule ]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15866 adapt-rule = "(" *[ <string> *[ "(" <string> <integer> ")" ] ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15867 local = "local" *[ space "(" <string> space <form> ")" ]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15868 eval = "eval" space <form>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15869 space = *[ " " / <TAB> / <NEWLINE> ]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15870 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15871
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15872 Any unrecognized elements in a score file should be ignored, but not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15873 discarded.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15874
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15875 As you can see, white space is needed, but the type and amount of white
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15876 space is irrelevant. This means that formatting of the score file is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15877 left up to the programmer---if it's simpler to just spew it all out on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15878 one looong line, then that's ok.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15879
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15880 The meaning of the various atoms are explained elsewhere in this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15881 manual.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15882
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15883
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15884 @node Headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15885 @subsection Headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15886
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15887 Gnus uses internally a format for storing article headers that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15888 corresponds to the @sc{nov} format in a mysterious fashion. One could
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15889 almost suspect that the author looked at the @sc{nov} specification and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15890 just shamelessly @emph{stole} the entire thing, and one would be right.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15891
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15892 @dfn{Header} is a severely overloaded term. ``Header'' is used in
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15893 RFC1036 to talk about lines in the head of an article (e.g.,
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15894 @code{From}). It is used by many people as a synonym for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15895 ``head''---``the header and the body''. (That should be avoided, in my
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15896 opinion.) And Gnus uses a format internally that it calls ``header'',
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15897 which is what I'm talking about here. This is a 9-element vector,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15898 basically, with each header (ouch) having one slot.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15899
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15900 These slots are, in order: @code{number}, @code{subject}, @code{from},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15901 @code{date}, @code{id}, @code{references}, @code{chars}, @code{lines},
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
15902 @code{xref}. There are macros for accessing and setting these
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
15903 slots---they all have predictable names beginning with
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
15904 @code{mail-header-} and @code{mail-header-set-}, respectively.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15905
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15906 The @code{xref} slot is really a @code{misc} slot. Any extra info will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15907 be put in there.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15908
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15909
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15910 @node Ranges
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15911 @subsection Ranges
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15912
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15913 @sc{gnus} introduced a concept that I found so useful that I've started
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15914 using it a lot and have elaborated on it greatly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15915
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15916 The question is simple: If you have a large amount of objects that are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15917 identified by numbers (say, articles, to take a @emph{wild} example)
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
15918 that you want to qualify as being ``included'', a normal sequence isn't
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15919 very useful. (A 200,000 length sequence is a bit long-winded.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15920
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15921 The solution is as simple as the question: You just collapse the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15922 sequence.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15923
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15924 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15925 (1 2 3 4 5 6 10 11 12)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15926 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15927
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15928 is transformed into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15929
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15930 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15931 ((1 . 6) (10 . 12))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15932 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15933
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15934 To avoid having those nasty @samp{(13 . 13)} elements to denote a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15935 lonesome object, a @samp{13} is a valid element:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15936
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15937 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15938 ((1 . 6) 7 (10 . 12))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15939 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15940
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15941 This means that comparing two ranges to find out whether they are equal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15942 is slightly tricky:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15943
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15944 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15945 ((1 . 5) 7 8 (10 . 12))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15946 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15947
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15948 and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15949
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15950 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15951 ((1 . 5) (7 . 8) (10 . 12))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15952 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15953
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15954 are equal. In fact, any non-descending list is a range:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15955
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15956 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15957 (1 2 3 4 5)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15958 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15959
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15960 is a perfectly valid range, although a pretty long-winded one. This is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15961 also legal:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15962
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15963 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15964 (1 . 5)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15965 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15966
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15967 and is equal to the previous range.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15968
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15969 Here's a BNF definition of ranges. Of course, one must remember the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15970 semantic requirement that the numbers are non-descending. (Any number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15971 of repetition of the same number is allowed, but apt to disappear in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15972 range handling.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15973
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15974 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15975 range = simple-range / normal-range
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15976 simple-range = "(" number " . " number ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15977 normal-range = "(" start-contents ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15978 contents = "" / simple-range *[ " " contents ] /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15979 number *[ " " contents ]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15980 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15981
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15982 Gnus currently uses ranges to keep track of read articles and article
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15983 marks. I plan on implementing a number of range operators in C if The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15984 Powers That Be are willing to let me. (I haven't asked yet, because I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15985 need to do some more thinking on what operators I need to make life
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15986 totally range-based without ever having to convert back to normal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15987 sequences.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15988
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15989
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15990 @node Group Info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15991 @subsection Group Info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15992
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15993 Gnus stores all permanent info on groups in a @dfn{group info} list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15994 This list is from three to six elements (or more) long and exhaustively
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15995 describes the group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15996
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15997 Here are two example group infos; one is a very simple group while the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15998 second is a more complex one:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15999
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16000 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16001 ("no.group" 5 (1 . 54324))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16002
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16003 ("nnml:my.mail" 3 ((1 . 5) 9 (20 . 55))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16004 ((tick (15 . 19)) (replied 3 6 (19 . 3)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16005 (nnml "")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16006 (auto-expire (to-address "ding@@ifi.uio.no")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16007 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16008
16
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
16009 The first element is the @dfn{group name}---as Gnus knows the group,
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
16010 anyway. The second element is the @dfn{subscription level}, which
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
16011 normally is a small integer. The third element is a list of ranges of
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
16012 read articles. The fourth element is a list of lists of article marks
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
16013 of various kinds. The fifth element is the select method (or virtual
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
16014 server, if you like). The sixth element is a list of @dfn{group
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
16015 parameters}, which is what this section is about.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
16016
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
16017 Any of the last three elements may be missing if they are not required.
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
16018 In fact, the vast majority of groups will normally only have the first
0293115a14e9 Import from CVS: tag r19-15b91
cvs
parents: 2
diff changeset
16019 three elements, which saves quite a lot of cons cells.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16020
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16021 Here's a BNF definition of the group info format:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16022
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16023 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16024 info = "(" group space level space read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16025 [ "" / [ space marks-list [ "" / [ space method [ "" /
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16026 space parameters ] ] ] ] ] ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16027 group = quote <string> quote
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16028 level = <integer in the range of 1 to inf>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16029 read = range
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16030 marks-lists = nil / "(" *marks ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16031 marks = "(" <string> range ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16032 method = "(" <string> *elisp-forms ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16033 parameters = "(" *elisp-forms ")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16034 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16035
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16036 Actually that @samp{marks} rule is a fib. A @samp{marks} is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16037 @samp{<string>} consed on to a @samp{range}, but that's a bitch to say
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16038 in pseudo-BNF.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16039
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16040
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16041 @node Emacs/XEmacs Code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16042 @subsection Emacs/XEmacs Code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16043 @cindex XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16044 @cindex Emacsen
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16045
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16046 While Gnus runs under Emacs, XEmacs and Mule, I decided that one of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16047 platforms must be the primary one. I chose Emacs. Not because I don't
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16048 like XEmacs or Mule, but because it comes first alphabetically.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16049
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16050 This means that Gnus will byte-compile under Emacs with nary a warning,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16051 while XEmacs will pump out gigabytes of warnings while byte-compiling.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16052 As I use byte-compilation warnings to help me root out trivial errors in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16053 Gnus, that's very useful.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16054
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16055 I've also consistently used Emacs function interfaces, but have used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16056 Gnusey aliases for the functions. To take an example: Emacs defines a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16057 @code{run-at-time} function while XEmacs defines a @code{start-itimer}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16058 function. I then define a function called @code{gnus-run-at-time} that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16059 takes the same parameters as the Emacs @code{run-at-time}. When running
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16060 Gnus under Emacs, the former function is just an alias for the latter.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16061 However, when running under XEmacs, the former is an alias for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16062 following function:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16063
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16064 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16065 (defun gnus-xmas-run-at-time (time repeat function &rest args)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16066 (start-itimer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16067 "gnus-run-at-time"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16068 `(lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16069 (,function ,@@args))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16070 time repeat))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16071 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16072
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16073 This sort of thing has been done for bunches of functions. Gnus does
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
16074 not redefine any native Emacs functions while running under XEmacs---it
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16075 does this @code{defalias} thing with Gnus equivalents instead. Cleaner
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16076 all over.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16077
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16078 Of course, I could have chosen XEmacs as my native platform and done
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16079 mapping functions the other way around. But I didn't. The performance
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16080 hit these indirections impose on Gnus under XEmacs should be slight.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16081
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16082
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16083 @node Various File Formats
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16084 @subsection Various File Formats
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16085
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16086 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16087 * Active File Format:: Information on articles and groups available.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16088 * Newsgroups File Format:: Group descriptions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16089 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16090
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16091
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16092 @node Active File Format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16093 @subsubsection Active File Format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16094
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16095 The active file lists all groups that are available on the server in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16096 question. It also lists the highest and lowest current article numbers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16097 in each group.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16098
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16099 Here's an excerpt from a typical active file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16100
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16101 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16102 soc.motss 296030 293865 y
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16103 alt.binaries.pictures.fractals 3922 3913 n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16104 comp.sources.unix 1605 1593 m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16105 comp.binaries.ibm.pc 5097 5089 y
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16106 no.general 1000 900 y
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16107 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16108
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16109 Here's a pseudo-BNF definition of this file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16111 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16112 active = *group-line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16113 group-line = group space high-number space low-number space flag <NEWLINE>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16114 group = <non-white-space string>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16115 space = " "
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16116 high-number = <non-negative integer>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16117 low-number = <positive integer>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16118 flag = "y" / "n" / "m" / "j" / "x" / "=" group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16119 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16120
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16121
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16122 @node Newsgroups File Format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16123 @subsubsection Newsgroups File Format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16124
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16125 The newsgroups file lists groups along with their descriptions. Not all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16126 groups on the server have to be listed, and not all groups in the file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16127 have to exist on the server. The file is meant purely as information to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16128 the user.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16129
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16130 The format is quite simple; a group name, a tab, and the description.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16131 Here's the definition:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16132
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16133 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16134 newsgroups = *line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16135 line = group tab description <NEWLINE>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16136 group = <non-white-space string>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16137 tab = <TAB>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16138 description = <string>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16139 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16140
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16141
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16142 @node Emacs for Heathens
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16143 @section Emacs for Heathens
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16144
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16145 Believe it or not, but some people who use Gnus haven't really used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16146 Emacs much before they embarked on their journey on the Gnus Love Boat.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16147 If you are one of those unfortunates whom ``@kbd{M-C-a}'', ``kill the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16148 region'', and ``set @code{gnus-flargblossen} to an alist where the key
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16149 is a regexp that is used for matching on the group name'' are magical
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16150 phrases with little or no meaning, then this appendix is for you. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16151 you are already familiar with Emacs, just ignore this and go fondle your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16152 cat instead.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16153
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16154 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16155 * Keystrokes:: Entering text and executing commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16156 * Emacs Lisp:: The built-in Emacs programming language.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16157 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16158
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16159
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16160 @node Keystrokes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16161 @subsection Keystrokes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16162
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16163 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16164 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16165 Q: What is an experienced Emacs user?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16166
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16167 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16168 A: A person who wishes that the terminal had pedals.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16169 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16170
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16171 Yes, when you use Emacs, you are apt to use the control key, the shift
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16172 key and the meta key a lot. This is very annoying to some people
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16173 (notably @code{vi}le users), and the rest of us just love the hell out
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16174 of it. Just give up and submit. Emacs really does stand for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16175 ``Escape-Meta-Alt-Control-Shift'', and not ``Editing Macros'', as you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16176 may have heard from other disreputable sources (like the Emacs author).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16177
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16178 The shift key is normally located near your pinky fingers, and are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16179 normally used to get capital letters and stuff. You probably use it all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16180 the time. The control key is normally marked ``CTRL'' or something like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16181 that. The meta key is, funnily enough, never marked as such on any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16182 keyboards. The one I'm currently at has a key that's marked ``Alt'',
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16183 which is the meta key on this keyboard. It's usually located somewhere
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16184 to the left hand side of the keyboard, usually on the bottom row.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16185
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16186 Now, us Emacs people doesn't say ``press the meta-control-m key'',
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16187 because that's just too inconvenient. We say ``press the @kbd{M-C-m}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16188 key''. @kbd{M-} is the prefix that means ``meta'' and ``C-'' is the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16189 prefix that means ``control''. So ``press @kbd{C-k}'' means ``press
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16190 down the control key, and hold it down while you press @kbd{k}''.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16191 ``Press @kbd{M-C-k}'' means ``press down and hold down the meta key and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16192 the control key and then press @kbd{k}''. Simple, ay?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16193
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16194 This is somewhat complicated by the fact that not all keyboards have a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16195 meta key. In that case you can use the ``escape'' key. Then @kbd{M-k}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16196 means ``press escape, release escape, press @kbd{k}''. That's much more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16197 work than if you have a meta key, so if that's the case, I respectfully
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16198 suggest you get a real keyboard with a meta key. You can't live without
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16199 it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16200
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16201
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16202
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16203 @node Emacs Lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16204 @subsection Emacs Lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16205
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16206 Emacs is the King of Editors because it's really a Lisp interpreter.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16207 Each and every key you tap runs some Emacs Lisp code snippet, and since
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16208 Emacs Lisp is an interpreted language, that means that you can configure
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16209 any key to run any arbitrary code. You just, like, do it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16210
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16211 Gnus is written in Emacs Lisp, and is run as a bunch of interpreted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16212 functions. (These are byte-compiled for speed, but it's still
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16213 interpreted.) If you decide that you don't like the way Gnus does
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16214 certain things, it's trivial to have it do something a different way.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16215 (Well, at least if you know how to write Lisp code.) However, that's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16216 beyond the scope of this manual, so we are simply going to talk about
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16217 some common constructs that you normally use in your @file{.emacs} file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16218 to customize Gnus.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16219
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16220 If you want to set the variable @code{gnus-florgbnize} to four (4), you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16221 write the following:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16222
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16223 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16224 (setq gnus-florgbnize 4)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16225 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16226
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16227 This function (really ``special form'') @code{setq} is the one that can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16228 set a variable to some value. This is really all you need to know. Now
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16229 you can go and fill your @code{.emacs} file with lots of these to change
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16230 how Gnus works.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16231
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16232 If you have put that thing in your @code{.emacs} file, it will be read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16233 and @code{eval}ed (which is lisp-ese for ``run'') the next time you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16234 start Emacs. If you want to change the variable right away, simply say
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16235 @kbd{C-x C-e} after the closing parenthesis. That will @code{eval} the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16236 previous ``form'', which here is a simple @code{setq} statement.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16237
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16238 Go ahead---just try it, if you're located at your Emacs. After you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16239 @kbd{C-x C-e}, you will see @samp{4} appear in the echo area, which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16240 is the return value of the form you @code{eval}ed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16241
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16242 Some pitfalls:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16243
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16244 If the manual says ``set @code{gnus-read-active-file} to @code{some}'',
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16245 that means:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16246
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16247 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16248 (setq gnus-read-active-file 'some)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16249 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16250
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16251 On the other hand, if the manual says ``set @code{gnus-nntp-server} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16252 @samp{nntp.ifi.uio.no}'', that means:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16253
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16254 @lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16255 (setq gnus-nntp-server "nntp.ifi.uio.no")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16256 @end lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16257
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16258 So be careful not to mix up strings (the latter) with symbols (the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16259 former). The manual is unambiguous, but it can be confusing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16260
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16261
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16262 @include gnus-faq.texi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16263
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16264 @node Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16265 @chapter Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16266 @printindex cp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16267
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16268 @node Key Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16269 @chapter Key Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16270 @printindex ky
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16271
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16272 @summarycontents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16273 @contents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16274 @bye
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16275
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16276 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16277 @iflatex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16278 \end{document}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16279 @end iflatex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16280 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16281
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16282 @c End:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16283