Mercurial > emacs
annotate man/gnus.texi @ 42222:2f835f4a8ef8
(distclean): Remove Makefile in the build directory, not in the source
directory.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Fri, 21 Dec 2001 11:05:18 +0000 |
parents | 421e0a91a1d1 |
children | 47a8aeb481fb |
rev | line source |
---|---|
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1 \input texinfo @c -*-texinfo-*- -*- coding: iso-latin-1 -*- |
25829 | 2 |
33109 | 3 @setfilename ../info/gnus |
25829 | 4 @settitle Gnus Manual |
5 @synindex fn cp | |
6 @synindex vr cp | |
7 @synindex pg cp | |
33671 | 8 @dircategory Emacs |
25829 | 9 @direntry |
10 * Gnus: (gnus). The newsreader Gnus. | |
11 @end direntry | |
12 @iftex | |
13 @finalout | |
14 @end iftex | |
15 @setchapternewpage odd | |
16 | |
17 @iftex | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19 \documentclass[twoside,a4paper,openright,11pt]{book} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20 \usepackage[latin1]{inputenc} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21 \usepackage{pagestyle} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22 \usepackage{epsfig} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
23 \usepackage{bembo} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
24 \usepackage{pixidx} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
25 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
26 \makeindex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
27 \begin{document} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
28 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
29 \newcommand{\gnuschaptername}{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
30 \newcommand{\gnussectionname}{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
31 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
32 \newcommand{\gnusbackslash}{/} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
33 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
34 \newcommand{\gnusxref}[1]{See ``#1'' on page \pageref{#1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
35 \newcommand{\gnuspxref}[1]{see ``#1'' on page \pageref{#1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
36 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
37 \newcommand{\gnuskindex}[1]{\index{#1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
38 \newcommand{\gnusindex}[1]{\index{#1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
39 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
40 \newcommand{\gnustt}[1]{{\fontfamily{pfu}\fontsize{10pt}{10}\selectfont #1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
41 \newcommand{\gnuscode}[1]{\gnustt{#1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
42 \newcommand{\gnussamp}[1]{``{\fontencoding{OT1}\fontfamily{pfu}\fontsize{10pt}{10}\selectfont #1}''} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
43 \newcommand{\gnuslisp}[1]{\gnustt{#1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
44 \newcommand{\gnuskbd}[1]{`\gnustt{#1}'} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
45 \newcommand{\gnusfile}[1]{`\gnustt{#1}'} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
46 \newcommand{\gnusdfn}[1]{\textit{#1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
47 \newcommand{\gnusi}[1]{\textit{#1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
48 \newcommand{\gnusstrong}[1]{\textbf{#1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
49 \newcommand{\gnusemph}[1]{\textit{#1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
50 \newcommand{\gnusvar}[1]{{\fontsize{10pt}{10}\selectfont\textsl{\textsf{#1}}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
51 \newcommand{\gnussc}[1]{\textsc{#1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
52 \newcommand{\gnustitle}[1]{{\huge\textbf{#1}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
53 \newcommand{\gnusauthor}[1]{{\large\textbf{#1}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
54 \newcommand{\gnusresult}[1]{\gnustt{=> #1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
55 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
56 \newcommand{\gnusbullet}{{${\bullet}$}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
57 \newcommand{\gnusdollar}{\$} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
58 \newcommand{\gnusampersand}{\&} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
59 \newcommand{\gnuspercent}{\%} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
60 \newcommand{\gnushash}{\#} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
61 \newcommand{\gnushat}{\symbol{"5E}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
62 \newcommand{\gnusunderline}{\symbol{"5F}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
63 \newcommand{\gnusnot}{$\neg$} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
64 \newcommand{\gnustilde}{\symbol{"7E}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
65 \newcommand{\gnusless}{{$<$}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
66 \newcommand{\gnusgreater}{{$>$}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
67 \newcommand{\gnusbraceleft}{{$>$}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
68 \newcommand{\gnusbraceright}{{$>$}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
69 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
70 \newcommand{\gnushead}{\raisebox{-1cm}{\epsfig{figure=ps/gnus-head.eps,height=1cm}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
71 \newcommand{\gnusinteresting}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
72 \marginpar[\mbox{}\hfill\gnushead]{\gnushead} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
73 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
74 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
75 \newcommand{\gnuscleardoublepage}{\ifodd\count0\mbox{}\clearpage\thispagestyle{empty}\mbox{}\clearpage\else\clearpage\fi} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
76 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
77 \newcommand{\gnuspagechapter}[1]{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
78 {\mbox{}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
79 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
80 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
81 \newdimen{\gnusdimen} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
82 \gnusdimen 0pt |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
83 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
84 \newcommand{\gnuschapter}[2]{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
85 \gnuscleardoublepage |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
86 \ifdim \gnusdimen = 0pt\setcounter{page}{1}\pagestyle{gnus}\pagenumbering{arabic} \gnusdimen 1pt\fi |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
87 \chapter{#2} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
88 \renewcommand{\gnussectionname}{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
89 \renewcommand{\gnuschaptername}{#2} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
90 \thispagestyle{empty} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
91 \hspace*{-2cm} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
92 \begin{picture}(500,500)(0,0) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
93 \put(480,350){\makebox(0,0)[tr]{#1}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
94 \put(40,300){\makebox(500,50)[bl]{{\Huge\bf{#2}}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
95 \end{picture} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
96 \clearpage |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
97 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
98 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
99 \newcommand{\gnusfigure}[3]{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
100 \begin{figure} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
101 \mbox{}\ifodd\count0\hspace*{-0.8cm}\else\hspace*{-3cm}\fi\begin{picture}(440,#2) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
102 #3 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
103 \end{picture} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
104 \caption{#1} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
105 \end{figure} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
106 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
107 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
108 \newcommand{\gnusicon}[1]{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
109 \marginpar[\mbox{}\hfill\raisebox{-1.5cm}{\epsfig{figure=tmp/#1-up.ps,height=1.5cm}}]{\raisebox{-1cm}{\epsfig{figure=tmp/#1-up.ps,height=1cm}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
110 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
111 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
112 \newcommand{\gnuspicon}[1]{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
113 \margindex{\epsfig{figure=#1,width=2cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
114 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
115 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
116 \newcommand{\gnusxface}[2]{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
117 \margindex{\epsfig{figure=#1,width=1cm}\epsfig{figure=#2,width=1cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
118 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
119 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
120 \newcommand{\gnussmiley}[2]{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
121 \margindex{\makebox[2cm]{\hfill\epsfig{figure=#1,width=0.5cm}\hfill\epsfig{figure=#2,width=0.5cm}\hfill}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
122 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
123 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
124 \newcommand{\gnusitemx}[1]{\mbox{}\vspace*{-\itemsep}\vspace*{-\parsep}\item#1} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
125 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
126 \newcommand{\gnussection}[1]{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
127 \renewcommand{\gnussectionname}{#1} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
128 \section{#1} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
129 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
130 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
131 \newenvironment{codelist}% |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
132 {\begin{list}{}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
133 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
134 }{\end{list}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
135 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
136 \newenvironment{kbdlist}% |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
137 {\begin{list}{}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
138 \labelwidth=0cm |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
139 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
140 }{\end{list}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
141 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
142 \newenvironment{dfnlist}% |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
143 {\begin{list}{}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
144 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
145 }{\end{list}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
146 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
147 \newenvironment{stronglist}% |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
148 {\begin{list}{}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
149 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
150 }{\end{list}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
151 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
152 \newenvironment{samplist}% |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
153 {\begin{list}{}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
154 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
155 }{\end{list}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
156 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
157 \newenvironment{varlist}% |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
158 {\begin{list}{}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
159 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
160 }{\end{list}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
161 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
162 \newenvironment{emphlist}% |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
163 {\begin{list}{}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
164 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
165 }{\end{list}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
166 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
167 \newlength\gnusheadtextwidth |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
168 \setlength{\gnusheadtextwidth}{\headtextwidth} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
169 \addtolength{\gnusheadtextwidth}{1cm} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
170 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
171 \newpagestyle{gnuspreamble}% |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
172 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
173 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
174 \ifodd\count0 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
175 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
176 \hspace*{-0.23cm}\underline{\makebox[\gnusheadtextwidth]{\mbox{}}\textbf{\hfill\roman{page}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
177 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
178 \else |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
179 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
180 \hspace*{-3.25cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\roman{page}\hfill\mbox{}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
181 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
182 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
183 \fi |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
184 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
185 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
186 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
187 \ifodd\count0 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
188 \mbox{} \hfill |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
189 \raisebox{-0.5cm}{\epsfig{figure=ps/gnus-big-logo.eps,height=1cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
190 \else |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
191 \raisebox{-0.5cm}{\epsfig{figure=ps/gnus-big-logo.eps,height=1cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
192 \hfill \mbox{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
193 \fi |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
194 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
195 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
196 \newpagestyle{gnusindex}% |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
197 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
198 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
199 \ifodd\count0 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
200 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
201 \hspace*{-0.23cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\gnuschaptername\hfill\arabic{page}}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
202 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
203 \else |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
204 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
205 \hspace*{-3.25cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\arabic{page}\hfill\gnuschaptername}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
206 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
207 \fi |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
208 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
209 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
210 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
211 \ifodd\count0 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
212 \mbox{} \hfill |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
213 \raisebox{-0.5cm}{\epsfig{figure=ps/gnus-big-logo.eps,height=1cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
214 \else |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
215 \raisebox{-0.5cm}{\epsfig{figure=ps/gnus-big-logo.eps,height=1cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
216 \hfill \mbox{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
217 \fi |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
218 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
219 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
220 \newpagestyle{gnus}% |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
221 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
222 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
223 \ifodd\count0 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
224 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
225 \makebox[12cm]{\hspace*{3.1cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\arabic{chapter}.\arabic{section}} \textbf{\gnussectionname\hfill\arabic{page}}}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
226 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
227 \else |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
228 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
229 \makebox[12cm]{\hspace*{-2.95cm}\underline{\makebox[\gnusheadtextwidth]{\textbf{\arabic{page}\hfill\gnuschaptername}}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
230 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
231 \fi |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
232 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
233 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
234 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
235 \ifodd\count0 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
236 \mbox{} \hfill |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
237 \raisebox{-0.5cm}{\epsfig{figure=ps/gnus-big-logo.eps,height=1cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
238 \else |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
239 \raisebox{-0.5cm}{\epsfig{figure=ps/gnus-big-logo.eps,height=1cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
240 \hfill \mbox{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
241 \fi |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
242 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
243 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
244 \pagenumbering{roman} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
245 \pagestyle{gnuspreamble} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
246 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
247 @end iflatex |
25829 | 248 @end iftex |
249 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
250 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
251 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
252 \begin{titlepage} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
253 { |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
254 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
255 %\addtolength{\oddsidemargin}{-5cm} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
256 %\addtolength{\evensidemargin}{-5cm} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
257 \parindent=0cm |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
258 \addtolength{\textheight}{2cm} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
259 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
260 \gnustitle{\gnustitlename}\\ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
261 \rule{15cm}{1mm}\\ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
262 \vfill |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
263 \hspace*{0cm}\epsfig{figure=ps/gnus-big-logo.eps,height=15cm} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
264 \vfill |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
265 \rule{15cm}{1mm}\\ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
266 \gnusauthor{by Lars Magne Ingebrigtsen} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
267 \newpage |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
268 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
269 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
270 \mbox{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
271 \vfill |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
272 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
273 \thispagestyle{empty} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
274 |
36057 | 275 Copyright \copyright{} 1995,96,97,98,99,2000,2001 Free Software Foundation, Inc. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
276 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
277 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
278 Permission is granted to copy, distribute and/or modify this document |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
279 under the terms of the GNU Free Documentation License, Version 1.1 or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
280 any later version published by the Free Software Foundation; with no |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
281 Invariant Sections, with the Front-Cover texts being ``A GNU |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
282 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
283 license is included in the section entitled ``GNU Free Documentation |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
284 License'' in the Emacs manual. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
285 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
286 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
287 this GNU Manual, like GNU software. Copies published by the Free |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
288 Software Foundation raise funds for GNU development.'' |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
289 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
290 This document is part of a collection distributed under the GNU Free |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
291 Documentation License. If you want to distribute this document |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
292 separately from the collection, you can do so by adding a copy of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
293 license to the document, as described in section 6 of the license. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
294 \newpage |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
295 \end{titlepage} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
296 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
297 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
298 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
299 @ifnottex |
25829 | 300 |
301 This file documents Gnus, the GNU Emacs newsreader. | |
302 | |
36057 | 303 Copyright (C) 1995,96,97,98,99,2000,2001 Free Software Foundation, Inc. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
304 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
305 Permission is granted to copy, distribute and/or modify this document |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
306 under the terms of the GNU Free Documentation License, Version 1.1 or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
307 any later version published by the Free Software Foundation; with the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
308 Invariant Sections being none, with the Front-Cover texts being ``A GNU |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
309 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
310 license is included in the section entitled ``GNU Free Documentation |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
311 License'' in the Emacs manual. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
312 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
313 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
314 this GNU Manual, like GNU software. Copies published by the Free |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
315 Software Foundation raise funds for GNU development.'' |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
316 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
317 This document is part of a collection distributed under the GNU Free |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
318 Documentation License. If you want to distribute this document |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
319 separately from the collection, you can do so by adding a copy of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
320 license to the document, as described in section 6 of the license. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
321 @end ifnottex |
25829 | 322 |
323 @tex | |
324 | |
325 @titlepage | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
326 @title Gnus Manual |
25829 | 327 |
328 @author by Lars Magne Ingebrigtsen | |
329 @page | |
330 | |
331 @vskip 0pt plus 1filll | |
36057 | 332 Copyright @copyright{} 1995,96,97,98,99,2000,2001 Free Software Foundation, Inc. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
333 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
334 Permission is granted to copy, distribute and/or modify this document |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
335 under the terms of the GNU Free Documentation License, Version 1.1 or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
336 any later version published by the Free Software Foundation; with no |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
337 Invariant Sections, with the Front-Cover texts being ``A GNU |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
338 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
339 license is included in the section entitled ``GNU Free Documentation |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
340 License'' in the Emacs manual. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
341 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
342 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
343 this GNU Manual, like GNU software. Copies published by the Free |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
344 Software Foundation raise funds for GNU development.'' |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
345 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
346 This document is part of a collection distributed under the GNU Free |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
347 Documentation License. If you want to distribute this document |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
348 separately from the collection, you can do so by adding a copy of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
349 license to the document, as described in section 6 of the license. |
25829 | 350 |
351 @end titlepage | |
352 @page | |
353 | |
354 @end tex | |
355 | |
356 | |
357 @node Top | |
358 @top The Gnus Newsreader | |
359 | |
360 @ifinfo | |
361 | |
362 You can read news (and mail) from within Emacs by using Gnus. The news | |
363 can be gotten by any nefarious means you can think of---@sc{nntp}, local | |
364 spool or your mbox file. All at the same time, if you want to push your | |
365 luck. | |
366 | |
34547 | 367 This manual corresponds to Gnus 5.9.0. |
25829 | 368 |
369 @end ifinfo | |
370 | |
371 @iftex | |
372 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
373 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
374 \tableofcontents |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
375 \gnuscleardoublepage |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
376 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
377 |
25829 | 378 Gnus is the advanced, self-documenting, customizable, extensible |
379 unreal-time newsreader for GNU Emacs. | |
380 | |
381 Oops. That sounds oddly familiar, so let's start over again to avoid | |
382 being accused of plagiarism: | |
383 | |
384 Gnus is a message-reading laboratory. It will let you look at just | |
385 about anything as if it were a newsgroup. You can read mail with it, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
386 you can browse directories with it, you can @code{ftp} with it---you |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
387 can even read news with it! |
25829 | 388 |
389 Gnus tries to empower people who read news the same way Emacs empowers | |
390 people who edit text. Gnus sets no limits to what the user should be | |
391 allowed to do. Users are encouraged to extend Gnus to make it behave | |
392 like they want it to behave. A program should not control people; | |
393 people should be empowered to do what they want by using (or abusing) | |
394 the program. | |
395 | |
396 @end iftex | |
397 | |
398 @menu | |
399 * Starting Up:: Finding news can be a pain. | |
400 * The Group Buffer:: Selecting, subscribing and killing groups. | |
401 * The Summary Buffer:: Reading, saving and posting articles. | |
402 * The Article Buffer:: Displaying and handling articles. | |
403 * Composing Messages:: Information on sending mail and news. | |
404 * Select Methods:: Gnus reads all messages from various select methods. | |
405 * Scoring:: Assigning values to articles. | |
406 * Various:: General purpose settings. | |
407 * The End:: Farewell and goodbye. | |
408 * Appendices:: Terminology, Emacs intro, FAQ, History, Internals. | |
409 * Index:: Variable, function and concept index. | |
410 * Key Index:: Key Index. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
411 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
412 @detailmenu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
413 --- The Detailed Node Listing --- |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
414 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
415 Starting Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
416 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
417 * Finding the News:: Choosing a method for getting news. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
418 * The First Time:: What does Gnus do the first time you start it? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
419 * The Server is Down:: How can I read my mail then? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
420 * Slave Gnusae:: You can have more than one Gnus active at a time. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
421 * Fetching a Group:: Starting Gnus just to read a group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
422 * New Groups:: What is Gnus supposed to do with new groups? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
423 * Startup Files:: Those pesky startup files---@file{.newsrc}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
424 * Auto Save:: Recovering from a crash. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
425 * The Active File:: Reading the active file over a slow line Takes Time. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
426 * Changing Servers:: You may want to move from one server to another. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
427 * Startup Variables:: Other variables you might change. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
428 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
429 New Groups |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
430 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
431 * Checking New Groups:: Determining what groups are new. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
432 * Subscription Methods:: What Gnus should do with new groups. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
433 * Filtering New Groups:: Making Gnus ignore certain new groups. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
434 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
435 The Group Buffer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
436 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
437 * Group Buffer Format:: Information listed and how you can change it. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
438 * Group Maneuvering:: Commands for moving in the group buffer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
439 * Selecting a Group:: Actually reading news. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
440 * Group Data:: Changing the info for a group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
441 * Subscription Commands:: Unsubscribing, killing, subscribing. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
442 * Group Levels:: Levels? What are those, then? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
443 * Group Score:: A mechanism for finding out what groups you like. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
444 * Marking Groups:: You can mark groups for later processing. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
445 * Foreign Groups:: Creating and editing groups. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
446 * Group Parameters:: Each group may have different parameters set. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
447 * Listing Groups:: Gnus can list various subsets of the groups. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
448 * Sorting Groups:: Re-arrange the group order. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
449 * Group Maintenance:: Maintaining a tidy @file{.newsrc} file. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
450 * Browse Foreign Server:: You can browse a server. See what it has to offer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
451 * Exiting Gnus:: Stop reading news and get some work done. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
452 * Group Topics:: A folding group mode divided into topics. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
453 * Misc Group Stuff:: Other stuff that you can to do. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
454 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
455 Group Buffer Format |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
456 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
457 * Group Line Specification:: Deciding how the group buffer is to look. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
458 * Group Modeline Specification:: The group buffer modeline. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
459 * Group Highlighting:: Having nice colors in the group buffer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
460 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
461 Group Topics |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
462 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
463 * Topic Variables:: How to customize the topics the Lisp Way. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
464 * Topic Commands:: Interactive E-Z commands. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
465 * Topic Sorting:: Sorting each topic individually. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
466 * Topic Topology:: A map of the world. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
467 * Topic Parameters:: Parameters that apply to all groups in a topic. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
468 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
469 Misc Group Stuff |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
470 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
471 * Scanning New Messages:: Asking Gnus to see whether new messages have arrived. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
472 * Group Information:: Information and help on groups and Gnus. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
473 * Group Timestamp:: Making Gnus keep track of when you last read a group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
474 * File Commands:: Reading and writing the Gnus files. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
475 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
476 The Summary Buffer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
477 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
478 * Summary Buffer Format:: Deciding how the summary buffer is to look. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
479 * Summary Maneuvering:: Moving around the summary buffer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
480 * Choosing Articles:: Reading articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
481 * Paging the Article:: Scrolling the current article. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
482 * Reply Followup and Post:: Posting articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
483 * Marking Articles:: Marking articles as read, expirable, etc. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
484 * Limiting:: You can limit the summary buffer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
485 * Threading:: How threads are made. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
486 * Sorting:: How articles and threads are sorted. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
487 * Asynchronous Fetching:: Gnus might be able to pre-fetch articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
488 * Article Caching:: You may store articles in a cache. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
489 * Persistent Articles:: Making articles expiry-resistant. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
490 * Article Backlog:: Having already read articles hang around. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
491 * Saving Articles:: Ways of customizing article saving. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
492 * Decoding Articles:: Gnus can treat series of (uu)encoded articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
493 * Article Treatment:: The article buffer can be mangled at will. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
494 * MIME Commands:: Doing MIMEy things with the articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
495 * Charsets:: Character set issues. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
496 * Article Commands:: Doing various things with the article buffer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
497 * Summary Sorting:: Sorting the summary buffer in various ways. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
498 * Finding the Parent:: No child support? Get the parent. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
499 * Alternative Approaches:: Reading using non-default summaries. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
500 * Tree Display:: A more visual display of threads. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
501 * Mail Group Commands:: Some commands can only be used in mail groups. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
502 * Various Summary Stuff:: What didn't fit anywhere else. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
503 * Exiting the Summary Buffer:: Returning to the Group buffer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
504 * Crosspost Handling:: How crossposted articles are dealt with. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
505 * Duplicate Suppression:: An alternative when crosspost handling fails. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
506 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
507 Summary Buffer Format |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
508 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
509 * Summary Buffer Lines:: You can specify how summary lines should look. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
510 * To From Newsgroups:: How to not display your own name. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
511 * Summary Buffer Mode Line:: You can say how the mode line should look. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
512 * Summary Highlighting:: Making the summary buffer all pretty and nice. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
513 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
514 Choosing Articles |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
515 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
516 * Choosing Commands:: Commands for choosing articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
517 * Choosing Variables:: Variables that influence these commands. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
518 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
519 Reply, Followup and Post |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
520 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
521 * Summary Mail Commands:: Sending mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
522 * Summary Post Commands:: Sending news. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
523 * Summary Message Commands:: Other Message-related commands. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
524 * Canceling and Superseding:: ``Whoops, I shouldn't have called him that.'' |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
525 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
526 Marking Articles |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
527 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
528 * Unread Articles:: Marks for unread articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
529 * Read Articles:: Marks for read articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
530 * Other Marks:: Marks that do not affect readedness. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
531 * Setting Marks:: How to set and remove marks. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
532 * Generic Marking Commands:: How to customize the marking. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
533 * Setting Process Marks:: How to mark articles for later processing. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
534 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
535 Threading |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
536 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
537 * Customizing Threading:: Variables you can change to affect the threading. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
538 * Thread Commands:: Thread based commands in the summary buffer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
539 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
540 Customizing Threading |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
541 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
542 * Loose Threads:: How Gnus gathers loose threads into bigger threads. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
543 * Filling In Threads:: Making the threads displayed look fuller. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
544 * More Threading:: Even more variables for fiddling with threads. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
545 * Low-Level Threading:: You thought it was over... but you were wrong! |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
546 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
547 Decoding Articles |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
548 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
549 * Uuencoded Articles:: Uudecode articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
550 * Shell Archives:: Unshar articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
551 * PostScript Files:: Split PostScript. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
552 * Other Files:: Plain save and binhex. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
553 * Decoding Variables:: Variables for a happy decoding. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
554 * Viewing Files:: You want to look at the result of the decoding? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
555 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
556 Decoding Variables |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
557 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
558 * Rule Variables:: Variables that say how a file is to be viewed. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
559 * Other Decode Variables:: Other decode variables. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
560 * Uuencoding and Posting:: Variables for customizing uuencoding. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
561 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
562 Article Treatment |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
563 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
564 * Article Highlighting:: You want to make the article look like fruit salad. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
565 * Article Fontisizing:: Making emphasized text look nice. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
566 * Article Hiding:: You also want to make certain info go away. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
567 * Article Washing:: Lots of way-neat functions to make life better. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
568 * Article Buttons:: Click on URLs, Message-IDs, addresses and the like. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
569 * Article Date:: Grumble, UT! |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
570 * Article Signature:: What is a signature? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
571 * Article Miscellania:: Various other stuff. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
572 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
573 Alternative Approaches |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
574 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
575 * Pick and Read:: First mark articles and then read them. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
576 * Binary Groups:: Auto-decode all articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
577 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
578 Various Summary Stuff |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
579 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
580 * Summary Group Information:: Information oriented commands. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
581 * Searching for Articles:: Multiple article commands. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
582 * Summary Generation Commands:: (Re)generating the summary buffer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
583 * Really Various Summary Commands:: Those pesky non-conformant commands. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
584 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
585 The Article Buffer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
586 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
587 * Hiding Headers:: Deciding what headers should be displayed. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
588 * Using MIME:: Pushing articles through @sc{mime} before reading them. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
589 * Customizing Articles:: Tailoring the look of the articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
590 * Article Keymap:: Keystrokes available in the article buffer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
591 * Misc Article:: Other stuff. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
592 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
593 Composing Messages |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
594 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
595 * Mail:: Mailing and replying. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
596 * Posting Server:: What server should you post via? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
597 * Mail and Post:: Mailing and posting at the same time. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
598 * Archived Messages:: Where Gnus stores the messages you've sent. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
599 * Posting Styles:: An easier way to specify who you are. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
600 * Drafts:: Postponing messages and rejected messages. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
601 * Rejected Articles:: What happens if the server doesn't like your article? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
602 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
603 Select Methods |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
604 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
605 * The Server Buffer:: Making and editing virtual servers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
606 * Getting News:: Reading USENET news with Gnus. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
607 * Getting Mail:: Reading your personal mail with Gnus. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
608 * Browsing the Web:: Getting messages from a plethora of Web sources. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
609 * Other Sources:: Reading directories, files, SOUP packets. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
610 * Combined Groups:: Combining groups into one group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
611 * Gnus Unplugged:: Reading news and mail offline. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
612 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
613 The Server Buffer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
614 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
615 * Server Buffer Format:: You can customize the look of this buffer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
616 * Server Commands:: Commands to manipulate servers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
617 * Example Methods:: Examples server specifications. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
618 * Creating a Virtual Server:: An example session. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
619 * Server Variables:: Which variables to set. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
620 * Servers and Methods:: You can use server names as select methods. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
621 * Unavailable Servers:: Some servers you try to contact may be down. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
622 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
623 Getting News |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
624 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
625 * NNTP:: Reading news from an @sc{nntp} server. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
626 * News Spool:: Reading news from the local spool. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
627 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
628 Getting Mail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
629 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
630 * Mail in a Newsreader:: Important introductory notes. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
631 * Getting Started Reading Mail:: A simple cookbook example. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
632 * Splitting Mail:: How to create mail groups. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
633 * Mail Sources:: How to tell Gnus where to get mail from. |
39395 | 634 * Mail Back End Variables:: Variables for customizing mail handling. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
635 * Fancy Mail Splitting:: Gnus can do hairy splitting of incoming mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
636 * Group Mail Splitting:: Use group customize to drive mail splitting. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
637 * Incorporating Old Mail:: What about the old mail you have? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
638 * Expiring Mail:: Getting rid of unwanted mail. |
33292 | 639 * Washing Mail:: Removing cruft from the mail you get. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
640 * Duplicates:: Dealing with duplicated mail. |
39395 | 641 * Not Reading Mail:: Using mail back ends for reading other files. |
642 * Choosing a Mail Back End:: Gnus can read a variety of mail formats. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
643 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
644 Mail Sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
645 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
646 * Mail Source Specifiers:: How to specify what a mail source is. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
647 * Mail Source Customization:: Some variables that influence things. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
648 * Fetching Mail:: Using the mail source specifiers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
649 |
39395 | 650 Choosing a Mail Back End |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
651 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
652 * Unix Mail Box:: Using the (quite) standard Un*x mbox. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
653 * Rmail Babyl:: Emacs programs use the rmail babyl format. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
654 * Mail Spool:: Store your mail in a private spool? |
39395 | 655 * MH Spool:: An mhspool-like back end. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
656 * Mail Folders:: Having one file for each group. |
39395 | 657 * Comparing Mail Back Ends:: An in-depth looks at pros and cons. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
658 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
659 Browsing the Web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
660 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
661 * Web Searches:: Creating groups from articles that match a string. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
662 * Slashdot:: Reading the Slashdot comments. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
663 * Ultimate:: The Ultimate Bulletin Board systems. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
664 * Web Archive:: Reading mailing list archived on web. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
665 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
666 Other Sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
667 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
668 * Directory Groups:: You can read a directory as if it was a newsgroup. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
669 * Anything Groups:: Dired? Who needs dired? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
670 * Document Groups:: Single files can be the basis of a group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
671 * SOUP:: Reading @sc{soup} packets ``offline''. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
672 * Mail-To-News Gateways:: Posting articles via mail-to-news gateways. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
673 * IMAP:: Using Gnus as a @sc{imap} client. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
674 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
675 Document Groups |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
676 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
677 * Document Server Internals:: How to add your own document types. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
678 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
679 SOUP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
680 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
681 * SOUP Commands:: Commands for creating and sending @sc{soup} packets |
39395 | 682 * SOUP Groups:: A back end for reading @sc{soup} packets. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
683 * SOUP Replies:: How to enable @code{nnsoup} to take over mail and news. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
684 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
685 @sc{imap} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
686 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
687 * Splitting in IMAP:: Splitting mail with nnimap. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
688 * Editing IMAP ACLs:: Limiting/enabling other users access to a mailbox. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
689 * Expunging mailboxes:: Equivalent of a "compress mailbox" button. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
690 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
691 Combined Groups |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
692 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
693 * Virtual Groups:: Combining articles from many groups. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
694 * Kibozed Groups:: Looking through parts of the newsfeed for articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
695 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
696 Gnus Unplugged |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
697 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
698 * Agent Basics:: How it all is supposed to work. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
699 * Agent Categories:: How to tell the Gnus Agent what to download. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
700 * Agent Commands:: New commands for all the buffers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
701 * Agent Expiry:: How to make old articles go away. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
702 * Agent and IMAP:: How to use the Agent with IMAP. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
703 * Outgoing Messages:: What happens when you post/mail something? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
704 * Agent Variables:: Customizing is fun. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
705 * Example Setup:: An example @file{.gnus.el} file for offline people. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
706 * Batching Agents:: How to fetch news from a @code{cron} job. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
707 * Agent Caveats:: What you think it'll do and what it does. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
708 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
709 Agent Categories |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
710 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
711 * Category Syntax:: What a category looks like. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
712 * The Category Buffer:: A buffer for maintaining categories. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
713 * Category Variables:: Customize'r'Us. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
714 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
715 Agent Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
716 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
717 * Group Agent Commands:: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
718 * Summary Agent Commands:: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
719 * Server Agent Commands:: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
720 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
721 Scoring |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
722 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
723 * Summary Score Commands:: Adding score entries for the current group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
724 * Group Score Commands:: General score commands. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
725 * Score Variables:: Customize your scoring. (My, what terminology). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
726 * Score File Format:: What a score file may contain. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
727 * Score File Editing:: You can edit score files by hand as well. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
728 * Adaptive Scoring:: Big Sister Gnus knows what you read. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
729 * Home Score File:: How to say where new score entries are to go. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
730 * Followups To Yourself:: Having Gnus notice when people answer you. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
731 * Scoring Tips:: How to score effectively. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
732 * Reverse Scoring:: That problem child of old is not problem. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
733 * Global Score Files:: Earth-spanning, ear-splitting score files. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
734 * Kill Files:: They are still here, but they can be ignored. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
735 * Converting Kill Files:: Translating kill files to score files. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
736 * GroupLens:: Getting predictions on what you like to read. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
737 * Advanced Scoring:: Using logical expressions to build score rules. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
738 * Score Decays:: It can be useful to let scores wither away. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
739 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
740 GroupLens |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
741 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
742 * Using GroupLens:: How to make Gnus use GroupLens. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
743 * Rating Articles:: Letting GroupLens know how you rate articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
744 * Displaying Predictions:: Displaying predictions given by GroupLens. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
745 * GroupLens Variables:: Customizing GroupLens. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
746 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
747 Advanced Scoring |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
748 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
749 * Advanced Scoring Syntax:: A definition. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
750 * Advanced Scoring Examples:: What they look like. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
751 * Advanced Scoring Tips:: Getting the most out of it. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
752 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
753 Various |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
754 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
755 * Process/Prefix:: A convention used by many treatment commands. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
756 * Interactive:: Making Gnus ask you many questions. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
757 * Symbolic Prefixes:: How to supply some Gnus functions with options. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
758 * Formatting Variables:: You can specify what buffers should look like. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
759 * Windows Configuration:: Configuring the Gnus buffer windows. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
760 * Faces and Fonts:: How to change how faces look. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
761 * Compilation:: How to speed Gnus up. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
762 * Mode Lines:: Displaying information in the mode lines. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
763 * Highlighting and Menus:: Making buffers look all nice and cozy. |
35073 | 764 * Buttons:: Get tendinitis in ten easy steps! |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
765 * Daemons:: Gnus can do things behind your back. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
766 * NoCeM:: How to avoid spam and other fatty foods. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
767 * Undo:: Some actions can be undone. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
768 * Moderation:: What to do if you're a moderator. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
769 * XEmacs Enhancements:: There are more pictures and stuff under XEmacs. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
770 * Fuzzy Matching:: What's the big fuzz? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
771 * Thwarting Email Spam:: A how-to on avoiding unsolicited commercial email. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
772 * Various Various:: Things that are really various. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
773 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
774 Formatting Variables |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
775 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
776 * Formatting Basics:: A formatting variable is basically a format string. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
777 * Mode Line Formatting:: Some rules about mode line formatting variables. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
778 * Advanced Formatting:: Modifying output in various ways. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
779 * User-Defined Specs:: Having Gnus call your own functions. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
780 * Formatting Fonts:: Making the formatting look colorful and nice. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
781 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
782 XEmacs Enhancements |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
783 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
784 * Picons:: How to display pictures of what your reading. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
785 * Smileys:: Show all those happy faces the way they were meant to be shown. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
786 * Toolbar:: Click'n'drool. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
787 * XVarious:: Other XEmacsy Gnusey variables. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
788 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
789 Picons |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
790 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
791 * Picon Basics:: What are picons and How do I get them. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
792 * Picon Requirements:: Don't go further if you aren't using XEmacs. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
793 * Easy Picons:: Displaying Picons---the easy way. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
794 * Hard Picons:: The way you should do it. You'll learn something. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
795 * Picon Useless Configuration:: Other variables you can trash/tweak/munge/play with. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
796 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
797 Appendices |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
798 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
799 * History:: How Gnus got where it is today. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
800 * On Writing Manuals:: Why this is not a beginner's guide. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
801 * Terminology:: We use really difficult, like, words here. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
802 * Customization:: Tailoring Gnus to your needs. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
803 * Troubleshooting:: What you might try if things do not work. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
804 * Gnus Reference Guide:: Rilly, rilly technical stuff. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
805 * Emacs for Heathens:: A short introduction to Emacsian terms. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
806 * Frequently Asked Questions:: A question-and-answer session. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
807 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
808 History |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
809 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
810 * Gnus Versions:: What Gnus versions have been released. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
811 * Other Gnus Versions:: Other Gnus versions that also have been released. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
812 * Why?:: What's the point of Gnus? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
813 * Compatibility:: Just how compatible is Gnus with @sc{gnus}? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
814 * Conformity:: Gnus tries to conform to all standards. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
815 * Emacsen:: Gnus can be run on a few modern Emacsen. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
816 * Gnus Development:: How Gnus is developed. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
817 * Contributors:: Oodles of people. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
818 * New Features:: Pointers to some of the new stuff in Gnus. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
819 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
820 New Features |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
821 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
822 * ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus. |
36038
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
823 * September Gnus:: The Thing Formally Known As Gnus 5.2/5.3. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
824 * Red Gnus:: Third time best---Gnus 5.4/5.5. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
825 * Quassia Gnus:: Two times two is four, or Gnus 5.6/5.7. |
36038
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
826 * Pterodactyl Gnus:: Pentad also starts with P, AKA Gnus 5.8/5.9. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
827 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
828 Customization |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
829 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
830 * Slow/Expensive Connection:: You run a local Emacs and get the news elsewhere. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
831 * Slow Terminal Connection:: You run a remote Emacs. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
832 * Little Disk Space:: You feel that having large setup files is icky. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
833 * Slow Machine:: You feel like buying a faster machine. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
834 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
835 Gnus Reference Guide |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
836 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
837 * Gnus Utility Functions:: Common functions and variable to use. |
39395 | 838 * Back End Interface:: How Gnus communicates with the servers. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
839 * Score File Syntax:: A BNF definition of the score file standard. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
840 * Headers:: How Gnus stores headers internally. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
841 * Ranges:: A handy format for storing mucho numbers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
842 * Group Info:: The group info format. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
843 * Extended Interactive:: Symbolic prefixes and stuff. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
844 * Emacs/XEmacs Code:: Gnus can be run under all modern Emacsen. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
845 * Various File Formats:: Formats of files that Gnus use. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
846 |
39395 | 847 Back End Interface |
848 | |
849 * Required Back End Functions:: Functions that must be implemented. | |
850 * Optional Back End Functions:: Functions that need not be implemented. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
851 * Error Messaging:: How to get messages and report errors. |
39395 | 852 * Writing New Back Ends:: Extending old back ends. |
39416
7b970afcfb82
Fix crossreferences. From Pavel@janik.cz (Pavel Jan,Bm(Bk).
Gerd Moellmann <gerd@gnu.org>
parents:
39395
diff
changeset
|
853 * Hooking New Back Ends Into Gnus:: What has to be done on the Gnus end. |
7b970afcfb82
Fix crossreferences. From Pavel@janik.cz (Pavel Jan,Bm(Bk).
Gerd Moellmann <gerd@gnu.org>
parents:
39395
diff
changeset
|
854 * Mail-like Back Ends:: Some tips on mail back ends. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
855 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
856 Various File Formats |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
857 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
858 * Active File Format:: Information on articles and groups available. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
859 * Newsgroups File Format:: Group descriptions. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
860 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
861 Emacs for Heathens |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
862 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
863 * Keystrokes:: Entering text and executing commands. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
864 * Emacs Lisp:: The built-in Emacs programming language. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
865 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
866 @end detailmenu |
25829 | 867 @end menu |
868 | |
869 @node Starting Up | |
870 @chapter Starting Gnus | |
871 @cindex starting up | |
872 | |
873 @kindex M-x gnus | |
874 @findex gnus | |
875 If your system administrator has set things up properly, starting Gnus | |
876 and reading news is extremely easy---you just type @kbd{M-x gnus} in | |
877 your Emacs. | |
878 | |
879 @findex gnus-other-frame | |
880 @kindex M-x gnus-other-frame | |
881 If you want to start Gnus in a different frame, you can use the command | |
882 @kbd{M-x gnus-other-frame} instead. | |
883 | |
884 If things do not go smoothly at startup, you have to twiddle some | |
885 variables in your @file{~/.gnus} file. This file is similar to | |
886 @file{~/.emacs}, but is read when gnus starts. | |
887 | |
888 If you puzzle at any terms used in this manual, please refer to the | |
889 terminology section (@pxref{Terminology}). | |
890 | |
891 @menu | |
892 * Finding the News:: Choosing a method for getting news. | |
893 * The First Time:: What does Gnus do the first time you start it? | |
894 * The Server is Down:: How can I read my mail then? | |
895 * Slave Gnusae:: You can have more than one Gnus active at a time. | |
896 * Fetching a Group:: Starting Gnus just to read a group. | |
897 * New Groups:: What is Gnus supposed to do with new groups? | |
898 * Startup Files:: Those pesky startup files---@file{.newsrc}. | |
899 * Auto Save:: Recovering from a crash. | |
900 * The Active File:: Reading the active file over a slow line Takes Time. | |
901 * Changing Servers:: You may want to move from one server to another. | |
902 * Startup Variables:: Other variables you might change. | |
903 @end menu | |
904 | |
905 | |
906 @node Finding the News | |
907 @section Finding the News | |
908 @cindex finding news | |
909 | |
910 @vindex gnus-select-method | |
911 @c @head | |
912 The @code{gnus-select-method} variable says where Gnus should look for | |
913 news. This variable should be a list where the first element says | |
914 @dfn{how} and the second element says @dfn{where}. This method is your | |
915 native method. All groups not fetched with this method are | |
916 foreign groups. | |
917 | |
918 For instance, if the @samp{news.somewhere.edu} @sc{nntp} server is where | |
919 you want to get your daily dosage of news from, you'd say: | |
920 | |
921 @lisp | |
922 (setq gnus-select-method '(nntp "news.somewhere.edu")) | |
923 @end lisp | |
924 | |
925 If you want to read directly from the local spool, say: | |
926 | |
927 @lisp | |
928 (setq gnus-select-method '(nnspool "")) | |
929 @end lisp | |
930 | |
931 If you can use a local spool, you probably should, as it will almost | |
932 certainly be much faster. | |
933 | |
934 @vindex gnus-nntpserver-file | |
935 @cindex NNTPSERVER | |
936 @cindex @sc{nntp} server | |
937 If this variable is not set, Gnus will take a look at the | |
938 @code{NNTPSERVER} environment variable. If that variable isn't set, | |
939 Gnus will see whether @code{gnus-nntpserver-file} | |
940 (@file{/etc/nntpserver} by default) has any opinions on the matter. If | |
941 that fails as well, Gnus will try to use the machine running Emacs as an @sc{nntp} server. That's a long shot, though. | |
942 | |
943 @vindex gnus-nntp-server | |
944 If @code{gnus-nntp-server} is set, this variable will override | |
945 @code{gnus-select-method}. You should therefore set | |
946 @code{gnus-nntp-server} to @code{nil}, which is what it is by default. | |
947 | |
948 @vindex gnus-secondary-servers | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
949 @vindex gnus-nntp-server |
25829 | 950 You can also make Gnus prompt you interactively for the name of an |
951 @sc{nntp} server. If you give a non-numerical prefix to @code{gnus} | |
952 (i.e., @kbd{C-u M-x gnus}), Gnus will let you choose between the servers | |
953 in the @code{gnus-secondary-servers} list (if any). You can also just | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
954 type in the name of any server you feel like visiting. (Note that this |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
955 will set @code{gnus-nntp-server}, which means that if you then @kbd{M-x |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
956 gnus} later in the same Emacs session, Gnus will contact the same |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
957 server.) |
25829 | 958 |
959 @findex gnus-group-browse-foreign-server | |
36028 | 960 @kindex B @r{(Group)} |
25829 | 961 However, if you use one @sc{nntp} server regularly and are just |
962 interested in a couple of groups from a different server, you would be | |
963 better served by using the @kbd{B} command in the group buffer. It will | |
964 let you have a look at what groups are available, and you can subscribe | |
965 to any of the groups you want to. This also makes @file{.newsrc} | |
966 maintenance much tidier. @xref{Foreign Groups}. | |
967 | |
968 @vindex gnus-secondary-select-methods | |
969 @c @head | |
970 A slightly different approach to foreign groups is to set the | |
971 @code{gnus-secondary-select-methods} variable. The select methods | |
972 listed in this variable are in many ways just as native as the | |
973 @code{gnus-select-method} server. They will also be queried for active | |
974 files during startup (if that's required), and new newsgroups that | |
975 appear on these servers will be subscribed (or not) just as native | |
976 groups are. | |
977 | |
39395 | 978 For instance, if you use the @code{nnmbox} back end to read your mail, |
979 you would typically set this variable to | |
25829 | 980 |
981 @lisp | |
982 (setq gnus-secondary-select-methods '((nnmbox ""))) | |
983 @end lisp | |
984 | |
985 | |
986 @node The First Time | |
987 @section The First Time | |
988 @cindex first time usage | |
989 | |
990 If no startup files exist, Gnus will try to determine what groups should | |
991 be subscribed by default. | |
992 | |
993 @vindex gnus-default-subscribed-newsgroups | |
994 If the variable @code{gnus-default-subscribed-newsgroups} is set, Gnus | |
995 will subscribe you to just those groups in that list, leaving the rest | |
996 killed. Your system administrator should have set this variable to | |
997 something useful. | |
998 | |
999 Since she hasn't, Gnus will just subscribe you to a few arbitrarily | |
1000 picked groups (i.e., @samp{*.newusers}). (@dfn{Arbitrary} is defined | |
1001 here as @dfn{whatever Lars thinks you should read}.) | |
1002 | |
1003 You'll also be subscribed to the Gnus documentation group, which should | |
1004 help you with most common problems. | |
1005 | |
1006 If @code{gnus-default-subscribed-newsgroups} is @code{t}, Gnus will just | |
1007 use the normal functions for handling new groups, and not do anything | |
1008 special. | |
1009 | |
1010 | |
1011 @node The Server is Down | |
1012 @section The Server is Down | |
1013 @cindex server errors | |
1014 | |
1015 If the default server is down, Gnus will understandably have some | |
1016 problems starting. However, if you have some mail groups in addition to | |
1017 the news groups, you may want to start Gnus anyway. | |
1018 | |
1019 Gnus, being the trusting sort of program, will ask whether to proceed | |
1020 without a native select method if that server can't be contacted. This | |
1021 will happen whether the server doesn't actually exist (i.e., you have | |
1022 given the wrong address) or the server has just momentarily taken ill | |
1023 for some reason or other. If you decide to continue and have no foreign | |
1024 groups, you'll find it difficult to actually do anything in the group | |
1025 buffer. But, hey, that's your problem. Blllrph! | |
1026 | |
1027 @findex gnus-no-server | |
1028 @kindex M-x gnus-no-server | |
1029 @c @head | |
1030 If you know that the server is definitely down, or you just want to read | |
1031 your mail without bothering with the server at all, you can use the | |
1032 @code{gnus-no-server} command to start Gnus. That might come in handy | |
1033 if you're in a hurry as well. This command will not attempt to contact | |
1034 your primary server---instead, it will just activate all groups on level | |
1035 1 and 2. (You should preferably keep no native groups on those two | |
1036 levels.) | |
1037 | |
1038 | |
1039 @node Slave Gnusae | |
1040 @section Slave Gnusae | |
1041 @cindex slave | |
1042 | |
1043 You might want to run more than one Emacs with more than one Gnus at the | |
1044 same time. If you are using different @file{.newsrc} files (e.g., if you | |
1045 are using the two different Gnusae to read from two different servers), | |
1046 that is no problem whatsoever. You just do it. | |
1047 | |
1048 The problem appears when you want to run two Gnusae that use the same | |
1049 @code{.newsrc} file. | |
1050 | |
1051 To work around that problem some, we here at the Think-Tank at the Gnus | |
1052 Towers have come up with a new concept: @dfn{Masters} and | |
1053 @dfn{slaves}. (We have applied for a patent on this concept, and have | |
1054 taken out a copyright on those words. If you wish to use those words in | |
1055 conjunction with each other, you have to send $1 per usage instance to | |
1056 me. Usage of the patent (@dfn{Master/Slave Relationships In Computer | |
1057 Applications}) will be much more expensive, of course.) | |
1058 | |
35073 | 1059 Anyway, you start one Gnus up the normal way with @kbd{M-x gnus} (or |
25829 | 1060 however you do it). Each subsequent slave Gnusae should be started with |
1061 @kbd{M-x gnus-slave}. These slaves won't save normal @file{.newsrc} | |
1062 files, but instead save @dfn{slave files} that contain information only | |
1063 on what groups have been read in the slave session. When a master Gnus | |
1064 starts, it will read (and delete) these slave files, incorporating all | |
1065 information from them. (The slave files will be read in the sequence | |
1066 they were created, so the latest changes will have precedence.) | |
1067 | |
1068 Information from the slave files has, of course, precedence over the | |
1069 information in the normal (i.e., master) @code{.newsrc} file. | |
1070 | |
1071 | |
1072 @node Fetching a Group | |
1073 @section Fetching a Group | |
1074 @cindex fetching a group | |
1075 | |
1076 @findex gnus-fetch-group | |
1077 It is sometimes convenient to be able to just say ``I want to read this | |
1078 group and I don't care whether Gnus has been started or not''. This is | |
1079 perhaps more useful for people who write code than for users, but the | |
1080 command @code{gnus-fetch-group} provides this functionality in any case. | |
1081 It takes the group name as a parameter. | |
1082 | |
1083 | |
1084 @node New Groups | |
1085 @section New Groups | |
1086 @cindex new groups | |
1087 @cindex subscription | |
1088 | |
1089 @vindex gnus-check-new-newsgroups | |
1090 If you are satisfied that you really never want to see any new groups, | |
1091 you can set @code{gnus-check-new-newsgroups} to @code{nil}. This will | |
1092 also save you some time at startup. Even if this variable is | |
1093 @code{nil}, you can always subscribe to the new groups just by pressing | |
1094 @kbd{U} in the group buffer (@pxref{Group Maintenance}). This variable | |
1095 is @code{ask-server} by default. If you set this variable to | |
39395 | 1096 @code{always}, then Gnus will query the back ends for new groups even |
25829 | 1097 when you do the @kbd{g} command (@pxref{Scanning New Messages}). |
1098 | |
1099 @menu | |
1100 * Checking New Groups:: Determining what groups are new. | |
1101 * Subscription Methods:: What Gnus should do with new groups. | |
1102 * Filtering New Groups:: Making Gnus ignore certain new groups. | |
1103 @end menu | |
1104 | |
1105 | |
1106 @node Checking New Groups | |
1107 @subsection Checking New Groups | |
1108 | |
1109 Gnus normally determines whether a group is new or not by comparing the | |
1110 list of groups from the active file(s) with the lists of subscribed and | |
1111 dead groups. This isn't a particularly fast method. If | |
1112 @code{gnus-check-new-newsgroups} is @code{ask-server}, Gnus will ask the | |
1113 server for new groups since the last time. This is both faster and | |
1114 cheaper. This also means that you can get rid of the list of killed | |
1115 groups altogether, so you may set @code{gnus-save-killed-list} to | |
1116 @code{nil}, which will save time both at startup, at exit, and all over. | |
1117 Saves disk space, too. Why isn't this the default, then? | |
1118 Unfortunately, not all servers support this command. | |
1119 | |
1120 I bet I know what you're thinking now: How do I find out whether my | |
1121 server supports @code{ask-server}? No? Good, because I don't have a | |
1122 fail-safe answer. I would suggest just setting this variable to | |
1123 @code{ask-server} and see whether any new groups appear within the next | |
1124 few days. If any do, then it works. If none do, then it doesn't | |
1125 work. I could write a function to make Gnus guess whether the server | |
1126 supports @code{ask-server}, but it would just be a guess. So I won't. | |
1127 You could @code{telnet} to the server and say @code{HELP} and see | |
1128 whether it lists @samp{NEWGROUPS} among the commands it understands. If | |
1129 it does, then it might work. (But there are servers that lists | |
1130 @samp{NEWGROUPS} without supporting the function properly.) | |
1131 | |
1132 This variable can also be a list of select methods. If so, Gnus will | |
1133 issue an @code{ask-server} command to each of the select methods, and | |
1134 subscribe them (or not) using the normal methods. This might be handy | |
1135 if you are monitoring a few servers for new groups. A side effect is | |
1136 that startup will take much longer, so you can meditate while waiting. | |
1137 Use the mantra ``dingnusdingnusdingnus'' to achieve permanent bliss. | |
1138 | |
1139 | |
1140 @node Subscription Methods | |
1141 @subsection Subscription Methods | |
1142 | |
1143 @vindex gnus-subscribe-newsgroup-method | |
1144 What Gnus does when it encounters a new group is determined by the | |
1145 @code{gnus-subscribe-newsgroup-method} variable. | |
1146 | |
1147 This variable should contain a function. This function will be called | |
1148 with the name of the new group as the only parameter. | |
1149 | |
1150 Some handy pre-fab functions are: | |
1151 | |
1152 @table @code | |
1153 | |
1154 @item gnus-subscribe-zombies | |
1155 @vindex gnus-subscribe-zombies | |
1156 Make all new groups zombies. This is the default. You can browse the | |
1157 zombies later (with @kbd{A z}) and either kill them all off properly | |
1158 (with @kbd{S z}), or subscribe to them (with @kbd{u}). | |
1159 | |
1160 @item gnus-subscribe-randomly | |
1161 @vindex gnus-subscribe-randomly | |
1162 Subscribe all new groups in arbitrary order. This really means that all | |
1163 new groups will be added at ``the top'' of the group buffer. | |
1164 | |
1165 @item gnus-subscribe-alphabetically | |
1166 @vindex gnus-subscribe-alphabetically | |
1167 Subscribe all new groups in alphabetical order. | |
1168 | |
1169 @item gnus-subscribe-hierarchically | |
1170 @vindex gnus-subscribe-hierarchically | |
1171 Subscribe all new groups hierarchically. The difference between this | |
1172 function and @code{gnus-subscribe-alphabetically} is slight. | |
1173 @code{gnus-subscribe-alphabetically} will subscribe new groups in a strictly | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1174 alphabetical fashion, while this function will enter groups into its |
25829 | 1175 hierarchy. So if you want to have the @samp{rec} hierarchy before the |
1176 @samp{comp} hierarchy, this function will not mess that configuration | |
1177 up. Or something like that. | |
1178 | |
1179 @item gnus-subscribe-interactively | |
1180 @vindex gnus-subscribe-interactively | |
1181 Subscribe new groups interactively. This means that Gnus will ask | |
1182 you about @strong{all} new groups. The groups you choose to subscribe | |
1183 to will be subscribed hierarchically. | |
1184 | |
1185 @item gnus-subscribe-killed | |
1186 @vindex gnus-subscribe-killed | |
1187 Kill all new groups. | |
1188 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1189 @item gnus-subscribe-topics |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1190 @vindex gnus-subscribe-topics |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1191 Put the groups into the topic that has a matching @code{subscribe} topic |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1192 parameter (@pxref{Topic Parameters}). For instance, a @code{subscribe} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1193 topic parameter that looks like |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1194 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1195 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1196 "nnslashdot" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1197 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1198 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1199 will mean that all groups that match that regex will be subscribed under |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1200 that topic. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1201 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1202 If no topics match the groups, the groups will be subscribed in the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1203 top-level topic. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1204 |
25829 | 1205 @end table |
1206 | |
1207 @vindex gnus-subscribe-hierarchical-interactive | |
1208 A closely related variable is | |
1209 @code{gnus-subscribe-hierarchical-interactive}. (That's quite a | |
1210 mouthful.) If this variable is non-@code{nil}, Gnus will ask you in a | |
1211 hierarchical fashion whether to subscribe to new groups or not. Gnus | |
1212 will ask you for each sub-hierarchy whether you want to descend the | |
1213 hierarchy or not. | |
1214 | |
1215 One common mistake is to set the variable a few paragraphs above | |
1216 (@code{gnus-subscribe-newsgroup-method}) to | |
1217 @code{gnus-subscribe-hierarchical-interactive}. This is an error. This | |
1218 will not work. This is ga-ga. So don't do it. | |
1219 | |
1220 | |
1221 @node Filtering New Groups | |
1222 @subsection Filtering New Groups | |
1223 | |
1224 A nice and portable way to control which new newsgroups should be | |
1225 subscribed (or ignored) is to put an @dfn{options} line at the start of | |
1226 the @file{.newsrc} file. Here's an example: | |
1227 | |
1228 @example | |
1229 options -n !alt.all !rec.all sci.all | |
1230 @end example | |
1231 | |
1232 @vindex gnus-subscribe-options-newsgroup-method | |
1233 This line obviously belongs to a serious-minded intellectual scientific | |
1234 person (or she may just be plain old boring), because it says that all | |
1235 groups that have names beginning with @samp{alt} and @samp{rec} should | |
1236 be ignored, and all groups with names beginning with @samp{sci} should | |
1237 be subscribed. Gnus will not use the normal subscription method for | |
1238 subscribing these groups. | |
1239 @code{gnus-subscribe-options-newsgroup-method} is used instead. This | |
1240 variable defaults to @code{gnus-subscribe-alphabetically}. | |
1241 | |
1242 @vindex gnus-options-not-subscribe | |
1243 @vindex gnus-options-subscribe | |
1244 If you don't want to mess with your @file{.newsrc} file, you can just | |
1245 set the two variables @code{gnus-options-subscribe} and | |
1246 @code{gnus-options-not-subscribe}. These two variables do exactly the | |
1247 same as the @file{.newsrc} @samp{options -n} trick. Both are regexps, | |
1248 and if the new group matches the former, it will be unconditionally | |
1249 subscribed, and if it matches the latter, it will be ignored. | |
1250 | |
1251 @vindex gnus-auto-subscribed-groups | |
1252 Yet another variable that meddles here is | |
1253 @code{gnus-auto-subscribed-groups}. It works exactly like | |
1254 @code{gnus-options-subscribe}, and is therefore really superfluous, but I | |
1255 thought it would be nice to have two of these. This variable is more | |
1256 meant for setting some ground rules, while the other variable is used | |
1257 more for user fiddling. By default this variable makes all new groups | |
39395 | 1258 that come from mail back ends (@code{nnml}, @code{nnbabyl}, |
25829 | 1259 @code{nnfolder}, @code{nnmbox}, and @code{nnmh}) subscribed. If you |
1260 don't like that, just set this variable to @code{nil}. | |
1261 | |
1262 New groups that match this regexp are subscribed using | |
1263 @code{gnus-subscribe-options-newsgroup-method}. | |
1264 | |
1265 | |
1266 @node Changing Servers | |
1267 @section Changing Servers | |
1268 @cindex changing servers | |
1269 | |
1270 Sometimes it is necessary to move from one @sc{nntp} server to another. | |
1271 This happens very rarely, but perhaps you change jobs, or one server is | |
1272 very flaky and you want to use another. | |
1273 | |
1274 Changing the server is pretty easy, right? You just change | |
1275 @code{gnus-select-method} to point to the new server? | |
1276 | |
1277 @emph{Wrong!} | |
1278 | |
1279 Article numbers are not (in any way) kept synchronized between different | |
1280 @sc{nntp} servers, and the only way Gnus keeps track of what articles | |
1281 you have read is by keeping track of article numbers. So when you | |
1282 change @code{gnus-select-method}, your @file{.newsrc} file becomes | |
1283 worthless. | |
1284 | |
1285 Gnus provides a few functions to attempt to translate a @file{.newsrc} | |
1286 file from one server to another. They all have one thing in | |
1287 common---they take a looong time to run. You don't want to use these | |
1288 functions more than absolutely necessary. | |
1289 | |
1290 @kindex M-x gnus-change-server | |
1291 @findex gnus-change-server | |
1292 If you have access to both servers, Gnus can request the headers for all | |
1293 the articles you have read and compare @code{Message-ID}s and map the | |
1294 article numbers of the read articles and article marks. The @kbd{M-x | |
1295 gnus-change-server} command will do this for all your native groups. It | |
1296 will prompt for the method you want to move to. | |
1297 | |
1298 @kindex M-x gnus-group-move-group-to-server | |
1299 @findex gnus-group-move-group-to-server | |
1300 You can also move individual groups with the @kbd{M-x | |
1301 gnus-group-move-group-to-server} command. This is useful if you want to | |
1302 move a (foreign) group from one server to another. | |
1303 | |
1304 @kindex M-x gnus-group-clear-data-on-native-groups | |
1305 @findex gnus-group-clear-data-on-native-groups | |
1306 If you don't have access to both the old and new server, all your marks | |
1307 and read ranges have become worthless. You can use the @kbd{M-x | |
1308 gnus-group-clear-data-on-native-groups} command to clear out all data | |
1309 that you have on your native groups. Use with caution. | |
1310 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1311 After changing servers, you @strong{must} move the cache hierarchy away, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1312 since the cached articles will have wrong article numbers, which will |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1313 affect which articles Gnus thinks are read. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1314 |
25829 | 1315 |
1316 @node Startup Files | |
1317 @section Startup Files | |
1318 @cindex startup files | |
1319 @cindex .newsrc | |
1320 @cindex .newsrc.el | |
1321 @cindex .newsrc.eld | |
1322 | |
1323 Now, you all know about the @file{.newsrc} file. All subscription | |
1324 information is traditionally stored in this file. | |
1325 | |
1326 Things got a bit more complicated with @sc{gnus}. In addition to | |
1327 keeping the @file{.newsrc} file updated, it also used a file called | |
1328 @file{.newsrc.el} for storing all the information that didn't fit into | |
1329 the @file{.newsrc} file. (Actually, it also duplicated everything in | |
1330 the @file{.newsrc} file.) @sc{gnus} would read whichever one of these | |
1331 files was the most recently saved, which enabled people to swap between | |
1332 @sc{gnus} and other newsreaders. | |
1333 | |
1334 That was kinda silly, so Gnus went one better: In addition to the | |
1335 @file{.newsrc} and @file{.newsrc.el} files, Gnus also has a file called | |
1336 @file{.newsrc.eld}. It will read whichever of these files that are most | |
1337 recent, but it will never write a @file{.newsrc.el} file. You should | |
1338 never delete the @file{.newsrc.eld} file---it contains much information | |
1339 not stored in the @file{.newsrc} file. | |
1340 | |
1341 @vindex gnus-save-newsrc-file | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1342 @vindex gnus-read-newsrc-file |
25829 | 1343 You can turn off writing the @file{.newsrc} file by setting |
1344 @code{gnus-save-newsrc-file} to @code{nil}, which means you can delete | |
1345 the file and save some space, as well as exiting from Gnus faster. | |
1346 However, this will make it impossible to use other newsreaders than | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1347 Gnus. But hey, who would want to, right? Similarly, setting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1348 @code{gnus-read-newsrc-file} to @code{nil} makes Gnus ignore the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1349 @file{.newsrc} file and any @file{.newsrc-SERVER} files, which is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1350 convenient if you have a tendency to use Netscape once in a while. |
25829 | 1351 |
1352 @vindex gnus-save-killed-list | |
1353 If @code{gnus-save-killed-list} (default @code{t}) is @code{nil}, Gnus | |
1354 will not save the list of killed groups to the startup file. This will | |
1355 save both time (when starting and quitting) and space (on disk). It | |
1356 will also mean that Gnus has no record of what groups are new or old, | |
1357 so the automatic new groups subscription methods become meaningless. | |
1358 You should always set @code{gnus-check-new-newsgroups} to @code{nil} or | |
1359 @code{ask-server} if you set this variable to @code{nil} (@pxref{New | |
1360 Groups}). This variable can also be a regular expression. If that's | |
1361 the case, remove all groups that do not match this regexp before | |
1362 saving. This can be useful in certain obscure situations that involve | |
1363 several servers where not all servers support @code{ask-server}. | |
1364 | |
1365 @vindex gnus-startup-file | |
1366 The @code{gnus-startup-file} variable says where the startup files are. | |
1367 The default value is @file{~/.newsrc}, with the Gnus (El Dingo) startup | |
1368 file being whatever that one is, with a @samp{.eld} appended. | |
1369 | |
1370 @vindex gnus-save-newsrc-hook | |
1371 @vindex gnus-save-quick-newsrc-hook | |
1372 @vindex gnus-save-standard-newsrc-hook | |
1373 @code{gnus-save-newsrc-hook} is called before saving any of the newsrc | |
1374 files, while @code{gnus-save-quick-newsrc-hook} is called just before | |
1375 saving the @file{.newsrc.eld} file, and | |
1376 @code{gnus-save-standard-newsrc-hook} is called just before saving the | |
1377 @file{.newsrc} file. The latter two are commonly used to turn version | |
1378 control on or off. Version control is on by default when saving the | |
1379 startup files. If you want to turn backup creation off, say something like: | |
1380 | |
1381 @lisp | |
1382 (defun turn-off-backup () | |
1383 (set (make-local-variable 'backup-inhibited) t)) | |
1384 | |
1385 (add-hook 'gnus-save-quick-newsrc-hook 'turn-off-backup) | |
1386 (add-hook 'gnus-save-standard-newsrc-hook 'turn-off-backup) | |
1387 @end lisp | |
1388 | |
1389 @vindex gnus-init-file | |
1390 When Gnus starts, it will read the @code{gnus-site-init-file} | |
1391 (@file{.../site-lisp/gnus} by default) and @code{gnus-init-file} | |
1392 (@file{~/.gnus} by default) files. These are normal Emacs Lisp files | |
1393 and can be used to avoid cluttering your @file{~/.emacs} and | |
1394 @file{site-init} files with Gnus stuff. Gnus will also check for files | |
1395 with the same names as these, but with @file{.elc} and @file{.el} | |
1396 suffixes. In other words, if you have set @code{gnus-init-file} to | |
1397 @file{~/.gnus}, it will look for @file{~/.gnus.elc}, @file{~/.gnus.el}, | |
1398 and finally @file{~/.gnus} (in this order). | |
1399 | |
1400 | |
1401 | |
1402 @node Auto Save | |
1403 @section Auto Save | |
1404 @cindex dribble file | |
1405 @cindex auto-save | |
1406 | |
1407 Whenever you do something that changes the Gnus data (reading articles, | |
1408 catching up, killing/subscribing groups), the change is added to a | |
1409 special @dfn{dribble buffer}. This buffer is auto-saved the normal | |
1410 Emacs way. If your Emacs should crash before you have saved the | |
1411 @file{.newsrc} files, all changes you have made can be recovered from | |
1412 this file. | |
1413 | |
1414 If Gnus detects this file at startup, it will ask the user whether to | |
1415 read it. The auto save file is deleted whenever the real startup file is | |
1416 saved. | |
1417 | |
1418 @vindex gnus-use-dribble-file | |
1419 If @code{gnus-use-dribble-file} is @code{nil}, Gnus won't create and | |
1420 maintain a dribble buffer. The default is @code{t}. | |
1421 | |
1422 @vindex gnus-dribble-directory | |
1423 Gnus will put the dribble file(s) in @code{gnus-dribble-directory}. If | |
1424 this variable is @code{nil}, which it is by default, Gnus will dribble | |
1425 into the directory where the @file{.newsrc} file is located. (This is | |
1426 normally the user's home directory.) The dribble file will get the same | |
1427 file permissions as the @code{.newsrc} file. | |
1428 | |
1429 @vindex gnus-always-read-dribble-file | |
1430 If @code{gnus-always-read-dribble-file} is non-@code{nil}, Gnus will | |
1431 read the dribble file on startup without querying the user. | |
1432 | |
1433 | |
1434 @node The Active File | |
1435 @section The Active File | |
1436 @cindex active file | |
1437 @cindex ignored groups | |
1438 | |
1439 When Gnus starts, or indeed whenever it tries to determine whether new | |
1440 articles have arrived, it reads the active file. This is a very large | |
1441 file that lists all the active groups and articles on the server. | |
1442 | |
1443 @vindex gnus-ignored-newsgroups | |
1444 Before examining the active file, Gnus deletes all lines that match the | |
1445 regexp @code{gnus-ignored-newsgroups}. This is done primarily to reject | |
1446 any groups with bogus names, but you can use this variable to make Gnus | |
1447 ignore hierarchies you aren't ever interested in. However, this is not | |
1448 recommended. In fact, it's highly discouraged. Instead, @pxref{New | |
1449 Groups} for an overview of other variables that can be used instead. | |
1450 | |
1451 @c This variable is | |
1452 @c @code{nil} by default, and will slow down active file handling somewhat | |
1453 @c if you set it to anything else. | |
1454 | |
1455 @vindex gnus-read-active-file | |
1456 @c @head | |
1457 The active file can be rather Huge, so if you have a slow network, you | |
1458 can set @code{gnus-read-active-file} to @code{nil} to prevent Gnus from | |
1459 reading the active file. This variable is @code{some} by default. | |
1460 | |
1461 Gnus will try to make do by getting information just on the groups that | |
1462 you actually subscribe to. | |
1463 | |
1464 Note that if you subscribe to lots and lots of groups, setting this | |
1465 variable to @code{nil} will probably make Gnus slower, not faster. At | |
1466 present, having this variable @code{nil} will slow Gnus down | |
1467 considerably, unless you read news over a 2400 baud modem. | |
1468 | |
1469 This variable can also have the value @code{some}. Gnus will then | |
1470 attempt to read active info only on the subscribed groups. On some | |
1471 servers this is quite fast (on sparkling, brand new INN servers that | |
1472 support the @code{LIST ACTIVE group} command), on others this isn't fast | |
1473 at all. In any case, @code{some} should be faster than @code{nil}, and | |
1474 is certainly faster than @code{t} over slow lines. | |
1475 | |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
1476 Some news servers (old versions of Leafnode and old versions of INN, for |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
1477 instance) do not support the @code{LIST ACTIVE group}. For these |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
1478 servers, @code{nil} is probably the most efficient value for this |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
1479 variable. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1480 |
25829 | 1481 If this variable is @code{nil}, Gnus will ask for group info in total |
1482 lock-step, which isn't very fast. If it is @code{some} and you use an | |
1483 @sc{nntp} server, Gnus will pump out commands as fast as it can, and | |
1484 read all the replies in one swoop. This will normally result in better | |
1485 performance, but if the server does not support the aforementioned | |
1486 @code{LIST ACTIVE group} command, this isn't very nice to the server. | |
1487 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1488 If you think that starting up Gnus takes too long, try all the three |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1489 different values for this variable and see what works best for you. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1490 |
25829 | 1491 In any case, if you use @code{some} or @code{nil}, you should definitely |
1492 kill all groups that you aren't interested in to speed things up. | |
1493 | |
1494 Note that this variable also affects active file retrieval from | |
1495 secondary select methods. | |
1496 | |
1497 | |
1498 @node Startup Variables | |
1499 @section Startup Variables | |
1500 | |
1501 @table @code | |
1502 | |
1503 @item gnus-load-hook | |
1504 @vindex gnus-load-hook | |
1505 A hook run while Gnus is being loaded. Note that this hook will | |
1506 normally be run just once in each Emacs session, no matter how many | |
1507 times you start Gnus. | |
1508 | |
1509 @item gnus-before-startup-hook | |
1510 @vindex gnus-before-startup-hook | |
1511 A hook run after starting up Gnus successfully. | |
1512 | |
1513 @item gnus-startup-hook | |
1514 @vindex gnus-startup-hook | |
1515 A hook run as the very last thing after starting up Gnus | |
1516 | |
1517 @item gnus-started-hook | |
1518 @vindex gnus-started-hook | |
1519 A hook that is run as the very last thing after starting up Gnus | |
1520 successfully. | |
1521 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1522 @item gnus-setup-news-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1523 @vindex gnus-setup-news-hook |
25829 | 1524 A hook that is run after reading the @file{.newsrc} file(s), but before |
1525 generating the group buffer. | |
1526 | |
1527 @item gnus-check-bogus-newsgroups | |
1528 @vindex gnus-check-bogus-newsgroups | |
1529 If non-@code{nil}, Gnus will check for and delete all bogus groups at | |
1530 startup. A @dfn{bogus group} is a group that you have in your | |
1531 @file{.newsrc} file, but doesn't exist on the news server. Checking for | |
1532 bogus groups can take quite a while, so to save time and resources it's | |
1533 best to leave this option off, and do the checking for bogus groups once | |
1534 in a while from the group buffer instead (@pxref{Group Maintenance}). | |
1535 | |
1536 @item gnus-inhibit-startup-message | |
1537 @vindex gnus-inhibit-startup-message | |
1538 If non-@code{nil}, the startup message won't be displayed. That way, | |
1539 your boss might not notice as easily that you are reading news instead | |
1540 of doing your job. Note that this variable is used before | |
1541 @file{.gnus.el} is loaded, so it should be set in @code{.emacs} instead. | |
1542 | |
1543 @item gnus-no-groups-message | |
1544 @vindex gnus-no-groups-message | |
1545 Message displayed by Gnus when no groups are available. | |
1546 | |
1547 @item gnus-play-startup-jingle | |
1548 @vindex gnus-play-startup-jingle | |
1549 If non-@code{nil}, play the Gnus jingle at startup. | |
1550 | |
1551 @item gnus-startup-jingle | |
1552 @vindex gnus-startup-jingle | |
1553 Jingle to be played if the above variable is non-@code{nil}. The | |
1554 default is @samp{Tuxedomoon.Jingle4.au}. | |
1555 | |
1556 @end table | |
1557 | |
1558 | |
1559 @node The Group Buffer | |
1560 @chapter The Group Buffer | |
1561 @cindex group buffer | |
1562 | |
1563 The @dfn{group buffer} lists all (or parts) of the available groups. It | |
1564 is the first buffer shown when Gnus starts, and will never be killed as | |
1565 long as Gnus is active. | |
1566 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1567 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1568 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1569 \gnusfigure{The Group Buffer}{320}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1570 \put(75,50){\epsfig{figure=tmp/group.ps,height=9cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1571 \put(120,37){\makebox(0,0)[t]{Buffer name}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1572 \put(120,38){\vector(1,2){10}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1573 \put(40,60){\makebox(0,0)[r]{Mode line}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1574 \put(40,58){\vector(1,0){30}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1575 \put(200,28){\makebox(0,0)[t]{Native select method}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1576 \put(200,26){\vector(-1,2){15}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1577 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1578 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1579 @end iftex |
25829 | 1580 |
1581 @menu | |
1582 * Group Buffer Format:: Information listed and how you can change it. | |
1583 * Group Maneuvering:: Commands for moving in the group buffer. | |
1584 * Selecting a Group:: Actually reading news. | |
1585 * Group Data:: Changing the info for a group. | |
1586 * Subscription Commands:: Unsubscribing, killing, subscribing. | |
1587 * Group Levels:: Levels? What are those, then? | |
1588 * Group Score:: A mechanism for finding out what groups you like. | |
1589 * Marking Groups:: You can mark groups for later processing. | |
1590 * Foreign Groups:: Creating and editing groups. | |
1591 * Group Parameters:: Each group may have different parameters set. | |
1592 * Listing Groups:: Gnus can list various subsets of the groups. | |
1593 * Sorting Groups:: Re-arrange the group order. | |
1594 * Group Maintenance:: Maintaining a tidy @file{.newsrc} file. | |
1595 * Browse Foreign Server:: You can browse a server. See what it has to offer. | |
1596 * Exiting Gnus:: Stop reading news and get some work done. | |
1597 * Group Topics:: A folding group mode divided into topics. | |
1598 * Misc Group Stuff:: Other stuff that you can to do. | |
1599 @end menu | |
1600 | |
1601 | |
1602 @node Group Buffer Format | |
1603 @section Group Buffer Format | |
1604 | |
1605 @menu | |
1606 * Group Line Specification:: Deciding how the group buffer is to look. | |
1607 * Group Modeline Specification:: The group buffer modeline. | |
1608 * Group Highlighting:: Having nice colors in the group buffer. | |
1609 @end menu | |
1610 | |
1611 | |
1612 @node Group Line Specification | |
1613 @subsection Group Line Specification | |
1614 @cindex group buffer format | |
1615 | |
1616 The default format of the group buffer is nice and dull, but you can | |
1617 make it as exciting and ugly as you feel like. | |
1618 | |
1619 Here's a couple of example group lines: | |
1620 | |
1621 @example | |
1622 25: news.announce.newusers | |
1623 * 0: alt.fan.andrea-dworkin | |
1624 @end example | |
1625 | |
1626 Quite simple, huh? | |
1627 | |
1628 You can see that there are 25 unread articles in | |
1629 @samp{news.announce.newusers}. There are no unread articles, but some | |
1630 ticked articles, in @samp{alt.fan.andrea-dworkin} (see that little | |
1631 asterisk at the beginning of the line?). | |
1632 | |
1633 @vindex gnus-group-line-format | |
1634 You can change that format to whatever you want by fiddling with the | |
1635 @code{gnus-group-line-format} variable. This variable works along the | |
1636 lines of a @code{format} specification, which is pretty much the same as | |
1637 a @code{printf} specifications, for those of you who use (feh!) C. | |
1638 @xref{Formatting Variables}. | |
1639 | |
1640 @samp{%M%S%5y: %(%g%)\n} is the value that produced those lines above. | |
1641 | |
1642 There should always be a colon on the line; the cursor always moves to | |
1643 the colon after performing an operation. Nothing else is required---not | |
1644 even the group name. All displayed text is just window dressing, and is | |
1645 never examined by Gnus. Gnus stores all real information it needs using | |
1646 text properties. | |
1647 | |
1648 (Note that if you make a really strange, wonderful, spreadsheet-like | |
1649 layout, everybody will believe you are hard at work with the accounting | |
1650 instead of wasting time reading news.) | |
1651 | |
1652 Here's a list of all available format characters: | |
1653 | |
1654 @table @samp | |
1655 | |
1656 @item M | |
1657 An asterisk if the group only has marked articles. | |
1658 | |
1659 @item S | |
1660 Whether the group is subscribed. | |
1661 | |
1662 @item L | |
1663 Level of subscribedness. | |
1664 | |
1665 @item N | |
1666 Number of unread articles. | |
1667 | |
1668 @item I | |
1669 Number of dormant articles. | |
1670 | |
1671 @item T | |
1672 Number of ticked articles. | |
1673 | |
1674 @item R | |
1675 Number of read articles. | |
1676 | |
1677 @item t | |
1678 Estimated total number of articles. (This is really @var{max-number} | |
1679 minus @var{min-number} plus 1.) | |
1680 | |
1681 @item y | |
1682 Number of unread, unticked, non-dormant articles. | |
1683 | |
1684 @item i | |
1685 Number of ticked and dormant articles. | |
1686 | |
1687 @item g | |
1688 Full group name. | |
1689 | |
1690 @item G | |
1691 Group name. | |
1692 | |
1693 @item D | |
1694 Newsgroup description. | |
1695 | |
1696 @item o | |
1697 @samp{m} if moderated. | |
1698 | |
1699 @item O | |
1700 @samp{(m)} if moderated. | |
1701 | |
1702 @item s | |
1703 Select method. | |
1704 | |
1705 @item n | |
1706 Select from where. | |
1707 | |
1708 @item z | |
1709 A string that looks like @samp{<%s:%n>} if a foreign select method is | |
1710 used. | |
1711 | |
1712 @item P | |
1713 Indentation based on the level of the topic (@pxref{Group Topics}). | |
1714 | |
1715 @item c | |
1716 @vindex gnus-group-uncollapsed-levels | |
1717 Short (collapsed) group name. The @code{gnus-group-uncollapsed-levels} | |
1718 variable says how many levels to leave at the end of the group name. | |
1719 The default is 1---this will mean that group names like | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1720 @samp{gnu.emacs.gnus} will be shortened to @samp{g.e.gnus}. |
25829 | 1721 |
1722 @item m | |
1723 @vindex gnus-new-mail-mark | |
1724 @cindex % | |
1725 @samp{%} (@code{gnus-new-mail-mark}) if there has arrived new mail to | |
1726 the group lately. | |
1727 | |
35614 | 1728 @item p |
1729 @samp{#} (@code{gnus-process-mark}) if the group is process marked. | |
1730 | |
25829 | 1731 @item d |
1732 A string that says when you last read the group (@pxref{Group | |
1733 Timestamp}). | |
1734 | |
1735 @item u | |
1736 User defined specifier. The next character in the format string should | |
1737 be a letter. Gnus will call the function | |
1738 @code{gnus-user-format-function-}@samp{X}, where @samp{X} is the letter | |
1739 following @samp{%u}. The function will be passed a single dummy | |
1740 parameter as argument. The function should return a string, which will | |
1741 be inserted into the buffer just like information from any other | |
1742 specifier. | |
1743 @end table | |
1744 | |
1745 @cindex * | |
1746 All the ``number-of'' specs will be filled with an asterisk (@samp{*}) | |
1747 if no info is available---for instance, if it is a non-activated foreign | |
1748 group, or a bogus native group. | |
1749 | |
1750 | |
1751 @node Group Modeline Specification | |
1752 @subsection Group Modeline Specification | |
1753 @cindex group modeline | |
1754 | |
1755 @vindex gnus-group-mode-line-format | |
1756 The mode line can be changed by setting | |
1757 @code{gnus-group-mode-line-format} (@pxref{Mode Line Formatting}). It | |
1758 doesn't understand that many format specifiers: | |
1759 | |
1760 @table @samp | |
1761 @item S | |
1762 The native news server. | |
1763 @item M | |
1764 The native select method. | |
1765 @end table | |
1766 | |
1767 | |
1768 @node Group Highlighting | |
1769 @subsection Group Highlighting | |
1770 @cindex highlighting | |
1771 @cindex group highlighting | |
1772 | |
1773 @vindex gnus-group-highlight | |
1774 Highlighting in the group buffer is controlled by the | |
1775 @code{gnus-group-highlight} variable. This is an alist with elements | |
26290 | 1776 that look like @code{(@var{form} . @var{face})}. If @var{form} evaluates to |
25829 | 1777 something non-@code{nil}, the @var{face} will be used on the line. |
1778 | |
1779 Here's an example value for this variable that might look nice if the | |
1780 background is dark: | |
1781 | |
1782 @lisp | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1783 (cond (window-system |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1784 (setq custom-background-mode 'light) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1785 (defface my-group-face-1 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1786 '((t (:foreground "Red" :bold t))) "First group face") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1787 (defface my-group-face-2 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1788 '((t (:foreground "DarkSeaGreen4" :bold t))) "Second group face") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1789 (defface my-group-face-3 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1790 '((t (:foreground "Green4" :bold t))) "Third group face") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1791 (defface my-group-face-4 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1792 '((t (:foreground "SteelBlue" :bold t))) "Fourth group face") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1793 (defface my-group-face-5 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1794 '((t (:foreground "Blue" :bold t))) "Fifth group face"))) |
25829 | 1795 |
1796 (setq gnus-group-highlight | |
1797 '(((> unread 200) . my-group-face-1) | |
1798 ((and (< level 3) (zerop unread)) . my-group-face-2) | |
1799 ((< level 3) . my-group-face-3) | |
1800 ((zerop unread) . my-group-face-4) | |
1801 (t . my-group-face-5))) | |
1802 @end lisp | |
1803 | |
1804 Also @pxref{Faces and Fonts}. | |
1805 | |
1806 Variables that are dynamically bound when the forms are evaluated | |
1807 include: | |
1808 | |
1809 @table @code | |
1810 @item group | |
1811 The group name. | |
1812 @item unread | |
1813 The number of unread articles in the group. | |
1814 @item method | |
1815 The select method. | |
1816 @item mailp | |
1817 Whether the group is a mail group. | |
1818 @item level | |
1819 The level of the group. | |
1820 @item score | |
1821 The score of the group. | |
1822 @item ticked | |
1823 The number of ticked articles in the group. | |
1824 @item total | |
1825 The total number of articles in the group. Or rather, MAX-NUMBER minus | |
1826 MIN-NUMBER plus one. | |
1827 @item topic | |
1828 When using the topic minor mode, this variable is bound to the current | |
1829 topic being inserted. | |
1830 @end table | |
1831 | |
1832 When the forms are @code{eval}ed, point is at the beginning of the line | |
1833 of the group in question, so you can use many of the normal Gnus | |
1834 functions for snarfing info on the group. | |
1835 | |
1836 @vindex gnus-group-update-hook | |
1837 @findex gnus-group-highlight-line | |
1838 @code{gnus-group-update-hook} is called when a group line is changed. | |
1839 It will not be called when @code{gnus-visual} is @code{nil}. This hook | |
1840 calls @code{gnus-group-highlight-line} by default. | |
1841 | |
1842 | |
1843 @node Group Maneuvering | |
1844 @section Group Maneuvering | |
1845 @cindex group movement | |
1846 | |
1847 All movement commands understand the numeric prefix and will behave as | |
1848 expected, hopefully. | |
1849 | |
1850 @table @kbd | |
1851 | |
1852 @item n | |
36028 | 1853 @kindex n @r{(Group)} |
25829 | 1854 @findex gnus-group-next-unread-group |
1855 Go to the next group that has unread articles | |
1856 (@code{gnus-group-next-unread-group}). | |
1857 | |
1858 @item p | |
36028 | 1859 @itemx @key{DEL} |
1860 @kindex @key{DEL} @r{(Group)} | |
1861 @kindex p @r{(Group)} | |
25829 | 1862 @findex gnus-group-prev-unread-group |
1863 Go to the previous group that has unread articles | |
1864 (@code{gnus-group-prev-unread-group}). | |
1865 | |
1866 @item N | |
36028 | 1867 @kindex N @r{(Group)} |
25829 | 1868 @findex gnus-group-next-group |
1869 Go to the next group (@code{gnus-group-next-group}). | |
1870 | |
1871 @item P | |
36028 | 1872 @kindex P @r{(Group)} |
25829 | 1873 @findex gnus-group-prev-group |
1874 Go to the previous group (@code{gnus-group-prev-group}). | |
1875 | |
1876 @item M-n | |
36028 | 1877 @kindex M-n @r{(Group)} |
25829 | 1878 @findex gnus-group-next-unread-group-same-level |
1879 Go to the next unread group on the same (or lower) level | |
1880 (@code{gnus-group-next-unread-group-same-level}). | |
1881 | |
1882 @item M-p | |
36028 | 1883 @kindex M-p @r{(Group)} |
25829 | 1884 @findex gnus-group-prev-unread-group-same-level |
1885 Go to the previous unread group on the same (or lower) level | |
1886 (@code{gnus-group-prev-unread-group-same-level}). | |
1887 @end table | |
1888 | |
1889 Three commands for jumping to groups: | |
1890 | |
1891 @table @kbd | |
1892 | |
1893 @item j | |
36028 | 1894 @kindex j @r{(Group)} |
25829 | 1895 @findex gnus-group-jump-to-group |
1896 Jump to a group (and make it visible if it isn't already) | |
1897 (@code{gnus-group-jump-to-group}). Killed groups can be jumped to, just | |
1898 like living groups. | |
1899 | |
1900 @item , | |
36028 | 1901 @kindex , @r{(Group)} |
25829 | 1902 @findex gnus-group-best-unread-group |
1903 Jump to the unread group with the lowest level | |
1904 (@code{gnus-group-best-unread-group}). | |
1905 | |
1906 @item . | |
36028 | 1907 @kindex . @r{(Group)} |
25829 | 1908 @findex gnus-group-first-unread-group |
1909 Jump to the first group with unread articles | |
1910 (@code{gnus-group-first-unread-group}). | |
1911 @end table | |
1912 | |
1913 @vindex gnus-group-goto-unread | |
1914 If @code{gnus-group-goto-unread} is @code{nil}, all the movement | |
1915 commands will move to the next group, not the next unread group. Even | |
1916 the commands that say they move to the next unread group. The default | |
1917 is @code{t}. | |
1918 | |
1919 | |
1920 @node Selecting a Group | |
1921 @section Selecting a Group | |
1922 @cindex group selection | |
1923 | |
1924 @table @kbd | |
1925 | |
36028 | 1926 @item @key{SPC} |
1927 @kindex @key{SPC} @r{(Group)} | |
25829 | 1928 @findex gnus-group-read-group |
1929 Select the current group, switch to the summary buffer and display the | |
1930 first unread article (@code{gnus-group-read-group}). If there are no | |
1931 unread articles in the group, or if you give a non-numerical prefix to | |
1932 this command, Gnus will offer to fetch all the old articles in this | |
1933 group from the server. If you give a numerical prefix @var{N}, @var{N} | |
1934 determines the number of articles Gnus will fetch. If @var{N} is | |
1935 positive, Gnus fetches the @var{N} newest articles, if @var{N} is | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1936 negative, Gnus fetches the @code{abs(@var{N})} oldest articles. |
25829 | 1937 |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
1938 Thus, @kbd{SPC} enters the group normally, @kbd{C-u SPC} offers old |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
1939 articles, @kbd{C-u 4 2 SPC} fetches the 42 newest articles, and @kbd{C-u |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
1940 - 4 2 SPC} fetches the 42 oldest ones. |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
1941 |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
1942 When you are in the group (in the Summary buffer), you can type |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
1943 @kbd{M-g} to fetch new articles, or @kbd{C-u M-g} to also show the old |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
1944 ones. |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
1945 |
36028 | 1946 @item @key{RET} |
1947 @kindex @key{RET} @r{(Group)} | |
1948 | |
25829 | 1949 @findex gnus-group-select-group |
1950 Select the current group and switch to the summary buffer | |
1951 (@code{gnus-group-select-group}). Takes the same arguments as | |
1952 @code{gnus-group-read-group}---the only difference is that this command | |
1953 does not display the first unread article automatically upon group | |
1954 entry. | |
1955 | |
36028 | 1956 @item M-@key{RET} |
1957 @kindex M-@key{RET} @r{(Group)} | |
25829 | 1958 @findex gnus-group-quick-select-group |
1959 This does the same as the command above, but tries to do it with the | |
1960 minimum amount of fuzz (@code{gnus-group-quick-select-group}). No | |
1961 scoring/killing will be performed, there will be no highlights and no | |
1962 expunging. This might be useful if you're in a real hurry and have to | |
1963 enter some humongous group. If you give a 0 prefix to this command | |
36028 | 1964 (i.e., @kbd{0 M-@key{RET}}), Gnus won't even generate the summary buffer, |
25829 | 1965 which is useful if you want to toggle threading before generating the |
1966 summary buffer (@pxref{Summary Generation Commands}). | |
1967 | |
36028 | 1968 @item M-@key{SPC} |
1969 @kindex M-@key{SPC} @r{(Group)} | |
25829 | 1970 @findex gnus-group-visible-select-group |
36028 | 1971 This is yet one more command that does the same as the @key{RET} |
25829 | 1972 command, but this one does it without expunging and hiding dormants |
1973 (@code{gnus-group-visible-select-group}). | |
1974 | |
40705 | 1975 @item C-M-@key{RET} |
1976 @kindex C-M-@key{RET} @r{(Group)} | |
25829 | 1977 @findex gnus-group-select-group-ephemerally |
1978 Finally, this command selects the current group ephemerally without | |
1979 doing any processing of its contents | |
1980 (@code{gnus-group-select-group-ephemerally}). Even threading has been | |
1981 turned off. Everything you do in the group after selecting it in this | |
1982 manner will have no permanent effects. | |
1983 | |
1984 @end table | |
1985 | |
1986 @vindex gnus-large-newsgroup | |
1987 The @code{gnus-large-newsgroup} variable says what Gnus should consider | |
1988 to be a big group. This is 200 by default. If the group has more | |
1989 (unread and/or ticked) articles than this, Gnus will query the user | |
1990 before entering the group. The user can then specify how many articles | |
1991 should be fetched from the server. If the user specifies a negative | |
1992 number (@code{-n}), the @code{n} oldest articles will be fetched. If it | |
1993 is positive, the @code{n} articles that have arrived most recently will | |
1994 be fetched. | |
1995 | |
1996 @vindex gnus-select-group-hook | |
1997 @vindex gnus-auto-select-first | |
1998 @code{gnus-auto-select-first} control whether any articles are selected | |
36028 | 1999 automatically when entering a group with the @key{SPC} command. |
25829 | 2000 |
2001 @table @code | |
2002 | |
2003 @item nil | |
2004 Don't select any articles when entering the group. Just display the | |
2005 full summary buffer. | |
2006 | |
2007 @item t | |
2008 Select the first unread article when entering the group. | |
2009 | |
2010 @item best | |
2011 Select the highest scored article in the group when entering the | |
2012 group. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2013 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2014 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2015 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2016 This variable can also be a function. In that case, that function will |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2017 be called to place point on a subject line, and/or select some article. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2018 Useful functions include: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2019 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2020 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2021 @item gnus-summary-first-unread-subject |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2022 Place point on the subject line of the first unread article, but |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2023 don't select the article. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2024 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2025 @item gnus-summary-first-unread-article |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2026 Select the first unread article. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2027 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2028 @item gnus-summary-best-unread-article |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2029 Select the highest-scored unread article. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2030 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2031 |
25829 | 2032 |
2033 If you want to prevent automatic selection in some group (say, in a | |
2034 binary group with Huge articles) you can set this variable to @code{nil} | |
2035 in @code{gnus-select-group-hook}, which is called when a group is | |
2036 selected. | |
2037 | |
2038 | |
2039 @node Subscription Commands | |
2040 @section Subscription Commands | |
2041 @cindex subscription | |
2042 | |
2043 @table @kbd | |
2044 | |
2045 @item S t | |
2046 @itemx u | |
36028 | 2047 @kindex S t @r{(Group)} |
2048 @kindex u @r{(Group)} | |
25829 | 2049 @findex gnus-group-unsubscribe-current-group |
2050 @c @icon{gnus-group-unsubscribe} | |
2051 Toggle subscription to the current group | |
2052 (@code{gnus-group-unsubscribe-current-group}). | |
2053 | |
2054 @item S s | |
2055 @itemx U | |
36028 | 2056 @kindex S s @r{(Group)} |
2057 @kindex U @r{(Group)} | |
25829 | 2058 @findex gnus-group-unsubscribe-group |
2059 Prompt for a group to subscribe, and then subscribe it. If it was | |
2060 subscribed already, unsubscribe it instead | |
2061 (@code{gnus-group-unsubscribe-group}). | |
2062 | |
2063 @item S k | |
2064 @itemx C-k | |
36028 | 2065 @kindex S k @r{(Group)} |
2066 @kindex C-k @r{(Group)} | |
25829 | 2067 @findex gnus-group-kill-group |
2068 @c @icon{gnus-group-kill-group} | |
2069 Kill the current group (@code{gnus-group-kill-group}). | |
2070 | |
2071 @item S y | |
2072 @itemx C-y | |
36028 | 2073 @kindex S y @r{(Group)} |
2074 @kindex C-y @r{(Group)} | |
25829 | 2075 @findex gnus-group-yank-group |
2076 Yank the last killed group (@code{gnus-group-yank-group}). | |
2077 | |
2078 @item C-x C-t | |
36028 | 2079 @kindex C-x C-t @r{(Group)} |
25829 | 2080 @findex gnus-group-transpose-groups |
2081 Transpose two groups (@code{gnus-group-transpose-groups}). This isn't | |
2082 really a subscription command, but you can use it instead of a | |
2083 kill-and-yank sequence sometimes. | |
2084 | |
2085 @item S w | |
2086 @itemx C-w | |
36028 | 2087 @kindex S w @r{(Group)} |
2088 @kindex C-w @r{(Group)} | |
25829 | 2089 @findex gnus-group-kill-region |
2090 Kill all groups in the region (@code{gnus-group-kill-region}). | |
2091 | |
2092 @item S z | |
36028 | 2093 @kindex S z @r{(Group)} |
25829 | 2094 @findex gnus-group-kill-all-zombies |
2095 Kill all zombie groups (@code{gnus-group-kill-all-zombies}). | |
2096 | |
2097 @item S C-k | |
36028 | 2098 @kindex S C-k @r{(Group)} |
25829 | 2099 @findex gnus-group-kill-level |
2100 Kill all groups on a certain level (@code{gnus-group-kill-level}). | |
2101 These groups can't be yanked back after killing, so this command should | |
2102 be used with some caution. The only time where this command comes in | |
2103 really handy is when you have a @file{.newsrc} with lots of unsubscribed | |
2104 groups that you want to get rid off. @kbd{S C-k} on level 7 will | |
2105 kill off all unsubscribed groups that do not have message numbers in the | |
2106 @file{.newsrc} file. | |
2107 | |
2108 @end table | |
2109 | |
2110 Also @pxref{Group Levels}. | |
2111 | |
2112 | |
2113 @node Group Data | |
2114 @section Group Data | |
2115 | |
2116 @table @kbd | |
2117 | |
2118 @item c | |
36028 | 2119 @kindex c @r{(Group)} |
25829 | 2120 @findex gnus-group-catchup-current |
2121 @vindex gnus-group-catchup-group-hook | |
2122 @c @icon{gnus-group-catchup-current} | |
2123 Mark all unticked articles in this group as read | |
2124 (@code{gnus-group-catchup-current}). | |
2125 @code{gnus-group-catchup-group-hook} is called when catching up a group from | |
2126 the group buffer. | |
2127 | |
2128 @item C | |
36028 | 2129 @kindex C @r{(Group)} |
25829 | 2130 @findex gnus-group-catchup-current-all |
2131 Mark all articles in this group, even the ticked ones, as read | |
2132 (@code{gnus-group-catchup-current-all}). | |
2133 | |
2134 @item M-c | |
36028 | 2135 @kindex M-c @r{(Group)} |
25829 | 2136 @findex gnus-group-clear-data |
2137 Clear the data from the current group---nix out marks and the list of | |
2138 read articles (@code{gnus-group-clear-data}). | |
2139 | |
2140 @item M-x gnus-group-clear-data-on-native-groups | |
2141 @kindex M-x gnus-group-clear-data-on-native-groups | |
2142 @findex gnus-group-clear-data-on-native-groups | |
2143 If you have switched from one @sc{nntp} server to another, all your marks | |
2144 and read ranges have become worthless. You can use this command to | |
2145 clear out all data that you have on your native groups. Use with | |
2146 caution. | |
2147 | |
2148 @end table | |
2149 | |
2150 | |
2151 @node Group Levels | |
2152 @section Group Levels | |
2153 @cindex group level | |
2154 @cindex level | |
2155 | |
2156 All groups have a level of @dfn{subscribedness}. For instance, if a | |
2157 group is on level 2, it is more subscribed than a group on level 5. You | |
2158 can ask Gnus to just list groups on a given level or lower | |
2159 (@pxref{Listing Groups}), or to just check for new articles in groups on | |
2160 a given level or lower (@pxref{Scanning New Messages}). | |
2161 | |
2162 Remember: The higher the level of the group, the less important it is. | |
2163 | |
2164 @table @kbd | |
2165 | |
2166 @item S l | |
36028 | 2167 @kindex S l @r{(Group)} |
25829 | 2168 @findex gnus-group-set-current-level |
2169 Set the level of the current group. If a numeric prefix is given, the | |
2170 next @var{n} groups will have their levels set. The user will be | |
2171 prompted for a level. | |
2172 @end table | |
2173 | |
2174 @vindex gnus-level-killed | |
2175 @vindex gnus-level-zombie | |
2176 @vindex gnus-level-unsubscribed | |
2177 @vindex gnus-level-subscribed | |
2178 Gnus considers groups from levels 1 to | |
2179 @code{gnus-level-subscribed} (inclusive) (default 5) to be subscribed, | |
2180 @code{gnus-level-subscribed} (exclusive) and | |
2181 @code{gnus-level-unsubscribed} (inclusive) (default 7) to be | |
2182 unsubscribed, @code{gnus-level-zombie} to be zombies (walking dead) | |
2183 (default 8) and @code{gnus-level-killed} to be killed (completely dead) | |
2184 (default 9). Gnus treats subscribed and unsubscribed groups exactly the | |
2185 same, but zombie and killed groups have no information on what articles | |
2186 you have read, etc, stored. This distinction between dead and living | |
2187 groups isn't done because it is nice or clever, it is done purely for | |
2188 reasons of efficiency. | |
2189 | |
2190 It is recommended that you keep all your mail groups (if any) on quite | |
2191 low levels (e.g. 1 or 2). | |
2192 | |
33078 | 2193 Maybe the following description of the default behavior of Gnus helps to |
2194 understand what these levels are all about. By default, Gnus shows you | |
2195 subscribed nonempty groups, but by hitting @kbd{L} you can have it show | |
2196 empty subscribed groups and unsubscribed groups, too. Type @kbd{l} to | |
2197 go back to showing nonempty subscribed groups again. Thus, unsubscribed | |
2198 groups are hidden, in a way. | |
2199 | |
2200 Zombie and killed groups are similar to unsubscribed groups in that they | |
2201 are hidden by default. But they are different from subscribed and | |
2202 unsubscribed groups in that Gnus doesn't ask the news server for | |
2203 information (number of messages, number of unread messages) on zombie | |
2204 and killed groups. Normally, you use @kbd{C-k} to kill the groups you | |
2205 aren't interested in. If most groups are killed, Gnus is faster. | |
2206 | |
2207 Why does Gnus distinguish between zombie and killed groups? Well, when | |
2208 a new group arrives on the server, Gnus by default makes it a zombie | |
2209 group. This means that you are normally not bothered with new groups, | |
2210 but you can type @kbd{A z} to get a list of all new groups. Subscribe | |
2211 the ones you like and kill the ones you don't want. (@kbd{A k} shows a | |
2212 list of killed groups.) | |
2213 | |
25829 | 2214 If you want to play with the level variables, you should show some care. |
2215 Set them once, and don't touch them ever again. Better yet, don't touch | |
2216 them at all unless you know exactly what you're doing. | |
2217 | |
2218 @vindex gnus-level-default-unsubscribed | |
2219 @vindex gnus-level-default-subscribed | |
2220 Two closely related variables are @code{gnus-level-default-subscribed} | |
2221 (default 3) and @code{gnus-level-default-unsubscribed} (default 6), | |
2222 which are the levels that new groups will be put on if they are | |
2223 (un)subscribed. These two variables should, of course, be inside the | |
2224 relevant valid ranges. | |
2225 | |
2226 @vindex gnus-keep-same-level | |
2227 If @code{gnus-keep-same-level} is non-@code{nil}, some movement commands | |
2228 will only move to groups of the same level (or lower). In | |
2229 particular, going from the last article in one group to the next group | |
2230 will go to the next group of the same level (or lower). This might be | |
2231 handy if you want to read the most important groups before you read the | |
2232 rest. | |
2233 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2234 If this variable is @code{best}, Gnus will make the next newsgroup the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2235 one with the best level. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2236 |
25829 | 2237 @vindex gnus-group-default-list-level |
2238 All groups with a level less than or equal to | |
2239 @code{gnus-group-default-list-level} will be listed in the group buffer | |
2240 by default. | |
2241 | |
2242 @vindex gnus-group-list-inactive-groups | |
2243 If @code{gnus-group-list-inactive-groups} is non-@code{nil}, non-active | |
2244 groups will be listed along with the unread groups. This variable is | |
2245 @code{t} by default. If it is @code{nil}, inactive groups won't be | |
2246 listed. | |
2247 | |
2248 @vindex gnus-group-use-permanent-levels | |
2249 If @code{gnus-group-use-permanent-levels} is non-@code{nil}, once you | |
2250 give a level prefix to @kbd{g} or @kbd{l}, all subsequent commands will | |
2251 use this level as the ``work'' level. | |
2252 | |
2253 @vindex gnus-activate-level | |
2254 Gnus will normally just activate (i. e., query the server about) groups | |
2255 on level @code{gnus-activate-level} or less. If you don't want to | |
2256 activate unsubscribed groups, for instance, you might set this variable | |
2257 to 5. The default is 6. | |
2258 | |
2259 | |
2260 @node Group Score | |
2261 @section Group Score | |
2262 @cindex group score | |
2263 @cindex group rank | |
2264 @cindex rank | |
2265 | |
2266 You would normally keep important groups on high levels, but that scheme | |
2267 is somewhat restrictive. Don't you wish you could have Gnus sort the | |
2268 group buffer according to how often you read groups, perhaps? Within | |
2269 reason? | |
2270 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2271 This is what @dfn{group score} is for. You can have Gnus assign a score |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2272 to each group through the mechanism described below. You can then sort |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2273 the group buffer based on this score. Alternatively, you can sort on |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2274 score and then level. (Taken together, the level and the score is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2275 called the @dfn{rank} of the group. A group that is on level 4 and has |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2276 a score of 1 has a higher rank than a group on level 5 that has a score |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2277 of 300. (The level is the most significant part and the score is the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2278 least significant part.)) |
25829 | 2279 |
2280 @findex gnus-summary-bubble-group | |
2281 If you want groups you read often to get higher scores than groups you | |
2282 read seldom you can add the @code{gnus-summary-bubble-group} function to | |
2283 the @code{gnus-summary-exit-hook} hook. This will result (after | |
2284 sorting) in a bubbling sort of action. If you want to see that in | |
2285 action after each summary exit, you can add | |
2286 @code{gnus-group-sort-groups-by-rank} or | |
2287 @code{gnus-group-sort-groups-by-score} to the same hook, but that will | |
2288 slow things down somewhat. | |
2289 | |
2290 | |
2291 @node Marking Groups | |
2292 @section Marking Groups | |
2293 @cindex marking groups | |
2294 | |
2295 If you want to perform some command on several groups, and they appear | |
2296 subsequently in the group buffer, you would normally just give a | |
2297 numerical prefix to the command. Most group commands will then do your | |
2298 bidding on those groups. | |
2299 | |
2300 However, if the groups are not in sequential order, you can still | |
2301 perform a command on several groups. You simply mark the groups first | |
2302 with the process mark and then execute the command. | |
2303 | |
2304 @table @kbd | |
2305 | |
2306 @item # | |
36028 | 2307 @kindex # @r{(Group)} |
25829 | 2308 @itemx M m |
36028 | 2309 @kindex M m @r{(Group)} |
25829 | 2310 @findex gnus-group-mark-group |
2311 Set the mark on the current group (@code{gnus-group-mark-group}). | |
2312 | |
2313 @item M-# | |
36028 | 2314 @kindex M-# @r{(Group)} |
25829 | 2315 @itemx M u |
36028 | 2316 @kindex M u @r{(Group)} |
25829 | 2317 @findex gnus-group-unmark-group |
2318 Remove the mark from the current group | |
2319 (@code{gnus-group-unmark-group}). | |
2320 | |
2321 @item M U | |
36028 | 2322 @kindex M U @r{(Group)} |
25829 | 2323 @findex gnus-group-unmark-all-groups |
2324 Remove the mark from all groups (@code{gnus-group-unmark-all-groups}). | |
2325 | |
2326 @item M w | |
36028 | 2327 @kindex M w @r{(Group)} |
25829 | 2328 @findex gnus-group-mark-region |
2329 Mark all groups between point and mark (@code{gnus-group-mark-region}). | |
2330 | |
2331 @item M b | |
36028 | 2332 @kindex M b @r{(Group)} |
25829 | 2333 @findex gnus-group-mark-buffer |
2334 Mark all groups in the buffer (@code{gnus-group-mark-buffer}). | |
2335 | |
2336 @item M r | |
36028 | 2337 @kindex M r @r{(Group)} |
25829 | 2338 @findex gnus-group-mark-regexp |
2339 Mark all groups that match some regular expression | |
2340 (@code{gnus-group-mark-regexp}). | |
2341 @end table | |
2342 | |
2343 Also @pxref{Process/Prefix}. | |
2344 | |
2345 @findex gnus-group-universal-argument | |
2346 If you want to execute some command on all groups that have been marked | |
2347 with the process mark, you can use the @kbd{M-&} | |
2348 (@code{gnus-group-universal-argument}) command. It will prompt you for | |
2349 the command to be executed. | |
2350 | |
2351 | |
2352 @node Foreign Groups | |
2353 @section Foreign Groups | |
2354 @cindex foreign groups | |
2355 | |
2356 Below are some group mode commands for making and editing general foreign | |
2357 groups, as well as commands to ease the creation of a few | |
2358 special-purpose groups. All these commands insert the newly created | |
2359 groups under point---@code{gnus-subscribe-newsgroup-method} is not | |
2360 consulted. | |
2361 | |
2362 @table @kbd | |
2363 | |
2364 @item G m | |
36028 | 2365 @kindex G m @r{(Group)} |
25829 | 2366 @findex gnus-group-make-group |
2367 @cindex making groups | |
2368 Make a new group (@code{gnus-group-make-group}). Gnus will prompt you | |
2369 for a name, a method and possibly an @dfn{address}. For an easier way | |
2370 to subscribe to @sc{nntp} groups, @pxref{Browse Foreign Server}. | |
2371 | |
2372 @item G r | |
36028 | 2373 @kindex G r @r{(Group)} |
25829 | 2374 @findex gnus-group-rename-group |
2375 @cindex renaming groups | |
2376 Rename the current group to something else | |
2377 (@code{gnus-group-rename-group}). This is valid only on some | |
2378 groups---mail groups mostly. This command might very well be quite slow | |
39395 | 2379 on some back ends. |
25829 | 2380 |
2381 @item G c | |
36028 | 2382 @kindex G c @r{(Group)} |
25829 | 2383 @cindex customizing |
2384 @findex gnus-group-customize | |
2385 Customize the group parameters (@code{gnus-group-customize}). | |
2386 | |
2387 @item G e | |
36028 | 2388 @kindex G e @r{(Group)} |
25829 | 2389 @findex gnus-group-edit-group-method |
2390 @cindex renaming groups | |
2391 Enter a buffer where you can edit the select method of the current | |
2392 group (@code{gnus-group-edit-group-method}). | |
2393 | |
2394 @item G p | |
36028 | 2395 @kindex G p @r{(Group)} |
25829 | 2396 @findex gnus-group-edit-group-parameters |
2397 Enter a buffer where you can edit the group parameters | |
2398 (@code{gnus-group-edit-group-parameters}). | |
2399 | |
2400 @item G E | |
36028 | 2401 @kindex G E @r{(Group)} |
25829 | 2402 @findex gnus-group-edit-group |
2403 Enter a buffer where you can edit the group info | |
2404 (@code{gnus-group-edit-group}). | |
2405 | |
2406 @item G d | |
36028 | 2407 @kindex G d @r{(Group)} |
25829 | 2408 @findex gnus-group-make-directory-group |
2409 @cindex nndir | |
2410 Make a directory group (@pxref{Directory Groups}). You will be prompted | |
2411 for a directory name (@code{gnus-group-make-directory-group}). | |
2412 | |
2413 @item G h | |
36028 | 2414 @kindex G h @r{(Group)} |
25829 | 2415 @cindex help group |
2416 @findex gnus-group-make-help-group | |
2417 Make the Gnus help group (@code{gnus-group-make-help-group}). | |
2418 | |
2419 @item G a | |
36028 | 2420 @kindex G a @r{(Group)} |
25829 | 2421 @cindex (ding) archive |
2422 @cindex archive group | |
2423 @findex gnus-group-make-archive-group | |
2424 @vindex gnus-group-archive-directory | |
2425 @vindex gnus-group-recent-archive-directory | |
2426 Make a Gnus archive group (@code{gnus-group-make-archive-group}). By | |
2427 default a group pointing to the most recent articles will be created | |
2428 (@code{gnus-group-recent-archive-directory}), but given a prefix, a full | |
2429 group will be created from @code{gnus-group-archive-directory}. | |
2430 | |
2431 @item G k | |
36028 | 2432 @kindex G k @r{(Group)} |
25829 | 2433 @findex gnus-group-make-kiboze-group |
2434 @cindex nnkiboze | |
2435 Make a kiboze group. You will be prompted for a name, for a regexp to | |
2436 match groups to be ``included'' in the kiboze group, and a series of | |
2437 strings to match on headers (@code{gnus-group-make-kiboze-group}). | |
2438 @xref{Kibozed Groups}. | |
2439 | |
2440 @item G D | |
36028 | 2441 @kindex G D @r{(Group)} |
25829 | 2442 @findex gnus-group-enter-directory |
2443 @cindex nneething | |
2444 Read an arbitrary directory as if it were a newsgroup with the | |
39395 | 2445 @code{nneething} back end (@code{gnus-group-enter-directory}). |
25829 | 2446 @xref{Anything Groups}. |
2447 | |
2448 @item G f | |
36028 | 2449 @kindex G f @r{(Group)} |
25829 | 2450 @findex gnus-group-make-doc-group |
2451 @cindex ClariNet Briefs | |
2452 @cindex nndoc | |
2453 Make a group based on some file or other | |
2454 (@code{gnus-group-make-doc-group}). If you give a prefix to this | |
2455 command, you will be prompted for a file name and a file type. | |
2456 Currently supported types are @code{babyl}, @code{mbox}, @code{digest}, | |
2457 @code{mmdf}, @code{news}, @code{rnews}, @code{clari-briefs}, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2458 @code{rfc934}, @code{rfc822-forward}, @code{nsmail} and @code{forward}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2459 If you run this command without a prefix, Gnus will guess at the file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2460 type. @xref{Document Groups}. |
25829 | 2461 |
2462 @item G u | |
36028 | 2463 @kindex G u @r{(Group)} |
25829 | 2464 @vindex gnus-useful-groups |
2465 @findex gnus-group-make-useful-group | |
2466 Create one of the groups mentioned in @code{gnus-useful-groups} | |
2467 (@code{gnus-group-make-useful-group}). | |
2468 | |
2469 @item G w | |
36028 | 2470 @kindex G w @r{(Group)} |
25829 | 2471 @findex gnus-group-make-web-group |
2472 @cindex DejaNews | |
2473 @cindex Alta Vista | |
2474 @cindex InReference | |
2475 @cindex nnweb | |
2476 Make an ephemeral group based on a web search | |
2477 (@code{gnus-group-make-web-group}). If you give a prefix to this | |
2478 command, make a solid group instead. You will be prompted for the | |
2479 search engine type and the search string. Valid search engine types | |
2480 include @code{dejanews}, @code{altavista} and @code{reference}. | |
2481 @xref{Web Searches}. | |
2482 | |
2483 If you use the @code{dejanews} search engine, you can limit the search | |
2484 to a particular group by using a match string like | |
2485 @samp{~g alt.sysadmin.recovery shaving}. | |
2486 | |
36028 | 2487 @item G @key{DEL} |
2488 @kindex G @key{DEL} @r{(Group)} | |
25829 | 2489 @findex gnus-group-delete-group |
2490 This function will delete the current group | |
2491 (@code{gnus-group-delete-group}). If given a prefix, this function will | |
2492 actually delete all the articles in the group, and forcibly remove the | |
2493 group itself from the face of the Earth. Use a prefix only if you are | |
2494 absolutely sure of what you are doing. This command can't be used on | |
2495 read-only groups (like @code{nntp} group), though. | |
2496 | |
2497 @item G V | |
36028 | 2498 @kindex G V @r{(Group)} |
25829 | 2499 @findex gnus-group-make-empty-virtual |
2500 Make a new, fresh, empty @code{nnvirtual} group | |
2501 (@code{gnus-group-make-empty-virtual}). @xref{Virtual Groups}. | |
2502 | |
2503 @item G v | |
36028 | 2504 @kindex G v @r{(Group)} |
25829 | 2505 @findex gnus-group-add-to-virtual |
2506 Add the current group to an @code{nnvirtual} group | |
2507 (@code{gnus-group-add-to-virtual}). Uses the process/prefix convention. | |
2508 @end table | |
2509 | |
2510 @xref{Select Methods}, for more information on the various select | |
2511 methods. | |
2512 | |
2513 @vindex gnus-activate-foreign-newsgroups | |
2514 If @code{gnus-activate-foreign-newsgroups} is a positive number, | |
2515 Gnus will check all foreign groups with this level or lower at startup. | |
2516 This might take quite a while, especially if you subscribe to lots of | |
2517 groups from different @sc{nntp} servers. Also @pxref{Group Levels}; | |
2518 @code{gnus-activate-level} also affects activation of foreign | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2519 newsgroups. |
25829 | 2520 |
2521 | |
2522 @node Group Parameters | |
2523 @section Group Parameters | |
2524 @cindex group parameters | |
2525 | |
2526 The group parameters store information local to a particular group. | |
2527 Here's an example group parameter list: | |
2528 | |
2529 @example | |
2530 ((to-address . "ding@@gnus.org") | |
2531 (auto-expire . t)) | |
2532 @end example | |
2533 | |
2534 We see that each element consists of a "dotted pair"---the thing before | |
2535 the dot is the key, while the thing after the dot is the value. All the | |
2536 parameters have this form @emph{except} local variable specs, which are | |
2537 not dotted pairs, but proper lists. | |
2538 | |
2539 The following group parameters can be used: | |
2540 | |
2541 @table @code | |
2542 @item to-address | |
2543 @cindex to-address | |
2544 Address used by when doing followups and new posts. | |
2545 | |
2546 @example | |
2547 (to-address . "some@@where.com") | |
2548 @end example | |
2549 | |
2550 This is primarily useful in mail groups that represent closed mailing | |
2551 lists---mailing lists where it's expected that everybody that writes to | |
2552 the mailing list is subscribed to it. Since using this parameter | |
2553 ensures that the mail only goes to the mailing list itself, it means | |
2554 that members won't receive two copies of your followups. | |
2555 | |
2556 Using @code{to-address} will actually work whether the group is foreign | |
2557 or not. Let's say there's a group on the server that is called | |
2558 @samp{fa.4ad-l}. This is a real newsgroup, but the server has gotten | |
2559 the articles from a mail-to-news gateway. Posting directly to this | |
2560 group is therefore impossible---you have to send mail to the mailing | |
2561 list address instead. | |
2562 | |
36879 | 2563 Some parameters have corresponding customizable variables, each of which |
2564 is an alist of regexps and values. | |
2565 | |
25829 | 2566 @item to-list |
2567 @cindex to-list | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2568 Address used when doing @kbd{a} in that group. |
25829 | 2569 |
2570 @example | |
2571 (to-list . "some@@where.com") | |
2572 @end example | |
2573 | |
2574 It is totally ignored | |
2575 when doing a followup---except that if it is present in a news group, | |
2576 you'll get mail group semantics when doing @kbd{f}. | |
2577 | |
2578 If you do an @kbd{a} command in a mail group and you have neither a | |
2579 @code{to-list} group parameter nor a @code{to-address} group parameter, | |
2580 then a @code{to-list} group parameter will be added automatically upon | |
2581 sending the message if @code{gnus-add-to-list} is set to @code{t}. | |
2582 @vindex gnus-add-to-list | |
2583 | |
2584 If you do an @kbd{a} command in a mail group and you don't have a | |
2585 @code{to-list} group parameter, one will be added automatically upon | |
2586 sending the message. | |
2587 | |
36879 | 2588 See also @code{gnus-parameter-to-list-alist}. |
2589 | |
25829 | 2590 @item visible |
2591 @cindex visible | |
2592 If the group parameter list has the element @code{(visible . t)}, | |
2593 that group will always be visible in the Group buffer, regardless | |
2594 of whether it has any unread articles. | |
2595 | |
2596 @item broken-reply-to | |
2597 @cindex broken-reply-to | |
2598 Elements like @code{(broken-reply-to . t)} signals that @code{Reply-To} | |
2599 headers in this group are to be ignored. This can be useful if you're | |
2600 reading a mailing list group where the listserv has inserted | |
2601 @code{Reply-To} headers that point back to the listserv itself. This is | |
2602 broken behavior. So there! | |
2603 | |
2604 @item to-group | |
2605 @cindex to-group | |
2606 Elements like @code{(to-group . "some.group.name")} means that all | |
2607 posts in that group will be sent to @code{some.group.name}. | |
2608 | |
2609 @item newsgroup | |
2610 @cindex newsgroup | |
2611 If you have @code{(newsgroup . t)} in the group parameter list, Gnus | |
2612 will treat all responses as if they were responses to news articles. | |
2613 This can be useful if you have a mail group that's really a mirror of a | |
2614 news group. | |
2615 | |
2616 @item gcc-self | |
2617 @cindex gcc-self | |
2618 If @code{(gcc-self . t)} is present in the group parameter list, newly | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2619 composed messages will be @code{Gcc}'d to the current group. If |
25829 | 2620 @code{(gcc-self . none)} is present, no @code{Gcc:} header will be |
2621 generated, if @code{(gcc-self . "string")} is present, this string will | |
2622 be inserted literally as a @code{gcc} header. This parameter takes | |
2623 precedence over any default @code{Gcc} rules as described later | |
2624 (@pxref{Archived Messages}). | |
2625 | |
2626 @item auto-expire | |
2627 @cindex auto-expire | |
2628 If the group parameter has an element that looks like @code{(auto-expire | |
2629 . t)}, all articles read will be marked as expirable. For an | |
2630 alternative approach, @pxref{Expiring Mail}. | |
2631 | |
2632 @item total-expire | |
2633 @cindex total-expire | |
2634 If the group parameter has an element that looks like | |
2635 @code{(total-expire . t)}, all read articles will be put through the | |
2636 expiry process, even if they are not marked as expirable. Use with | |
2637 caution. Unread, ticked and dormant articles are not eligible for | |
2638 expiry. | |
2639 | |
36879 | 2640 See also @code{gnus-total-expirable-newsgroups}. |
2641 | |
25829 | 2642 @item expiry-wait |
2643 @cindex expiry-wait | |
2644 @vindex nnmail-expiry-wait-function | |
2645 If the group parameter has an element that looks like @code{(expiry-wait | |
2646 . 10)}, this value will override any @code{nnmail-expiry-wait} and | |
2647 @code{nnmail-expiry-wait-function} when expiring expirable messages. | |
2648 The value can either be a number of days (not necessarily an integer) or | |
2649 the symbols @code{never} or @code{immediate}. | |
2650 | |
2651 @item score-file | |
2652 @cindex score file group parameter | |
2653 Elements that look like @code{(score-file . "file")} will make | |
2654 @file{file} into the current score file for the group in question. All | |
2655 interactive score entries will be put into this file. | |
2656 | |
2657 @item adapt-file | |
2658 @cindex adapt file group parameter | |
2659 Elements that look like @code{(adapt-file . "file")} will make | |
2660 @file{file} into the current adaptive file for the group in question. | |
2661 All adaptive score entries will be put into this file. | |
2662 | |
2663 @item admin-address | |
2664 When unsubscribing from a mailing list you should never send the | |
2665 unsubscription notice to the mailing list itself. Instead, you'd send | |
2666 messages to the administrative address. This parameter allows you to | |
2667 put the admin address somewhere convenient. | |
2668 | |
2669 @item display | |
2670 Elements that look like @code{(display . MODE)} say which articles to | |
2671 display on entering the group. Valid values are: | |
2672 | |
2673 @table @code | |
2674 @item all | |
2675 Display all articles, both read and unread. | |
2676 | |
2677 @item default | |
2678 Display the default visible articles, which normally includes unread and | |
2679 ticked articles. | |
2680 @end table | |
2681 | |
2682 @item comment | |
2683 Elements that look like @code{(comment . "This is a comment")} | |
2684 are arbitrary comments on the group. They are currently ignored by | |
2685 Gnus, but provide a place for you to store information on particular | |
2686 groups. | |
2687 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2688 @item charset |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2689 Elements that look like @code{(charset . iso-8859-1)} will make |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2690 @code{iso-8859-1} the default charset; that is, the charset that will be |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2691 used for all articles that do not specify a charset. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2692 |
36879 | 2693 See also @code{gnus-group-charset-alist}. |
2694 | |
2695 @item ignored-charsets | |
2696 Elements that look like @code{(ignored-charsets x-known iso-8859-1)} | |
2697 will make @code{iso-8859-1} and @code{x-unknown} ignored; that is, the | |
2698 default charset will be used for decoding articles. | |
2699 | |
2700 See also @code{gnus-group-ignored-charsets-alist}. | |
2701 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2702 @item posting-style |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2703 You can store additional posting style information for this group only |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2704 here (@pxref{Posting Styles}). The format is that of an entry in the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2705 @code{gnus-posting-styles} alist, except that there's no regexp matching |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2706 the group name (of course). Style elements in this group parameter will |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2707 take precedence over the ones found in @code{gnus-posting-styles}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2708 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2709 For instance, if you want a funky name and signature in this group only, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2710 instead of hacking @code{gnus-posting-styles}, you could put something |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2711 like this in the group parameters: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2712 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2713 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2714 (posting-style |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2715 (name "Funky Name") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2716 (signature "Funky Signature")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2717 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2718 |
35614 | 2719 @item banner |
2720 An item like @code{(banner . "regex")} causes any part of an article | |
2721 that matches the regular expression "regex" to be stripped. Instead of | |
2722 "regex", you can also use the symbol @code{signature} which strips the | |
2723 last signature or any of the elements of the alist | |
2724 @code{gnus-article-banner-alist}. | |
2725 | |
36879 | 2726 @item (@var{variable} @var{form}) |
2727 You can use the group parameters to set variables local to the group you | |
2728 are entering. If you want to turn threading off in @samp{news.answers}, | |
2729 you could put @code{(gnus-show-threads nil)} in the group parameters of | |
2730 that group. @code{gnus-show-threads} will be made into a local variable | |
2731 in the summary buffer you enter, and the form @code{nil} will be | |
2732 @code{eval}ed there. | |
2733 | |
2734 This can also be used as a group-specific hook function, if you like. | |
2735 If you want to hear a beep when you enter a group, you could put | |
2736 something like @code{(dummy-variable (ding))} in the parameters of that | |
2737 group. @code{dummy-variable} will be set to the result of the | |
2738 @code{(ding)} form, but who cares? | |
2739 | |
25829 | 2740 @end table |
2741 | |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
2742 Use the @kbd{G p} or the @kbd{G c} command to edit group parameters of a |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
2743 group. (@kbd{G p} presents you with a Lisp-based interface, @kbd{G c} |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
2744 presents you with a Customize-like interface. The latter helps avoid |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
2745 silly Lisp errors.) You might also be interested in reading about topic |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
2746 parameters (@pxref{Topic Parameters}). |
25829 | 2747 |
2748 | |
2749 @node Listing Groups | |
2750 @section Listing Groups | |
2751 @cindex group listing | |
2752 | |
2753 These commands all list various slices of the groups available. | |
2754 | |
2755 @table @kbd | |
2756 | |
2757 @item l | |
2758 @itemx A s | |
36028 | 2759 @kindex A s @r{(Group)} |
2760 @kindex l @r{(Group)} | |
25829 | 2761 @findex gnus-group-list-groups |
2762 List all groups that have unread articles | |
2763 (@code{gnus-group-list-groups}). If the numeric prefix is used, this | |
2764 command will list only groups of level ARG and lower. By default, it | |
2765 only lists groups of level five (i. e., | |
2766 @code{gnus-group-default-list-level}) or lower (i.e., just subscribed | |
2767 groups). | |
2768 | |
2769 @item L | |
2770 @itemx A u | |
36028 | 2771 @kindex A u @r{(Group)} |
2772 @kindex L @r{(Group)} | |
25829 | 2773 @findex gnus-group-list-all-groups |
2774 List all groups, whether they have unread articles or not | |
2775 (@code{gnus-group-list-all-groups}). If the numeric prefix is used, | |
2776 this command will list only groups of level ARG and lower. By default, | |
2777 it lists groups of level seven or lower (i.e., just subscribed and | |
2778 unsubscribed groups). | |
2779 | |
2780 @item A l | |
36028 | 2781 @kindex A l @r{(Group)} |
25829 | 2782 @findex gnus-group-list-level |
2783 List all unread groups on a specific level | |
2784 (@code{gnus-group-list-level}). If given a prefix, also list the groups | |
2785 with no unread articles. | |
2786 | |
2787 @item A k | |
36028 | 2788 @kindex A k @r{(Group)} |
25829 | 2789 @findex gnus-group-list-killed |
2790 List all killed groups (@code{gnus-group-list-killed}). If given a | |
2791 prefix argument, really list all groups that are available, but aren't | |
2792 currently (un)subscribed. This could entail reading the active file | |
2793 from the server. | |
2794 | |
2795 @item A z | |
36028 | 2796 @kindex A z @r{(Group)} |
25829 | 2797 @findex gnus-group-list-zombies |
2798 List all zombie groups (@code{gnus-group-list-zombies}). | |
2799 | |
2800 @item A m | |
36028 | 2801 @kindex A m @r{(Group)} |
25829 | 2802 @findex gnus-group-list-matching |
2803 List all unread, subscribed groups with names that match a regexp | |
2804 (@code{gnus-group-list-matching}). | |
2805 | |
2806 @item A M | |
36028 | 2807 @kindex A M @r{(Group)} |
25829 | 2808 @findex gnus-group-list-all-matching |
2809 List groups that match a regexp (@code{gnus-group-list-all-matching}). | |
2810 | |
2811 @item A A | |
36028 | 2812 @kindex A A @r{(Group)} |
25829 | 2813 @findex gnus-group-list-active |
2814 List absolutely all groups in the active file(s) of the | |
2815 server(s) you are connected to (@code{gnus-group-list-active}). This | |
2816 might very well take quite a while. It might actually be a better idea | |
2817 to do a @kbd{A M} to list all matching, and just give @samp{.} as the | |
2818 thing to match on. Also note that this command may list groups that | |
2819 don't exist (yet)---these will be listed as if they were killed groups. | |
2820 Take the output with some grains of salt. | |
2821 | |
2822 @item A a | |
36028 | 2823 @kindex A a @r{(Group)} |
25829 | 2824 @findex gnus-group-apropos |
2825 List all groups that have names that match a regexp | |
2826 (@code{gnus-group-apropos}). | |
2827 | |
2828 @item A d | |
36028 | 2829 @kindex A d @r{(Group)} |
25829 | 2830 @findex gnus-group-description-apropos |
2831 List all groups that have names or descriptions that match a regexp | |
2832 (@code{gnus-group-description-apropos}). | |
2833 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2834 @item A c |
36028 | 2835 @kindex A c @r{(Group)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2836 @findex gnus-group-list-cached |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2837 List all groups with cached articles (@code{gnus-group-list-cached}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2838 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2839 @item A ? |
36028 | 2840 @kindex A ? @r{(Group)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2841 @findex gnus-group-list-dormant |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2842 List all groups with dormant articles (@code{gnus-group-list-dormant}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2843 |
25829 | 2844 @end table |
2845 | |
2846 @vindex gnus-permanently-visible-groups | |
2847 @cindex visible group parameter | |
2848 Groups that match the @code{gnus-permanently-visible-groups} regexp will | |
2849 always be shown, whether they have unread articles or not. You can also | |
2850 add the @code{visible} element to the group parameters in question to | |
2851 get the same effect. | |
2852 | |
2853 @vindex gnus-list-groups-with-ticked-articles | |
2854 Groups that have just ticked articles in it are normally listed in the | |
2855 group buffer. If @code{gnus-list-groups-with-ticked-articles} is | |
2856 @code{nil}, these groups will be treated just like totally empty | |
2857 groups. It is @code{t} by default. | |
2858 | |
2859 | |
2860 @node Sorting Groups | |
2861 @section Sorting Groups | |
2862 @cindex sorting groups | |
2863 | |
36028 | 2864 @kindex C-c C-s @r{(Group)} |
25829 | 2865 @findex gnus-group-sort-groups |
2866 @vindex gnus-group-sort-function | |
2867 The @kbd{C-c C-s} (@code{gnus-group-sort-groups}) command sorts the | |
2868 group buffer according to the function(s) given by the | |
2869 @code{gnus-group-sort-function} variable. Available sorting functions | |
2870 include: | |
2871 | |
2872 @table @code | |
2873 | |
2874 @item gnus-group-sort-by-alphabet | |
2875 @findex gnus-group-sort-by-alphabet | |
2876 Sort the group names alphabetically. This is the default. | |
2877 | |
2878 @item gnus-group-sort-by-real-name | |
2879 @findex gnus-group-sort-by-real-name | |
2880 Sort the group alphabetically on the real (unprefixed) group names. | |
2881 | |
2882 @item gnus-group-sort-by-level | |
2883 @findex gnus-group-sort-by-level | |
2884 Sort by group level. | |
2885 | |
2886 @item gnus-group-sort-by-score | |
2887 @findex gnus-group-sort-by-score | |
2888 Sort by group score. @xref{Group Score}. | |
2889 | |
2890 @item gnus-group-sort-by-rank | |
2891 @findex gnus-group-sort-by-rank | |
2892 Sort by group score and then the group level. The level and the score | |
2893 are, when taken together, the group's @dfn{rank}. @xref{Group Score}. | |
2894 | |
2895 @item gnus-group-sort-by-unread | |
2896 @findex gnus-group-sort-by-unread | |
2897 Sort by number of unread articles. | |
2898 | |
2899 @item gnus-group-sort-by-method | |
2900 @findex gnus-group-sort-by-method | |
2901 Sort alphabetically on the select method. | |
2902 | |
2903 | |
2904 @end table | |
2905 | |
2906 @code{gnus-group-sort-function} can also be a list of sorting | |
2907 functions. In that case, the most significant sort key function must be | |
2908 the last one. | |
2909 | |
2910 | |
2911 There are also a number of commands for sorting directly according to | |
2912 some sorting criteria: | |
2913 | |
2914 @table @kbd | |
2915 @item G S a | |
36028 | 2916 @kindex G S a @r{(Group)} |
25829 | 2917 @findex gnus-group-sort-groups-by-alphabet |
2918 Sort the group buffer alphabetically by group name | |
2919 (@code{gnus-group-sort-groups-by-alphabet}). | |
2920 | |
2921 @item G S u | |
36028 | 2922 @kindex G S u @r{(Group)} |
25829 | 2923 @findex gnus-group-sort-groups-by-unread |
2924 Sort the group buffer by the number of unread articles | |
2925 (@code{gnus-group-sort-groups-by-unread}). | |
2926 | |
2927 @item G S l | |
36028 | 2928 @kindex G S l @r{(Group)} |
25829 | 2929 @findex gnus-group-sort-groups-by-level |
2930 Sort the group buffer by group level | |
2931 (@code{gnus-group-sort-groups-by-level}). | |
2932 | |
2933 @item G S v | |
36028 | 2934 @kindex G S v @r{(Group)} |
25829 | 2935 @findex gnus-group-sort-groups-by-score |
2936 Sort the group buffer by group score | |
2937 (@code{gnus-group-sort-groups-by-score}). @xref{Group Score}. | |
2938 | |
2939 @item G S r | |
36028 | 2940 @kindex G S r @r{(Group)} |
25829 | 2941 @findex gnus-group-sort-groups-by-rank |
2942 Sort the group buffer by group rank | |
2943 (@code{gnus-group-sort-groups-by-rank}). @xref{Group Score}. | |
2944 | |
2945 @item G S m | |
36028 | 2946 @kindex G S m @r{(Group)} |
25829 | 2947 @findex gnus-group-sort-groups-by-method |
39395 | 2948 Sort the group buffer alphabetically by back end name |
25829 | 2949 (@code{gnus-group-sort-groups-by-method}). |
2950 | |
2951 @end table | |
2952 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2953 All the commands below obey the process/prefix convention |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2954 (@pxref{Process/Prefix}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2955 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2956 When given a symbolic prefix (@pxref{Symbolic Prefixes}), all these |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2957 commands will sort in reverse order. |
25829 | 2958 |
2959 You can also sort a subset of the groups: | |
2960 | |
2961 @table @kbd | |
2962 @item G P a | |
36028 | 2963 @kindex G P a @r{(Group)} |
25829 | 2964 @findex gnus-group-sort-selected-groups-by-alphabet |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2965 Sort the groups alphabetically by group name |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2966 (@code{gnus-group-sort-selected-groups-by-alphabet}). |
25829 | 2967 |
2968 @item G P u | |
36028 | 2969 @kindex G P u @r{(Group)} |
25829 | 2970 @findex gnus-group-sort-selected-groups-by-unread |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2971 Sort the groups by the number of unread articles |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2972 (@code{gnus-group-sort-selected-groups-by-unread}). |
25829 | 2973 |
2974 @item G P l | |
36028 | 2975 @kindex G P l @r{(Group)} |
25829 | 2976 @findex gnus-group-sort-selected-groups-by-level |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2977 Sort the groups by group level |
25829 | 2978 (@code{gnus-group-sort-selected-groups-by-level}). |
2979 | |
2980 @item G P v | |
36028 | 2981 @kindex G P v @r{(Group)} |
25829 | 2982 @findex gnus-group-sort-selected-groups-by-score |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2983 Sort the groups by group score |
25829 | 2984 (@code{gnus-group-sort-selected-groups-by-score}). @xref{Group Score}. |
2985 | |
2986 @item G P r | |
36028 | 2987 @kindex G P r @r{(Group)} |
25829 | 2988 @findex gnus-group-sort-selected-groups-by-rank |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2989 Sort the groups by group rank |
25829 | 2990 (@code{gnus-group-sort-selected-groups-by-rank}). @xref{Group Score}. |
2991 | |
2992 @item G P m | |
36028 | 2993 @kindex G P m @r{(Group)} |
25829 | 2994 @findex gnus-group-sort-selected-groups-by-method |
39395 | 2995 Sort the groups alphabetically by back end name |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2996 (@code{gnus-group-sort-selected-groups-by-method}). |
25829 | 2997 |
2998 @end table | |
2999 | |
3000 | |
3001 | |
3002 @node Group Maintenance | |
3003 @section Group Maintenance | |
3004 @cindex bogus groups | |
3005 | |
3006 @table @kbd | |
3007 @item b | |
36028 | 3008 @kindex b @r{(Group)} |
25829 | 3009 @findex gnus-group-check-bogus-groups |
3010 Find bogus groups and delete them | |
3011 (@code{gnus-group-check-bogus-groups}). | |
3012 | |
3013 @item F | |
36028 | 3014 @kindex F @r{(Group)} |
25829 | 3015 @findex gnus-group-find-new-groups |
3016 Find new groups and process them (@code{gnus-group-find-new-groups}). | |
3017 With 1 @kbd{C-u}, use the @code{ask-server} method to query the server | |
3018 for new groups. With 2 @kbd{C-u}'s, use most complete method possible | |
3019 to query the server for new groups, and subscribe the new groups as | |
3020 zombies. | |
3021 | |
3022 @item C-c C-x | |
36028 | 3023 @kindex C-c C-x @r{(Group)} |
25829 | 3024 @findex gnus-group-expire-articles |
3025 Run all expirable articles in the current group through the expiry | |
3026 process (if any) (@code{gnus-group-expire-articles}). | |
3027 | |
40705 | 3028 @item C-c C-M-x |
3029 @kindex C-c C-M-x @r{(Group)} | |
25829 | 3030 @findex gnus-group-expire-all-groups |
3031 Run all articles in all groups through the expiry process | |
3032 (@code{gnus-group-expire-all-groups}). | |
3033 | |
3034 @end table | |
3035 | |
3036 | |
3037 @node Browse Foreign Server | |
3038 @section Browse Foreign Server | |
3039 @cindex foreign servers | |
3040 @cindex browsing servers | |
3041 | |
3042 @table @kbd | |
3043 @item B | |
36028 | 3044 @kindex B @r{(Group)} |
25829 | 3045 @findex gnus-group-browse-foreign-server |
3046 You will be queried for a select method and a server name. Gnus will | |
3047 then attempt to contact this server and let you browse the groups there | |
3048 (@code{gnus-group-browse-foreign-server}). | |
3049 @end table | |
3050 | |
3051 @findex gnus-browse-mode | |
3052 A new buffer with a list of available groups will appear. This buffer | |
3053 will use the @code{gnus-browse-mode}. This buffer looks a bit (well, | |
3054 a lot) like a normal group buffer. | |
3055 | |
3056 Here's a list of keystrokes available in the browse mode: | |
3057 | |
3058 @table @kbd | |
3059 @item n | |
3060 @kindex n (Browse) | |
3061 @findex gnus-group-next-group | |
3062 Go to the next group (@code{gnus-group-next-group}). | |
3063 | |
3064 @item p | |
3065 @kindex p (Browse) | |
3066 @findex gnus-group-prev-group | |
3067 Go to the previous group (@code{gnus-group-prev-group}). | |
3068 | |
36028 | 3069 @item @key{SPC} |
3070 @kindex @key{SPC} (Browse) | |
25829 | 3071 @findex gnus-browse-read-group |
3072 Enter the current group and display the first article | |
3073 (@code{gnus-browse-read-group}). | |
3074 | |
36028 | 3075 @item @key{RET} |
3076 @kindex @key{RET} (Browse) | |
25829 | 3077 @findex gnus-browse-select-group |
3078 Enter the current group (@code{gnus-browse-select-group}). | |
3079 | |
3080 @item u | |
3081 @kindex u (Browse) | |
3082 @findex gnus-browse-unsubscribe-current-group | |
3083 Unsubscribe to the current group, or, as will be the case here, | |
3084 subscribe to it (@code{gnus-browse-unsubscribe-current-group}). | |
3085 | |
3086 @item l | |
3087 @itemx q | |
3088 @kindex q (Browse) | |
3089 @kindex l (Browse) | |
3090 @findex gnus-browse-exit | |
3091 Exit browse mode (@code{gnus-browse-exit}). | |
3092 | |
3093 @item ? | |
3094 @kindex ? (Browse) | |
3095 @findex gnus-browse-describe-briefly | |
3096 Describe browse mode briefly (well, there's not much to describe, is | |
3097 there) (@code{gnus-browse-describe-briefly}). | |
3098 @end table | |
3099 | |
3100 | |
3101 @node Exiting Gnus | |
3102 @section Exiting Gnus | |
3103 @cindex exiting Gnus | |
3104 | |
3105 Yes, Gnus is ex(c)iting. | |
3106 | |
3107 @table @kbd | |
3108 @item z | |
36028 | 3109 @kindex z @r{(Group)} |
25829 | 3110 @findex gnus-group-suspend |
3111 Suspend Gnus (@code{gnus-group-suspend}). This doesn't really exit Gnus, | |
3112 but it kills all buffers except the Group buffer. I'm not sure why this | |
3113 is a gain, but then who am I to judge? | |
3114 | |
3115 @item q | |
36028 | 3116 @kindex q @r{(Group)} |
25829 | 3117 @findex gnus-group-exit |
3118 @c @icon{gnus-group-exit} | |
3119 Quit Gnus (@code{gnus-group-exit}). | |
3120 | |
3121 @item Q | |
36028 | 3122 @kindex Q @r{(Group)} |
25829 | 3123 @findex gnus-group-quit |
3124 Quit Gnus without saving the @file{.newsrc} files (@code{gnus-group-quit}). | |
3125 The dribble file will be saved, though (@pxref{Auto Save}). | |
3126 @end table | |
3127 | |
3128 @vindex gnus-exit-gnus-hook | |
3129 @vindex gnus-suspend-gnus-hook | |
3130 @code{gnus-suspend-gnus-hook} is called when you suspend Gnus and | |
3131 @code{gnus-exit-gnus-hook} is called when you quit Gnus, while | |
3132 @code{gnus-after-exiting-gnus-hook} is called as the final item when | |
3133 exiting Gnus. | |
3134 | |
3135 @findex gnus-unload | |
3136 @cindex unloading | |
3137 If you wish to completely unload Gnus and all its adherents, you can use | |
3138 the @code{gnus-unload} command. This command is also very handy when | |
3139 trying to customize meta-variables. | |
3140 | |
3141 Note: | |
3142 | |
3143 @quotation | |
3144 Miss Lisa Cannifax, while sitting in English class, felt her feet go | |
3145 numbly heavy and herself fall into a hazy trance as the boy sitting | |
3146 behind her drew repeated lines with his pencil across the back of her | |
3147 plastic chair. | |
3148 @end quotation | |
3149 | |
3150 | |
3151 @node Group Topics | |
3152 @section Group Topics | |
3153 @cindex topics | |
3154 | |
3155 If you read lots and lots of groups, it might be convenient to group | |
3156 them hierarchically according to topics. You put your Emacs groups over | |
3157 here, your sex groups over there, and the rest (what, two groups or so?) | |
3158 you put in some misc section that you never bother with anyway. You can | |
3159 even group the Emacs sex groups as a sub-topic to either the Emacs | |
3160 groups or the sex groups---or both! Go wild! | |
3161 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3162 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3163 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3164 \gnusfigure{Group Topics}{400}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3165 \put(75,50){\epsfig{figure=tmp/group-topic.ps,height=9cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3166 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3167 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3168 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3169 |
25829 | 3170 Here's an example: |
3171 | |
3172 @example | |
3173 Gnus | |
3174 Emacs -- I wuw it! | |
3175 3: comp.emacs | |
3176 2: alt.religion.emacs | |
3177 Naughty Emacs | |
3178 452: alt.sex.emacs | |
3179 0: comp.talk.emacs.recovery | |
3180 Misc | |
3181 8: comp.binaries.fractals | |
3182 13: comp.sources.unix | |
3183 @end example | |
3184 | |
3185 @findex gnus-topic-mode | |
36028 | 3186 @kindex t @r{(Group)} |
25829 | 3187 To get this @emph{fab} functionality you simply turn on (ooh!) the |
3188 @code{gnus-topic} minor mode---type @kbd{t} in the group buffer. (This | |
3189 is a toggling command.) | |
3190 | |
3191 Go ahead, just try it. I'll still be here when you get back. La de | |
3192 dum... Nice tune, that... la la la... What, you're back? Yes, and now | |
3193 press @kbd{l}. There. All your groups are now listed under | |
3194 @samp{misc}. Doesn't that make you feel all warm and fuzzy? Hot and | |
3195 bothered? | |
3196 | |
3197 If you want this permanently enabled, you should add that minor mode to | |
3198 the hook for the group mode: | |
3199 | |
3200 @lisp | |
3201 (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) | |
3202 @end lisp | |
3203 | |
3204 @menu | |
3205 * Topic Variables:: How to customize the topics the Lisp Way. | |
3206 * Topic Commands:: Interactive E-Z commands. | |
3207 * Topic Sorting:: Sorting each topic individually. | |
3208 * Topic Topology:: A map of the world. | |
3209 * Topic Parameters:: Parameters that apply to all groups in a topic. | |
3210 @end menu | |
3211 | |
3212 | |
3213 @node Topic Variables | |
3214 @subsection Topic Variables | |
3215 @cindex topic variables | |
3216 | |
3217 Now, if you select a topic, it will fold/unfold that topic, which is | |
3218 really neat, I think. | |
3219 | |
3220 @vindex gnus-topic-line-format | |
3221 The topic lines themselves are created according to the | |
3222 @code{gnus-topic-line-format} variable (@pxref{Formatting Variables}). | |
3223 Valid elements are: | |
3224 | |
3225 @table @samp | |
3226 @item i | |
3227 Indentation. | |
3228 @item n | |
3229 Topic name. | |
3230 @item v | |
3231 Visibility. | |
3232 @item l | |
3233 Level. | |
3234 @item g | |
3235 Number of groups in the topic. | |
3236 @item a | |
3237 Number of unread articles in the topic. | |
3238 @item A | |
3239 Number of unread articles in the topic and all its subtopics. | |
3240 @end table | |
3241 | |
3242 @vindex gnus-topic-indent-level | |
3243 Each sub-topic (and the groups in the sub-topics) will be indented with | |
3244 @code{gnus-topic-indent-level} times the topic level number of spaces. | |
3245 The default is 2. | |
3246 | |
3247 @vindex gnus-topic-mode-hook | |
3248 @code{gnus-topic-mode-hook} is called in topic minor mode buffers. | |
3249 | |
3250 @vindex gnus-topic-display-empty-topics | |
3251 The @code{gnus-topic-display-empty-topics} says whether to display even | |
3252 topics that have no unread articles in them. The default is @code{t}. | |
3253 | |
3254 | |
3255 @node Topic Commands | |
3256 @subsection Topic Commands | |
3257 @cindex topic commands | |
3258 | |
3259 When the topic minor mode is turned on, a new @kbd{T} submap will be | |
3260 available. In addition, a few of the standard keys change their | |
3261 definitions slightly. | |
3262 | |
3263 @table @kbd | |
3264 | |
3265 @item T n | |
3266 @kindex T n (Topic) | |
3267 @findex gnus-topic-create-topic | |
3268 Prompt for a new topic name and create it | |
3269 (@code{gnus-topic-create-topic}). | |
3270 | |
3271 @item T m | |
3272 @kindex T m (Topic) | |
3273 @findex gnus-topic-move-group | |
3274 Move the current group to some other topic | |
3275 (@code{gnus-topic-move-group}). This command uses the process/prefix | |
3276 convention (@pxref{Process/Prefix}). | |
3277 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3278 @item T j |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3279 @kindex T j (Topic) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3280 @findex gnus-topic-jump-to-topic |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3281 Go to a topic (@code{gnus-topic-jump-to-topic}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3282 |
25829 | 3283 @item T c |
3284 @kindex T c (Topic) | |
3285 @findex gnus-topic-copy-group | |
3286 Copy the current group to some other topic | |
3287 (@code{gnus-topic-copy-group}). This command uses the process/prefix | |
3288 convention (@pxref{Process/Prefix}). | |
3289 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3290 @item T h |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3291 @kindex T h (Topic) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3292 @findex gnus-topic-hide-topic |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3293 Hide the current topic (@code{gnus-topic-hide-topic}). If given |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3294 a prefix, hide the topic permanently. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3295 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3296 @item T s |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3297 @kindex T s (Topic) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3298 @findex gnus-topic-show-topic |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3299 Show the current topic (@code{gnus-topic-show-topic}). If given |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3300 a prefix, show the topic permanently. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3301 |
25829 | 3302 @item T D |
3303 @kindex T D (Topic) | |
3304 @findex gnus-topic-remove-group | |
3305 Remove a group from the current topic (@code{gnus-topic-remove-group}). | |
3306 This command is mainly useful if you have the same group in several | |
3307 topics and wish to remove it from one of the topics. You may also | |
3308 remove a group from all topics, but in that case, Gnus will add it to | |
3309 the root topic the next time you start Gnus. In fact, all new groups | |
3310 (which, naturally, don't belong to any topic) will show up in the root | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3311 topic. |
25829 | 3312 |
3313 This command uses the process/prefix convention | |
3314 (@pxref{Process/Prefix}). | |
3315 | |
3316 @item T M | |
3317 @kindex T M (Topic) | |
3318 @findex gnus-topic-move-matching | |
3319 Move all groups that match some regular expression to a topic | |
3320 (@code{gnus-topic-move-matching}). | |
3321 | |
3322 @item T C | |
3323 @kindex T C (Topic) | |
3324 @findex gnus-topic-copy-matching | |
3325 Copy all groups that match some regular expression to a topic | |
3326 (@code{gnus-topic-copy-matching}). | |
3327 | |
3328 @item T H | |
3329 @kindex T H (Topic) | |
3330 @findex gnus-topic-toggle-display-empty-topics | |
3331 Toggle hiding empty topics | |
3332 (@code{gnus-topic-toggle-display-empty-topics}). | |
3333 | |
3334 @item T # | |
3335 @kindex T # (Topic) | |
3336 @findex gnus-topic-mark-topic | |
3337 Mark all groups in the current topic with the process mark | |
3338 (@code{gnus-topic-mark-topic}). | |
3339 | |
3340 @item T M-# | |
3341 @kindex T M-# (Topic) | |
3342 @findex gnus-topic-unmark-topic | |
3343 Remove the process mark from all groups in the current topic | |
3344 (@code{gnus-topic-unmark-topic}). | |
3345 | |
3346 @item T TAB | |
3347 @itemx TAB | |
3348 @kindex T TAB (Topic) | |
3349 @kindex TAB (Topic) | |
3350 @findex gnus-topic-indent | |
3351 ``Indent'' the current topic so that it becomes a sub-topic of the | |
3352 previous topic (@code{gnus-topic-indent}). If given a prefix, | |
3353 ``un-indent'' the topic instead. | |
3354 | |
3355 @item M-TAB | |
3356 @kindex M-TAB (Topic) | |
3357 @findex gnus-topic-unindent | |
3358 ``Un-indent'' the current topic so that it becomes a sub-topic of the | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3359 parent of its current parent (@code{gnus-topic-unindent}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3360 |
36028 | 3361 @item @key{RET} |
3362 @kindex @key{RET} (Topic) | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3363 @findex gnus-topic-select-group |
36028 | 3364 @itemx @key{SPC} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3365 Either select a group or fold a topic (@code{gnus-topic-select-group}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3366 When you perform this command on a group, you'll enter the group, as |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3367 usual. When done on a topic line, the topic will be folded (if it was |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3368 visible) or unfolded (if it was folded already). So it's basically a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3369 toggling command on topics. In addition, if you give a numerical |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3370 prefix, group on that level (and lower) will be displayed. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3371 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3372 @item C-c C-x |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3373 @kindex C-c C-x (Topic) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3374 @findex gnus-topic-expire-articles |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3375 Run all expirable articles in the current group or topic through the expiry |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3376 process (if any) (@code{gnus-topic-expire-articles}). |
25829 | 3377 |
3378 @item C-k | |
3379 @kindex C-k (Topic) | |
3380 @findex gnus-topic-kill-group | |
3381 Kill a group or topic (@code{gnus-topic-kill-group}). All groups in the | |
3382 topic will be removed along with the topic. | |
3383 | |
3384 @item C-y | |
3385 @kindex C-y (Topic) | |
3386 @findex gnus-topic-yank-group | |
3387 Yank the previously killed group or topic | |
3388 (@code{gnus-topic-yank-group}). Note that all topics will be yanked | |
3389 before all groups. | |
3390 | |
3391 @item T r | |
3392 @kindex T r (Topic) | |
3393 @findex gnus-topic-rename | |
3394 Rename a topic (@code{gnus-topic-rename}). | |
3395 | |
36028 | 3396 @item T @key{DEL} |
3397 @kindex T @key{DEL} (Topic) | |
25829 | 3398 @findex gnus-topic-delete |
3399 Delete an empty topic (@code{gnus-topic-delete}). | |
3400 | |
3401 @item A T | |
3402 @kindex A T (Topic) | |
3403 @findex gnus-topic-list-active | |
3404 List all groups that Gnus knows about in a topics-ified way | |
3405 (@code{gnus-topic-list-active}). | |
3406 | |
3407 @item G p | |
3408 @kindex G p (Topic) | |
3409 @findex gnus-topic-edit-parameters | |
3410 @cindex group parameters | |
3411 @cindex topic parameters | |
3412 @cindex parameters | |
3413 Edit the topic parameters (@code{gnus-topic-edit-parameters}). | |
3414 @xref{Topic Parameters}. | |
3415 | |
3416 @end table | |
3417 | |
3418 | |
3419 @node Topic Sorting | |
3420 @subsection Topic Sorting | |
3421 @cindex topic sorting | |
3422 | |
3423 You can sort the groups in each topic individually with the following | |
3424 commands: | |
3425 | |
3426 | |
3427 @table @kbd | |
3428 @item T S a | |
3429 @kindex T S a (Topic) | |
3430 @findex gnus-topic-sort-groups-by-alphabet | |
3431 Sort the current topic alphabetically by group name | |
3432 (@code{gnus-topic-sort-groups-by-alphabet}). | |
3433 | |
3434 @item T S u | |
3435 @kindex T S u (Topic) | |
3436 @findex gnus-topic-sort-groups-by-unread | |
3437 Sort the current topic by the number of unread articles | |
3438 (@code{gnus-topic-sort-groups-by-unread}). | |
3439 | |
3440 @item T S l | |
3441 @kindex T S l (Topic) | |
3442 @findex gnus-topic-sort-groups-by-level | |
3443 Sort the current topic by group level | |
3444 (@code{gnus-topic-sort-groups-by-level}). | |
3445 | |
3446 @item T S v | |
3447 @kindex T S v (Topic) | |
3448 @findex gnus-topic-sort-groups-by-score | |
3449 Sort the current topic by group score | |
3450 (@code{gnus-topic-sort-groups-by-score}). @xref{Group Score}. | |
3451 | |
3452 @item T S r | |
3453 @kindex T S r (Topic) | |
3454 @findex gnus-topic-sort-groups-by-rank | |
3455 Sort the current topic by group rank | |
3456 (@code{gnus-topic-sort-groups-by-rank}). @xref{Group Score}. | |
3457 | |
3458 @item T S m | |
3459 @kindex T S m (Topic) | |
3460 @findex gnus-topic-sort-groups-by-method | |
39395 | 3461 Sort the current topic alphabetically by back end name |
25829 | 3462 (@code{gnus-topic-sort-groups-by-method}). |
3463 | |
3464 @end table | |
3465 | |
3466 @xref{Sorting Groups}, for more information about group sorting. | |
3467 | |
3468 | |
3469 @node Topic Topology | |
3470 @subsection Topic Topology | |
3471 @cindex topic topology | |
3472 @cindex topology | |
3473 | |
3474 So, let's have a look at an example group buffer: | |
3475 | |
3476 @example | |
3477 Gnus | |
3478 Emacs -- I wuw it! | |
3479 3: comp.emacs | |
3480 2: alt.religion.emacs | |
3481 Naughty Emacs | |
3482 452: alt.sex.emacs | |
3483 0: comp.talk.emacs.recovery | |
3484 Misc | |
3485 8: comp.binaries.fractals | |
3486 13: comp.sources.unix | |
3487 @end example | |
3488 | |
3489 So, here we have one top-level topic (@samp{Gnus}), two topics under | |
3490 that, and one sub-topic under one of the sub-topics. (There is always | |
3491 just one (1) top-level topic). This topology can be expressed as | |
3492 follows: | |
3493 | |
3494 @lisp | |
3495 (("Gnus" visible) | |
3496 (("Emacs -- I wuw it!" visible) | |
3497 (("Naughty Emacs" visible))) | |
3498 (("Misc" visible))) | |
3499 @end lisp | |
3500 | |
3501 @vindex gnus-topic-topology | |
3502 This is in fact how the variable @code{gnus-topic-topology} would look | |
3503 for the display above. That variable is saved in the @file{.newsrc.eld} | |
3504 file, and shouldn't be messed with manually---unless you really want | |
3505 to. Since this variable is read from the @file{.newsrc.eld} file, | |
3506 setting it in any other startup files will have no effect. | |
3507 | |
3508 This topology shows what topics are sub-topics of what topics (right), | |
3509 and which topics are visible. Two settings are currently | |
3510 allowed---@code{visible} and @code{invisible}. | |
3511 | |
3512 | |
3513 @node Topic Parameters | |
3514 @subsection Topic Parameters | |
3515 @cindex topic parameters | |
3516 | |
3517 All groups in a topic will inherit group parameters from the parent (and | |
3518 ancestor) topic parameters. All valid group parameters are valid topic | |
3519 parameters (@pxref{Group Parameters}). | |
3520 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3521 In addition, the following parameters are only valid as topic |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3522 parameters: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3523 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3524 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3525 @item subscribe |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3526 When subscribing new groups by topic (@pxref{Subscription Methods}), the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3527 @code{subscribe} topic parameter says what groups go in what topic. Its |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3528 value should be a regexp to match the groups that should go in that |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3529 topic. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3530 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3531 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3532 |
25829 | 3533 Group parameters (of course) override topic parameters, and topic |
3534 parameters in sub-topics override topic parameters in super-topics. You | |
3535 know. Normal inheritance rules. (@dfn{Rules} is here a noun, not a | |
3536 verb, although you may feel free to disagree with me here.) | |
3537 | |
3538 @example | |
3539 Gnus | |
3540 Emacs | |
3541 3: comp.emacs | |
3542 2: alt.religion.emacs | |
3543 452: alt.sex.emacs | |
3544 Relief | |
3545 452: alt.sex.emacs | |
3546 0: comp.talk.emacs.recovery | |
3547 Misc | |
3548 8: comp.binaries.fractals | |
3549 13: comp.sources.unix | |
3550 452: alt.sex.emacs | |
3551 @end example | |
3552 | |
3553 The @samp{Emacs} topic has the topic parameter @code{(score-file | |
3554 . "emacs.SCORE")}; the @samp{Relief} topic has the topic parameter | |
3555 @code{(score-file . "relief.SCORE")}; and the @samp{Misc} topic has the | |
3556 topic parameter @code{(score-file . "emacs.SCORE")}. In addition, | |
3557 @* @samp{alt.religion.emacs} has the group parameter @code{(score-file | |
3558 . "religion.SCORE")}. | |
3559 | |
3560 Now, when you enter @samp{alt.sex.emacs} in the @samp{Relief} topic, you | |
3561 will get the @file{relief.SCORE} home score file. If you enter the same | |
3562 group in the @samp{Emacs} topic, you'll get the @file{emacs.SCORE} home | |
3563 score file. If you enter the group @samp{alt.religion.emacs}, you'll | |
3564 get the @file{religion.SCORE} home score file. | |
3565 | |
3566 This seems rather simple and self-evident, doesn't it? Well, yes. But | |
3567 there are some problems, especially with the @code{total-expiry} | |
3568 parameter. Say you have a mail group in two topics; one with | |
3569 @code{total-expiry} and one without. What happens when you do @kbd{M-x | |
3570 gnus-expire-all-expirable-groups}? Gnus has no way of telling which one | |
3571 of these topics you mean to expire articles from, so anything may | |
3572 happen. In fact, I hereby declare that it is @dfn{undefined} what | |
3573 happens. You just have to be careful if you do stuff like that. | |
3574 | |
3575 | |
3576 @node Misc Group Stuff | |
3577 @section Misc Group Stuff | |
3578 | |
3579 @menu | |
3580 * Scanning New Messages:: Asking Gnus to see whether new messages have arrived. | |
3581 * Group Information:: Information and help on groups and Gnus. | |
3582 * Group Timestamp:: Making Gnus keep track of when you last read a group. | |
3583 * File Commands:: Reading and writing the Gnus files. | |
3584 @end menu | |
3585 | |
3586 @table @kbd | |
3587 | |
3588 @item ^ | |
36028 | 3589 @kindex ^ @r{(Group)} |
25829 | 3590 @findex gnus-group-enter-server-mode |
3591 Enter the server buffer (@code{gnus-group-enter-server-mode}). | |
3592 @xref{The Server Buffer}. | |
3593 | |
3594 @item a | |
36028 | 3595 @kindex a @r{(Group)} |
25829 | 3596 @findex gnus-group-post-news |
3597 Post an article to a group (@code{gnus-group-post-news}). If given a | |
3598 prefix, the current group name will be used as the default. | |
3599 | |
3600 @item m | |
36028 | 3601 @kindex m @r{(Group)} |
25829 | 3602 @findex gnus-group-mail |
3603 Mail a message somewhere (@code{gnus-group-mail}). | |
3604 | |
3605 @end table | |
3606 | |
3607 Variables for the group buffer: | |
3608 | |
3609 @table @code | |
3610 | |
3611 @item gnus-group-mode-hook | |
3612 @vindex gnus-group-mode-hook | |
3613 is called after the group buffer has been | |
3614 created. | |
3615 | |
3616 @item gnus-group-prepare-hook | |
3617 @vindex gnus-group-prepare-hook | |
3618 is called after the group buffer is | |
3619 generated. It may be used to modify the buffer in some strange, | |
3620 unnatural way. | |
3621 | |
3622 @item gnus-group-prepared-hook | |
3623 @vindex gnus-group-prepare-hook | |
3624 is called as the very last thing after the group buffer has been | |
3625 generated. It may be used to move point around, for instance. | |
3626 | |
3627 @item gnus-permanently-visible-groups | |
3628 @vindex gnus-permanently-visible-groups | |
3629 Groups matching this regexp will always be listed in the group buffer, | |
3630 whether they are empty or not. | |
3631 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3632 @item gnus-group-name-charset-method-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3633 @vindex gnus-group-name-charset-method-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3634 An alist of method and the charset for group names. It is used to show |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3635 non-ASCII group names. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3636 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3637 For example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3638 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3639 (setq gnus-group-name-charset-method-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3640 '(((nntp "news.com.cn") . cn-gb-2312))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3641 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3642 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3643 @item gnus-group-name-charset-group-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3644 @vindex gnus-group-name-charset-group-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3645 An alist of regexp of group name and the charset for group names. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3646 It is used to show non-ASCII group names. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3647 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3648 For example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3649 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3650 (setq gnus-group-name-charset-group-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3651 '(("\\.com\\.cn:" . cn-gb-2312))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3652 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3653 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3654 @end table |
25829 | 3655 |
3656 @node Scanning New Messages | |
3657 @subsection Scanning New Messages | |
3658 @cindex new messages | |
3659 @cindex scanning new news | |
3660 | |
3661 @table @kbd | |
3662 | |
3663 @item g | |
36028 | 3664 @kindex g @r{(Group)} |
25829 | 3665 @findex gnus-group-get-new-news |
3666 @c @icon{gnus-group-get-new-news} | |
3667 Check the server(s) for new articles. If the numerical prefix is used, | |
3668 this command will check only groups of level @var{arg} and lower | |
3669 (@code{gnus-group-get-new-news}). If given a non-numerical prefix, this | |
3670 command will force a total re-reading of the active file(s) from the | |
39395 | 3671 back end(s). |
25829 | 3672 |
3673 @item M-g | |
36028 | 3674 @kindex M-g @r{(Group)} |
25829 | 3675 @findex gnus-group-get-new-news-this-group |
3676 @vindex gnus-goto-next-group-when-activating | |
3677 @c @icon{gnus-group-get-new-news-this-group} | |
3678 Check whether new articles have arrived in the current group | |
3679 (@code{gnus-group-get-new-news-this-group}). | |
3680 @code{gnus-goto-next-group-when-activating} says whether this command is | |
3681 to move point to the next group or not. It is @code{t} by default. | |
3682 | |
3683 @findex gnus-activate-all-groups | |
3684 @cindex activating groups | |
3685 @item C-c M-g | |
36028 | 3686 @kindex C-c M-g @r{(Group)} |
25829 | 3687 Activate absolutely all groups (@code{gnus-activate-all-groups}). |
3688 | |
3689 @item R | |
36028 | 3690 @kindex R @r{(Group)} |
25829 | 3691 @cindex restarting |
3692 @findex gnus-group-restart | |
3693 Restart Gnus (@code{gnus-group-restart}). This saves the @file{.newsrc} | |
3694 file(s), closes the connection to all servers, clears up all run-time | |
3695 Gnus variables, and then starts Gnus all over again. | |
3696 | |
3697 @end table | |
3698 | |
3699 @vindex gnus-get-new-news-hook | |
3700 @code{gnus-get-new-news-hook} is run just before checking for new news. | |
3701 | |
3702 @vindex gnus-after-getting-new-news-hook | |
3703 @code{gnus-after-getting-new-news-hook} is run after checking for new | |
3704 news. | |
3705 | |
3706 | |
3707 @node Group Information | |
3708 @subsection Group Information | |
3709 @cindex group information | |
3710 @cindex information on groups | |
3711 | |
3712 @table @kbd | |
3713 | |
3714 | |
3715 @item H f | |
36028 | 3716 @kindex H f @r{(Group)} |
25829 | 3717 @findex gnus-group-fetch-faq |
3718 @vindex gnus-group-faq-directory | |
3719 @cindex FAQ | |
3720 @cindex ange-ftp | |
3721 Try to fetch the FAQ for the current group | |
3722 (@code{gnus-group-fetch-faq}). Gnus will try to get the FAQ from | |
3723 @code{gnus-group-faq-directory}, which is usually a directory on a | |
3724 remote machine. This variable can also be a list of directories. In | |
3725 that case, giving a prefix to this command will allow you to choose | |
3726 between the various sites. @code{ange-ftp} (or @code{efs}) will be used | |
3727 for fetching the file. | |
3728 | |
3729 If fetching from the first site is unsuccessful, Gnus will attempt to go | |
3730 through @code{gnus-group-faq-directory} and try to open them one by one. | |
3731 | |
3732 @item H d | |
3733 @itemx C-c C-d | |
3734 @c @icon{gnus-group-describe-group} | |
36028 | 3735 @kindex H d @r{(Group)} |
3736 @kindex C-c C-d @r{(Group)} | |
25829 | 3737 @cindex describing groups |
3738 @cindex group description | |
3739 @findex gnus-group-describe-group | |
3740 Describe the current group (@code{gnus-group-describe-group}). If given | |
3741 a prefix, force Gnus to re-read the description from the server. | |
3742 | |
3743 @item M-d | |
36028 | 3744 @kindex M-d @r{(Group)} |
25829 | 3745 @findex gnus-group-describe-all-groups |
3746 Describe all groups (@code{gnus-group-describe-all-groups}). If given a | |
3747 prefix, force Gnus to re-read the description file from the server. | |
3748 | |
3749 @item H v | |
3750 @itemx V | |
36028 | 3751 @kindex V @r{(Group)} |
3752 @kindex H v @r{(Group)} | |
25829 | 3753 @cindex version |
3754 @findex gnus-version | |
3755 Display current Gnus version numbers (@code{gnus-version}). | |
3756 | |
3757 @item ? | |
36028 | 3758 @kindex ? @r{(Group)} |
25829 | 3759 @findex gnus-group-describe-briefly |
3760 Give a very short help message (@code{gnus-group-describe-briefly}). | |
3761 | |
3762 @item C-c C-i | |
36028 | 3763 @kindex C-c C-i @r{(Group)} |
25829 | 3764 @cindex info |
3765 @cindex manual | |
3766 @findex gnus-info-find-node | |
3767 Go to the Gnus info node (@code{gnus-info-find-node}). | |
3768 @end table | |
3769 | |
3770 | |
3771 @node Group Timestamp | |
3772 @subsection Group Timestamp | |
3773 @cindex timestamps | |
3774 @cindex group timestamps | |
3775 | |
3776 It can be convenient to let Gnus keep track of when you last read a | |
3777 group. To set the ball rolling, you should add | |
3778 @code{gnus-group-set-timestamp} to @code{gnus-select-group-hook}: | |
3779 | |
3780 @lisp | |
3781 (add-hook 'gnus-select-group-hook 'gnus-group-set-timestamp) | |
3782 @end lisp | |
3783 | |
3784 After doing this, each time you enter a group, it'll be recorded. | |
3785 | |
3786 This information can be displayed in various ways---the easiest is to | |
3787 use the @samp{%d} spec in the group line format: | |
3788 | |
3789 @lisp | |
3790 (setq gnus-group-line-format | |
3791 "%M\%S\%p\%P\%5y: %(%-40,40g%) %d\n") | |
3792 @end lisp | |
3793 | |
3794 This will result in lines looking like: | |
3795 | |
3796 @example | |
3797 * 0: mail.ding 19961002T012943 | |
3798 0: custom 19961002T012713 | |
3799 @end example | |
3800 | |
3801 As you can see, the date is displayed in compact ISO 8601 format. This | |
3802 may be a bit too much, so to just display the date, you could say | |
3803 something like: | |
3804 | |
3805 @lisp | |
3806 (setq gnus-group-line-format | |
3807 "%M\%S\%p\%P\%5y: %(%-40,40g%) %6,6~(cut 2)d\n") | |
3808 @end lisp | |
3809 | |
3810 | |
3811 @node File Commands | |
3812 @subsection File Commands | |
3813 @cindex file commands | |
3814 | |
3815 @table @kbd | |
3816 | |
3817 @item r | |
36028 | 3818 @kindex r @r{(Group)} |
25829 | 3819 @findex gnus-group-read-init-file |
3820 @vindex gnus-init-file | |
3821 @cindex reading init file | |
3822 Re-read the init file (@code{gnus-init-file}, which defaults to | |
3823 @file{~/.gnus}) (@code{gnus-group-read-init-file}). | |
3824 | |
3825 @item s | |
36028 | 3826 @kindex s @r{(Group)} |
25829 | 3827 @findex gnus-group-save-newsrc |
3828 @cindex saving .newsrc | |
3829 Save the @file{.newsrc.eld} file (and @file{.newsrc} if wanted) | |
3830 (@code{gnus-group-save-newsrc}). If given a prefix, force saving the | |
3831 file(s) whether Gnus thinks it is necessary or not. | |
3832 | |
3833 @c @item Z | |
36028 | 3834 @c @kindex Z @r{(Group)} |
25829 | 3835 @c @findex gnus-group-clear-dribble |
3836 @c Clear the dribble buffer (@code{gnus-group-clear-dribble}). | |
3837 | |
3838 @end table | |
3839 | |
3840 | |
3841 @node The Summary Buffer | |
3842 @chapter The Summary Buffer | |
3843 @cindex summary buffer | |
3844 | |
3845 A line for each article is displayed in the summary buffer. You can | |
3846 move around, read articles, post articles and reply to articles. | |
3847 | |
3848 The most common way to a summary buffer is to select a group from the | |
3849 group buffer (@pxref{Selecting a Group}). | |
3850 | |
3851 You can have as many summary buffers open as you wish. | |
3852 | |
3853 @menu | |
3854 * Summary Buffer Format:: Deciding how the summary buffer is to look. | |
3855 * Summary Maneuvering:: Moving around the summary buffer. | |
3856 * Choosing Articles:: Reading articles. | |
3857 * Paging the Article:: Scrolling the current article. | |
3858 * Reply Followup and Post:: Posting articles. | |
3859 * Marking Articles:: Marking articles as read, expirable, etc. | |
3860 * Limiting:: You can limit the summary buffer. | |
3861 * Threading:: How threads are made. | |
3862 * Sorting:: How articles and threads are sorted. | |
3863 * Asynchronous Fetching:: Gnus might be able to pre-fetch articles. | |
3864 * Article Caching:: You may store articles in a cache. | |
3865 * Persistent Articles:: Making articles expiry-resistant. | |
3866 * Article Backlog:: Having already read articles hang around. | |
3867 * Saving Articles:: Ways of customizing article saving. | |
3868 * Decoding Articles:: Gnus can treat series of (uu)encoded articles. | |
3869 * Article Treatment:: The article buffer can be mangled at will. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3870 * MIME Commands:: Doing MIMEy things with the articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3871 * Charsets:: Character set issues. |
25829 | 3872 * Article Commands:: Doing various things with the article buffer. |
3873 * Summary Sorting:: Sorting the summary buffer in various ways. | |
3874 * Finding the Parent:: No child support? Get the parent. | |
3875 * Alternative Approaches:: Reading using non-default summaries. | |
3876 * Tree Display:: A more visual display of threads. | |
3877 * Mail Group Commands:: Some commands can only be used in mail groups. | |
3878 * Various Summary Stuff:: What didn't fit anywhere else. | |
35614 | 3879 * Exiting the Summary Buffer:: Returning to the Group buffer, |
3880 or reselecting the current group. | |
25829 | 3881 * Crosspost Handling:: How crossposted articles are dealt with. |
3882 * Duplicate Suppression:: An alternative when crosspost handling fails. | |
3883 @end menu | |
3884 | |
3885 | |
3886 @node Summary Buffer Format | |
3887 @section Summary Buffer Format | |
3888 @cindex summary buffer format | |
3889 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3890 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3891 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3892 \gnusfigure{The Summary Buffer}{180}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3893 \put(0,0){\epsfig{figure=tmp/summary.ps,width=7.5cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3894 \put(445,0){\makebox(0,0)[br]{\epsfig{figure=tmp/summary-article.ps,width=7.5cm}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3895 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3896 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3897 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3898 |
25829 | 3899 @menu |
3900 * Summary Buffer Lines:: You can specify how summary lines should look. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3901 * To From Newsgroups:: How to not display your own name. |
25829 | 3902 * Summary Buffer Mode Line:: You can say how the mode line should look. |
3903 * Summary Highlighting:: Making the summary buffer all pretty and nice. | |
3904 @end menu | |
3905 | |
3906 @findex mail-extract-address-components | |
3907 @findex gnus-extract-address-components | |
3908 @vindex gnus-extract-address-components | |
3909 Gnus will use the value of the @code{gnus-extract-address-components} | |
3910 variable as a function for getting the name and address parts of a | |
3911 @code{From} header. Two pre-defined functions exist: | |
3912 @code{gnus-extract-address-components}, which is the default, quite | |
3913 fast, and too simplistic solution; and | |
3914 @code{mail-extract-address-components}, which works very nicely, but is | |
3915 slower. The default function will return the wrong answer in 5% of the | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3916 cases. If this is unacceptable to you, use the other function instead: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3917 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3918 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3919 (setq gnus-extract-address-components |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3920 'mail-extract-address-components) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3921 @end lisp |
25829 | 3922 |
3923 @vindex gnus-summary-same-subject | |
3924 @code{gnus-summary-same-subject} is a string indicating that the current | |
3925 article has the same subject as the previous. This string will be used | |
3926 with those specs that require it. The default is @code{""}. | |
3927 | |
3928 | |
3929 @node Summary Buffer Lines | |
3930 @subsection Summary Buffer Lines | |
3931 | |
3932 @vindex gnus-summary-line-format | |
3933 You can change the format of the lines in the summary buffer by changing | |
3934 the @code{gnus-summary-line-format} variable. It works along the same | |
3935 lines as a normal @code{format} string, with some extensions | |
3936 (@pxref{Formatting Variables}). | |
3937 | |
3938 The default string is @samp{%U%R%z%I%(%[%4L: %-20,20n%]%) %s\n}. | |
3939 | |
3940 The following format specification characters are understood: | |
3941 | |
3942 @table @samp | |
3943 @item N | |
3944 Article number. | |
3945 @item S | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3946 Subject string. List identifiers stripped, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3947 @code{gnus-list-identifies}. @xref{Article Hiding}. |
25829 | 3948 @item s |
3949 Subject if the article is the root of the thread or the previous article | |
3950 had a different subject, @code{gnus-summary-same-subject} otherwise. | |
3951 (@code{gnus-summary-same-subject} defaults to @code{""}.) | |
3952 @item F | |
3953 Full @code{From} header. | |
3954 @item n | |
3955 The name (from the @code{From} header). | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3956 @item f |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3957 The name, code @code{To} header or the @code{Newsgroups} header |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3958 (@pxref{To From Newsgroups}). |
25829 | 3959 @item a |
3960 The name (from the @code{From} header). This differs from the @code{n} | |
3961 spec in that it uses the function designated by the | |
3962 @code{gnus-extract-address-components} variable, which is slower, but | |
3963 may be more thorough. | |
3964 @item A | |
3965 The address (from the @code{From} header). This works the same way as | |
3966 the @code{a} spec. | |
3967 @item L | |
3968 Number of lines in the article. | |
3969 @item c | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3970 Number of characters in the article. This specifier is not supported in some |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3971 methods (like nnfolder). |
25829 | 3972 @item I |
3973 Indentation based on thread level (@pxref{Customizing Threading}). | |
3974 @item T | |
3975 Nothing if the article is a root and lots of spaces if it isn't (it | |
3976 pushes everything after it off the screen). | |
3977 @item [ | |
3978 Opening bracket, which is normally @samp{[}, but can also be @samp{<} | |
3979 for adopted articles (@pxref{Customizing Threading}). | |
3980 @item ] | |
3981 Closing bracket, which is normally @samp{]}, but can also be @samp{>} | |
3982 for adopted articles. | |
3983 @item > | |
3984 One space for each thread level. | |
3985 @item < | |
3986 Twenty minus thread level spaces. | |
3987 @item U | |
3988 Unread. | |
3989 | |
3990 @item R | |
3991 This misleadingly named specifier is the @dfn{secondary mark}. This | |
3992 mark will say whether the article has been replied to, has been cached, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3993 or has been saved. |
25829 | 3994 |
3995 @item i | |
3996 Score as a number (@pxref{Scoring}). | |
3997 @item z | |
3998 @vindex gnus-summary-zcore-fuzz | |
3999 Zcore, @samp{+} if above the default level and @samp{-} if below the | |
4000 default level. If the difference between | |
4001 @code{gnus-summary-default-score} and the score is less than | |
4002 @code{gnus-summary-zcore-fuzz}, this spec will not be used. | |
4003 @item V | |
4004 Total thread score. | |
4005 @item x | |
4006 @code{Xref}. | |
4007 @item D | |
4008 @code{Date}. | |
4009 @item d | |
4010 The @code{Date} in @code{DD-MMM} format. | |
4011 @item o | |
4012 The @code{Date} in @var{YYYYMMDD}@code{T}@var{HHMMSS} format. | |
4013 @item M | |
4014 @code{Message-ID}. | |
4015 @item r | |
4016 @code{References}. | |
4017 @item t | |
4018 Number of articles in the current sub-thread. Using this spec will slow | |
4019 down summary buffer generation somewhat. | |
4020 @item e | |
4021 An @samp{=} (@code{gnus-not-empty-thread-mark}) will be displayed if the | |
4022 article has any children. | |
4023 @item P | |
4024 The line number. | |
4025 @item O | |
4026 Download mark. | |
4027 @item u | |
4028 User defined specifier. The next character in the format string should | |
4029 be a letter. Gnus will call the function | |
4030 @code{gnus-user-format-function-}@samp{X}, where @samp{X} is the letter | |
4031 following @samp{%u}. The function will be passed the current header as | |
4032 argument. The function should return a string, which will be inserted | |
4033 into the summary just like information from any other summary specifier. | |
4034 @end table | |
4035 | |
4036 The @samp{%U} (status), @samp{%R} (replied) and @samp{%z} (zcore) specs | |
4037 have to be handled with care. For reasons of efficiency, Gnus will | |
4038 compute what column these characters will end up in, and ``hard-code'' | |
4039 that. This means that it is invalid to have these specs after a | |
4040 variable-length spec. Well, you might not be arrested, but your summary | |
4041 buffer will look strange, which is bad enough. | |
4042 | |
4043 The smart choice is to have these specs as far to the left as possible. | |
4044 (Isn't that the case with everything, though? But I digress.) | |
4045 | |
4046 This restriction may disappear in later versions of Gnus. | |
4047 | |
4048 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4049 @node To From Newsgroups |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4050 @subsection To From Newsgroups |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4051 @cindex To |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4052 @cindex Newsgroups |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4053 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4054 In some groups (particularly in archive groups), the @code{From} header |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4055 isn't very interesting, since all the articles there are written by |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4056 you. To display the information in the @code{To} or @code{Newsgroups} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4057 headers instead, you need to decide three things: What information to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4058 gather; where to display it; and when to display it. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4059 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4060 @enumerate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4061 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4062 @vindex gnus-extra-headers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4063 The reading of extra header information is controlled by the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4064 @code{gnus-extra-headers}. This is a list of header symbols. For |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4065 instance: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4066 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4067 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4068 (setq gnus-extra-headers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4069 '(To Newsgroups X-Newsreader)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4070 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4071 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4072 This will result in Gnus trying to obtain these three headers, and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4073 storing it in header structures for later easy retrieval. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4074 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4075 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4076 @findex gnus-extra-header |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4077 The value of these extra headers can be accessed via the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4078 @code{gnus-extra-header} function. Here's a format line spec that will |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4079 access the @code{X-Newsreader} header: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4080 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4081 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4082 "%~(form (gnus-extra-header 'X-Newsreader))@@" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4083 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4084 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4085 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4086 @vindex gnus-ignored-from-addresses |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4087 The @code{gnus-ignored-from-addresses} variable says when the @samp{%f} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4088 summary line spec returns the @code{To}, @code{Newsreader} or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4089 @code{From} header. If this regexp matches the contents of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4090 @code{From} header, the value of the @code{To} or @code{Newsreader} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4091 headers are used instead. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4092 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4093 @end enumerate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4094 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4095 @vindex nnmail-extra-headers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4096 A related variable is @code{nnmail-extra-headers}, which controls when |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4097 to include extra headers when generating overview (@sc{nov}) files. If |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4098 you have old overview files, you should regenerate them after changing |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4099 this variable. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4100 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4101 @vindex gnus-summary-line-format |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4102 You also have to instruct Gnus to display the data by changing the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4103 @code{%n} spec to the @code{%f} spec in the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4104 @code{gnus-summary-line-format} variable. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4105 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4106 In summary, you'd typically do something like the following: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4107 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4108 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4109 (setq gnus-extra-headers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4110 '(To Newsgroups)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4111 (setq nnmail-extra-headers gnus-extra-headers) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4112 (setq gnus-summary-line-format |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4113 "%U%R%z%I%(%[%4L: %-20,20f%]%) %s\n") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4114 (setq gnus-ignored-from-addresses |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4115 "Your Name Here") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4116 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4117 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4118 Now, this is mostly useful for mail groups, where you have control over |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4119 the @sc{nov} files that are created. However, if you can persuade your |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4120 nntp admin to add: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4121 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4122 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4123 Newsgroups:full |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4124 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4125 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4126 to the end of her @file{overview.fmt} file, then you can use that just |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4127 as you would the extra headers from the mail groups. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4128 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4129 |
25829 | 4130 @node Summary Buffer Mode Line |
4131 @subsection Summary Buffer Mode Line | |
4132 | |
4133 @vindex gnus-summary-mode-line-format | |
4134 You can also change the format of the summary mode bar (@pxref{Mode Line | |
4135 Formatting}). Set @code{gnus-summary-mode-line-format} to whatever you | |
4136 like. The default is @samp{Gnus: %%b [%A] %Z}. | |
4137 | |
4138 Here are the elements you can play with: | |
4139 | |
4140 @table @samp | |
4141 @item G | |
4142 Group name. | |
4143 @item p | |
4144 Unprefixed group name. | |
4145 @item A | |
4146 Current article number. | |
4147 @item z | |
4148 Current article score. | |
4149 @item V | |
4150 Gnus version. | |
4151 @item U | |
4152 Number of unread articles in this group. | |
4153 @item e | |
4154 Number of unread articles in this group that aren't displayed in the | |
4155 summary buffer. | |
4156 @item Z | |
4157 A string with the number of unread and unselected articles represented | |
4158 either as @samp{<%U(+%e) more>} if there are both unread and unselected | |
4159 articles, and just as @samp{<%U more>} if there are just unread articles | |
4160 and no unselected ones. | |
4161 @item g | |
4162 Shortish group name. For instance, @samp{rec.arts.anime} will be | |
4163 shortened to @samp{r.a.anime}. | |
4164 @item S | |
4165 Subject of the current article. | |
4166 @item u | |
4167 User-defined spec (@pxref{User-Defined Specs}). | |
4168 @item s | |
4169 Name of the current score file (@pxref{Scoring}). | |
4170 @item d | |
4171 Number of dormant articles (@pxref{Unread Articles}). | |
4172 @item t | |
4173 Number of ticked articles (@pxref{Unread Articles}). | |
4174 @item r | |
4175 Number of articles that have been marked as read in this session. | |
4176 @item E | |
4177 Number of articles expunged by the score files. | |
4178 @end table | |
4179 | |
4180 | |
4181 @node Summary Highlighting | |
4182 @subsection Summary Highlighting | |
4183 | |
4184 @table @code | |
4185 | |
4186 @item gnus-visual-mark-article-hook | |
4187 @vindex gnus-visual-mark-article-hook | |
4188 This hook is run after selecting an article. It is meant to be used for | |
4189 highlighting the article in some way. It is not run if | |
4190 @code{gnus-visual} is @code{nil}. | |
4191 | |
4192 @item gnus-summary-update-hook | |
4193 @vindex gnus-summary-update-hook | |
4194 This hook is called when a summary line is changed. It is not run if | |
4195 @code{gnus-visual} is @code{nil}. | |
4196 | |
4197 @item gnus-summary-selected-face | |
4198 @vindex gnus-summary-selected-face | |
4199 This is the face (or @dfn{font} as some people call it) used to | |
4200 highlight the current article in the summary buffer. | |
4201 | |
4202 @item gnus-summary-highlight | |
4203 @vindex gnus-summary-highlight | |
4204 Summary lines are highlighted according to this variable, which is a | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4205 list where the elements are of the format @code{(@var{form} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4206 . @var{face})}. If you would, for instance, like ticked articles to be |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4207 italic and high-scored articles to be bold, you could set this variable |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4208 to something like |
25829 | 4209 @lisp |
4210 (((eq mark gnus-ticked-mark) . italic) | |
4211 ((> score default) . bold)) | |
4212 @end lisp | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4213 As you may have guessed, if @var{form} returns a non-@code{nil} value, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4214 @var{face} will be applied to the line. |
25829 | 4215 @end table |
4216 | |
4217 | |
4218 @node Summary Maneuvering | |
4219 @section Summary Maneuvering | |
4220 @cindex summary movement | |
4221 | |
4222 All the straight movement commands understand the numeric prefix and | |
4223 behave pretty much as you'd expect. | |
4224 | |
4225 None of these commands select articles. | |
4226 | |
4227 @table @kbd | |
4228 @item G M-n | |
4229 @itemx M-n | |
36028 | 4230 @kindex M-n @r{(Summary)} |
4231 @kindex G M-n @r{(Summary)} | |
25829 | 4232 @findex gnus-summary-next-unread-subject |
4233 Go to the next summary line of an unread article | |
4234 (@code{gnus-summary-next-unread-subject}). | |
4235 | |
4236 @item G M-p | |
4237 @itemx M-p | |
36028 | 4238 @kindex M-p @r{(Summary)} |
4239 @kindex G M-p @r{(Summary)} | |
25829 | 4240 @findex gnus-summary-prev-unread-subject |
4241 Go to the previous summary line of an unread article | |
4242 (@code{gnus-summary-prev-unread-subject}). | |
4243 | |
4244 @item G g | |
36028 | 4245 @kindex G g @r{(Summary)} |
25829 | 4246 @findex gnus-summary-goto-subject |
4247 Ask for an article number and then go to the summary line of that article | |
4248 without displaying the article (@code{gnus-summary-goto-subject}). | |
4249 @end table | |
4250 | |
4251 If Gnus asks you to press a key to confirm going to the next group, you | |
4252 can use the @kbd{C-n} and @kbd{C-p} keys to move around the group | |
4253 buffer, searching for the next group to read without actually returning | |
4254 to the group buffer. | |
4255 | |
4256 Variables related to summary movement: | |
4257 | |
4258 @table @code | |
4259 | |
4260 @vindex gnus-auto-select-next | |
4261 @item gnus-auto-select-next | |
4262 If you issue one of the movement commands (like @kbd{n}) and there are | |
4263 no more unread articles after the current one, Gnus will offer to go to | |
4264 the next group. If this variable is @code{t} and the next group is | |
4265 empty, Gnus will exit summary mode and return to the group buffer. If | |
4266 this variable is neither @code{t} nor @code{nil}, Gnus will select the | |
4267 next group, no matter whether it has any unread articles or not. As a | |
4268 special case, if this variable is @code{quietly}, Gnus will select the | |
4269 next group without asking for confirmation. If this variable is | |
4270 @code{almost-quietly}, the same will happen only if you are located on | |
4271 the last article in the group. Finally, if this variable is | |
4272 @code{slightly-quietly}, the @kbd{Z n} command will go to the next group | |
4273 without confirmation. Also @pxref{Group Levels}. | |
4274 | |
4275 @item gnus-auto-select-same | |
4276 @vindex gnus-auto-select-same | |
4277 If non-@code{nil}, all the movement commands will try to go to the next | |
4278 article with the same subject as the current. (@dfn{Same} here might | |
4279 mean @dfn{roughly equal}. See @code{gnus-summary-gather-subject-limit} | |
4280 for details (@pxref{Customizing Threading}).) If there are no more | |
4281 articles with the same subject, go to the first unread article. | |
4282 | |
4283 This variable is not particularly useful if you use a threaded display. | |
4284 | |
4285 @item gnus-summary-check-current | |
4286 @vindex gnus-summary-check-current | |
4287 If non-@code{nil}, all the ``unread'' movement commands will not proceed | |
4288 to the next (or previous) article if the current article is unread. | |
4289 Instead, they will choose the current article. | |
4290 | |
4291 @item gnus-auto-center-summary | |
4292 @vindex gnus-auto-center-summary | |
4293 If non-@code{nil}, Gnus will keep the point in the summary buffer | |
4294 centered at all times. This makes things quite tidy, but if you have a | |
4295 slow network connection, or simply do not like this un-Emacsism, you can | |
4296 set this variable to @code{nil} to get the normal Emacs scrolling | |
4297 action. This will also inhibit horizontal re-centering of the summary | |
4298 buffer, which might make it more inconvenient to read extremely long | |
4299 threads. | |
4300 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4301 This variable can also be a number. In that case, center the window at |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4302 the given number of lines from the top. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4303 |
25829 | 4304 @end table |
4305 | |
4306 | |
4307 @node Choosing Articles | |
4308 @section Choosing Articles | |
4309 @cindex selecting articles | |
4310 | |
4311 @menu | |
4312 * Choosing Commands:: Commands for choosing articles. | |
4313 * Choosing Variables:: Variables that influence these commands. | |
4314 @end menu | |
4315 | |
4316 | |
4317 @node Choosing Commands | |
4318 @subsection Choosing Commands | |
4319 | |
4320 None of the following movement commands understand the numeric prefix, | |
4321 and they all select and display an article. | |
4322 | |
35614 | 4323 If you want to fetch new articles or redisplay the group, see |
4324 @ref{Exiting the Summary Buffer}. | |
4325 | |
25829 | 4326 @table @kbd |
36028 | 4327 @item @key{SPC} |
4328 @kindex @key{SPC} @r{(Summary)} | |
25829 | 4329 @findex gnus-summary-next-page |
4330 Select the current article, or, if that one's read already, the next | |
4331 unread article (@code{gnus-summary-next-page}). | |
4332 | |
4333 @item G n | |
4334 @itemx n | |
36028 | 4335 @kindex n @r{(Summary)} |
4336 @kindex G n @r{(Summary)} | |
25829 | 4337 @findex gnus-summary-next-unread-article |
4338 @c @icon{gnus-summary-next-unread} | |
4339 Go to next unread article (@code{gnus-summary-next-unread-article}). | |
4340 | |
4341 @item G p | |
4342 @itemx p | |
36028 | 4343 @kindex p @r{(Summary)} |
25829 | 4344 @findex gnus-summary-prev-unread-article |
4345 @c @icon{gnus-summary-prev-unread} | |
4346 Go to previous unread article (@code{gnus-summary-prev-unread-article}). | |
4347 | |
4348 @item G N | |
4349 @itemx N | |
36028 | 4350 @kindex N @r{(Summary)} |
4351 @kindex G N @r{(Summary)} | |
25829 | 4352 @findex gnus-summary-next-article |
4353 Go to the next article (@code{gnus-summary-next-article}). | |
4354 | |
4355 @item G P | |
4356 @itemx P | |
36028 | 4357 @kindex P @r{(Summary)} |
4358 @kindex G P @r{(Summary)} | |
25829 | 4359 @findex gnus-summary-prev-article |
4360 Go to the previous article (@code{gnus-summary-prev-article}). | |
4361 | |
4362 @item G C-n | |
36028 | 4363 @kindex G C-n @r{(Summary)} |
25829 | 4364 @findex gnus-summary-next-same-subject |
4365 Go to the next article with the same subject | |
4366 (@code{gnus-summary-next-same-subject}). | |
4367 | |
4368 @item G C-p | |
36028 | 4369 @kindex G C-p @r{(Summary)} |
25829 | 4370 @findex gnus-summary-prev-same-subject |
4371 Go to the previous article with the same subject | |
4372 (@code{gnus-summary-prev-same-subject}). | |
4373 | |
4374 @item G f | |
4375 @itemx . | |
36028 | 4376 @kindex G f @r{(Summary)} |
4377 @kindex . @r{(Summary)} | |
25829 | 4378 @findex gnus-summary-first-unread-article |
4379 Go to the first unread article | |
4380 (@code{gnus-summary-first-unread-article}). | |
4381 | |
4382 @item G b | |
4383 @itemx , | |
36028 | 4384 @kindex G b @r{(Summary)} |
4385 @kindex , @r{(Summary)} | |
25829 | 4386 @findex gnus-summary-best-unread-article |
4387 Go to the article with the highest score | |
4388 (@code{gnus-summary-best-unread-article}). | |
4389 | |
4390 @item G l | |
4391 @itemx l | |
36028 | 4392 @kindex l @r{(Summary)} |
4393 @kindex G l @r{(Summary)} | |
25829 | 4394 @findex gnus-summary-goto-last-article |
4395 Go to the previous article read (@code{gnus-summary-goto-last-article}). | |
4396 | |
4397 @item G o | |
36028 | 4398 @kindex G o @r{(Summary)} |
25829 | 4399 @findex gnus-summary-pop-article |
4400 @cindex history | |
4401 @cindex article history | |
4402 Pop an article off the summary history and go to this article | |
4403 (@code{gnus-summary-pop-article}). This command differs from the | |
4404 command above in that you can pop as many previous articles off the | |
4405 history as you like, while @kbd{l} toggles the two last read articles. | |
4406 For a somewhat related issue (if you use these commands a lot), | |
4407 @pxref{Article Backlog}. | |
36879 | 4408 |
4409 @item G j | |
4410 @itemx j | |
4411 @kindex j @r{(Summary)} | |
4412 @kindex G j @r{(Summary)} | |
4413 @findex gnus-summary-goto-article | |
4414 Ask for an article number or @code{Message-ID}, and then go to that | |
4415 article (@code{gnus-summary-goto-article}). | |
25829 | 4416 @end table |
4417 | |
4418 | |
4419 @node Choosing Variables | |
4420 @subsection Choosing Variables | |
4421 | |
4422 Some variables relevant for moving and selecting articles: | |
4423 | |
4424 @table @code | |
4425 @item gnus-auto-extend-newsgroup | |
4426 @vindex gnus-auto-extend-newsgroup | |
4427 All the movement commands will try to go to the previous (or next) | |
4428 article, even if that article isn't displayed in the Summary buffer if | |
4429 this variable is non-@code{nil}. Gnus will then fetch the article from | |
4430 the server and display it in the article buffer. | |
4431 | |
4432 @item gnus-select-article-hook | |
4433 @vindex gnus-select-article-hook | |
4434 This hook is called whenever an article is selected. By default it | |
4435 exposes any threads hidden under the selected article. | |
4436 | |
4437 @item gnus-mark-article-hook | |
4438 @vindex gnus-mark-article-hook | |
4439 @findex gnus-summary-mark-unread-as-read | |
4440 @findex gnus-summary-mark-read-and-unread-as-read | |
4441 @findex gnus-unread-mark | |
4442 This hook is called whenever an article is selected. It is intended to | |
4443 be used for marking articles as read. The default value is | |
4444 @code{gnus-summary-mark-read-and-unread-as-read}, and will change the | |
4445 mark of almost any article you read to @code{gnus-unread-mark}. The | |
4446 only articles not affected by this function are ticked, dormant, and | |
4447 expirable articles. If you'd instead like to just have unread articles | |
4448 marked as read, you can use @code{gnus-summary-mark-unread-as-read} | |
4449 instead. It will leave marks like @code{gnus-low-score-mark}, | |
4450 @code{gnus-del-mark} (and so on) alone. | |
4451 | |
4452 @end table | |
4453 | |
4454 | |
4455 @node Paging the Article | |
4456 @section Scrolling the Article | |
4457 @cindex article scrolling | |
4458 | |
4459 @table @kbd | |
4460 | |
36028 | 4461 @item @key{SPC} |
4462 @kindex @key{SPC} @r{(Summary)} | |
25829 | 4463 @findex gnus-summary-next-page |
36028 | 4464 Pressing @key{SPC} will scroll the current article forward one page, |
25829 | 4465 or, if you have come to the end of the current article, will choose the |
4466 next article (@code{gnus-summary-next-page}). | |
4467 | |
36028 | 4468 @item @key{DEL} |
4469 @kindex @key{DEL} @r{(Summary)} | |
25829 | 4470 @findex gnus-summary-prev-page |
4471 Scroll the current article back one page (@code{gnus-summary-prev-page}). | |
4472 | |
36028 | 4473 @item @key{RET} |
4474 @kindex @key{RET} @r{(Summary)} | |
25829 | 4475 @findex gnus-summary-scroll-up |
4476 Scroll the current article one line forward | |
4477 (@code{gnus-summary-scroll-up}). | |
4478 | |
36028 | 4479 @item M-@key{RET} |
4480 @kindex M-@key{RET} @r{(Summary)} | |
25829 | 4481 @findex gnus-summary-scroll-down |
4482 Scroll the current article one line backward | |
4483 (@code{gnus-summary-scroll-down}). | |
4484 | |
4485 @item A g | |
4486 @itemx g | |
36028 | 4487 @kindex A g @r{(Summary)} |
4488 @kindex g @r{(Summary)} | |
25829 | 4489 @findex gnus-summary-show-article |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4490 @vindex gnus-summary-show-article-charset-alist |
25829 | 4491 (Re)fetch the current article (@code{gnus-summary-show-article}). If |
4492 given a prefix, fetch the current article, but don't run any of the | |
4493 article treatment functions. This will give you a ``raw'' article, just | |
4494 the way it came from the server. | |
4495 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4496 If given a numerical prefix, you can do semi-manual charset stuff. |
36028 | 4497 @kbd{C-u 0 g cn-gb-2312 @key{RET}} will decode the message as if it were |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4498 encoded in the @code{cn-gb-2312} charset. If you have |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4499 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4500 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4501 (setq gnus-summary-show-article-charset-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4502 '((1 . cn-gb-2312) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4503 (2 . big5))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4504 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4505 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4506 then you can say @kbd{C-u 1 g} to get the same effect. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4507 |
25829 | 4508 @item A < |
4509 @itemx < | |
36028 | 4510 @kindex < @r{(Summary)} |
4511 @kindex A < @r{(Summary)} | |
25829 | 4512 @findex gnus-summary-beginning-of-article |
4513 Scroll to the beginning of the article | |
4514 (@code{gnus-summary-beginning-of-article}). | |
4515 | |
4516 @item A > | |
4517 @itemx > | |
36028 | 4518 @kindex > @r{(Summary)} |
4519 @kindex A > @r{(Summary)} | |
25829 | 4520 @findex gnus-summary-end-of-article |
4521 Scroll to the end of the article (@code{gnus-summary-end-of-article}). | |
4522 | |
4523 @item A s | |
4524 @itemx s | |
36028 | 4525 @kindex A s @r{(Summary)} |
4526 @kindex s @r{(Summary)} | |
25829 | 4527 @findex gnus-summary-isearch-article |
4528 Perform an isearch in the article buffer | |
4529 (@code{gnus-summary-isearch-article}). | |
4530 | |
4531 @item h | |
36028 | 4532 @kindex h @r{(Summary)} |
25829 | 4533 @findex gnus-summary-select-article-buffer |
4534 Select the article buffer (@code{gnus-summary-select-article-buffer}). | |
4535 | |
4536 @end table | |
4537 | |
4538 | |
4539 @node Reply Followup and Post | |
4540 @section Reply, Followup and Post | |
4541 | |
4542 @menu | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4543 * Summary Mail Commands:: Sending mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4544 * Summary Post Commands:: Sending news. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4545 * Summary Message Commands:: Other Message-related commands. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4546 * Canceling and Superseding:: ``Whoops, I shouldn't have called him that.'' |
25829 | 4547 @end menu |
4548 | |
4549 | |
4550 @node Summary Mail Commands | |
4551 @subsection Summary Mail Commands | |
4552 @cindex mail | |
4553 @cindex composing mail | |
4554 | |
4555 Commands for composing a mail message: | |
4556 | |
4557 @table @kbd | |
4558 | |
4559 @item S r | |
4560 @itemx r | |
36028 | 4561 @kindex S r @r{(Summary)} |
4562 @kindex r @r{(Summary)} | |
25829 | 4563 @findex gnus-summary-reply |
4564 @c @icon{gnus-summary-mail-reply} | |
4565 @c @icon{gnus-summary-reply} | |
4566 Mail a reply to the author of the current article | |
4567 (@code{gnus-summary-reply}). | |
4568 | |
4569 @item S R | |
4570 @itemx R | |
36028 | 4571 @kindex R @r{(Summary)} |
4572 @kindex S R @r{(Summary)} | |
25829 | 4573 @findex gnus-summary-reply-with-original |
4574 @c @icon{gnus-summary-reply-with-original} | |
4575 Mail a reply to the author of the current article and include the | |
4576 original message (@code{gnus-summary-reply-with-original}). This | |
4577 command uses the process/prefix convention. | |
4578 | |
4579 @item S w | |
36028 | 4580 @kindex S w @r{(Summary)} |
25829 | 4581 @findex gnus-summary-wide-reply |
4582 Mail a wide reply to the author of the current article | |
4583 (@code{gnus-summary-wide-reply}). A @dfn{wide reply} is a reply that | |
4584 goes out to all people listed in the @code{To}, @code{From} (or | |
4585 @code{Reply-to}) and @code{Cc} headers. | |
4586 | |
4587 @item S W | |
36028 | 4588 @kindex S W @r{(Summary)} |
25829 | 4589 @findex gnus-summary-wide-reply-with-original |
4590 Mail a wide reply to the current article and include the original | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4591 message (@code{gnus-summary-wide-reply-with-original}). This command uses |
25829 | 4592 the process/prefix convention. |
4593 | |
4594 @item S o m | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4595 @itemx C-c C-f |
36028 | 4596 @kindex S o m @r{(Summary)} |
4597 @kindex C-c C-f @r{(Summary)} | |
25829 | 4598 @findex gnus-summary-mail-forward |
4599 @c @icon{gnus-summary-mail-forward} | |
4600 Forward the current article to some other person | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4601 (@code{gnus-summary-mail-forward}). If no prefix is given, the message |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4602 is forwarded according to the value of (@code{message-forward-as-mime}) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4603 and (@code{message-forward-show-mml}); if the prefix is 1, decode the |
35073 | 4604 message and forward directly inline; if the prefix is 2, forward message |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4605 as an rfc822 MIME section; if the prefix is 3, decode message and |
35073 | 4606 forward as an rfc822 MIME section; if the prefix is 4, forward message |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4607 directly inline; otherwise, the message is forwarded as no prefix given |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4608 but use the flipped value of (@code{message-forward-as-mime}). By |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4609 default, the message is decoded and forwarded as an rfc822 MIME section. |
25829 | 4610 |
4611 @item S m | |
4612 @itemx m | |
36028 | 4613 @kindex m @r{(Summary)} |
4614 @kindex S m @r{(Summary)} | |
25829 | 4615 @findex gnus-summary-mail-other-window |
4616 @c @icon{gnus-summary-mail-originate} | |
4617 Send a mail to some other person | |
4618 (@code{gnus-summary-mail-other-window}). | |
4619 | |
4620 @item S D b | |
36028 | 4621 @kindex S D b @r{(Summary)} |
25829 | 4622 @findex gnus-summary-resend-bounced-mail |
4623 @cindex bouncing mail | |
4624 If you have sent a mail, but the mail was bounced back to you for some | |
4625 reason (wrong address, transient failure), you can use this command to | |
4626 resend that bounced mail (@code{gnus-summary-resend-bounced-mail}). You | |
4627 will be popped into a mail buffer where you can edit the headers before | |
4628 sending the mail off again. If you give a prefix to this command, and | |
4629 the bounced mail is a reply to some other mail, Gnus will try to fetch | |
4630 that mail and display it for easy perusal of its headers. This might | |
4631 very well fail, though. | |
4632 | |
4633 @item S D r | |
36028 | 4634 @kindex S D r @r{(Summary)} |
25829 | 4635 @findex gnus-summary-resend-message |
4636 Not to be confused with the previous command, | |
4637 @code{gnus-summary-resend-message} will prompt you for an address to | |
4638 send the current message off to, and then send it to that place. The | |
4639 headers of the message won't be altered---but lots of headers that say | |
4640 @code{Resent-To}, @code{Resent-From} and so on will be added. This | |
4641 means that you actually send a mail to someone that has a @code{To} | |
4642 header that (probably) points to yourself. This will confuse people. | |
4643 So, natcherly you'll only do that if you're really eVIl. | |
4644 | |
4645 This command is mainly used if you have several accounts and want to | |
4646 ship a mail to a different account of yours. (If you're both | |
4647 @code{root} and @code{postmaster} and get a mail for @code{postmaster} | |
4648 to the @code{root} account, you may want to resend it to | |
4649 @code{postmaster}. Ordnung muß sein! | |
4650 | |
4651 This command understands the process/prefix convention | |
4652 (@pxref{Process/Prefix}). | |
4653 | |
4654 @item S O m | |
36028 | 4655 @kindex S O m @r{(Summary)} |
25829 | 4656 @findex gnus-uu-digest-mail-forward |
4657 Digest the current series (@pxref{Decoding Articles}) and forward the | |
4658 result using mail (@code{gnus-uu-digest-mail-forward}). This command | |
4659 uses the process/prefix convention (@pxref{Process/Prefix}). | |
4660 | |
4661 @item S M-c | |
36028 | 4662 @kindex S M-c @r{(Summary)} |
25829 | 4663 @findex gnus-summary-mail-crosspost-complaint |
4664 @cindex crossposting | |
4665 @cindex excessive crossposting | |
4666 Send a complaint about excessive crossposting to the author of the | |
4667 current article (@code{gnus-summary-mail-crosspost-complaint}). | |
4668 | |
4669 @findex gnus-crosspost-complaint | |
4670 This command is provided as a way to fight back against the current | |
4671 crossposting pandemic that's sweeping Usenet. It will compose a reply | |
4672 using the @code{gnus-crosspost-complaint} variable as a preamble. This | |
4673 command understands the process/prefix convention | |
4674 (@pxref{Process/Prefix}) and will prompt you before sending each mail. | |
4675 | |
4676 @end table | |
4677 | |
4678 Also @pxref{(message)Header Commands} for more information. | |
4679 | |
4680 | |
4681 @node Summary Post Commands | |
4682 @subsection Summary Post Commands | |
4683 @cindex post | |
4684 @cindex composing news | |
4685 | |
4686 Commands for posting a news article: | |
4687 | |
4688 @table @kbd | |
4689 @item S p | |
4690 @itemx a | |
36028 | 4691 @kindex a @r{(Summary)} |
4692 @kindex S p @r{(Summary)} | |
25829 | 4693 @findex gnus-summary-post-news |
4694 @c @icon{gnus-summary-post-news} | |
4695 Post an article to the current group | |
4696 (@code{gnus-summary-post-news}). | |
4697 | |
4698 @item S f | |
4699 @itemx f | |
36028 | 4700 @kindex f @r{(Summary)} |
4701 @kindex S f @r{(Summary)} | |
25829 | 4702 @findex gnus-summary-followup |
4703 @c @icon{gnus-summary-followup} | |
4704 Post a followup to the current article (@code{gnus-summary-followup}). | |
4705 | |
4706 @item S F | |
4707 @itemx F | |
36028 | 4708 @kindex S F @r{(Summary)} |
4709 @kindex F @r{(Summary)} | |
25829 | 4710 @c @icon{gnus-summary-followup-with-original} |
4711 @findex gnus-summary-followup-with-original | |
4712 Post a followup to the current article and include the original message | |
4713 (@code{gnus-summary-followup-with-original}). This command uses the | |
4714 process/prefix convention. | |
4715 | |
4716 @item S n | |
36028 | 4717 @kindex S n @r{(Summary)} |
25829 | 4718 @findex gnus-summary-followup-to-mail |
4719 Post a followup to the current article via news, even if you got the | |
4720 message through mail (@code{gnus-summary-followup-to-mail}). | |
4721 | |
4722 @item S N | |
36028 | 4723 @kindex S N @r{(Summary)} |
25829 | 4724 @findex gnus-summary-followup-to-mail-with-original |
4725 Post a followup to the current article via news, even if you got the | |
4726 message through mail and include the original message | |
4727 (@code{gnus-summary-followup-to-mail-with-original}). This command uses | |
4728 the process/prefix convention. | |
4729 | |
4730 @item S o p | |
36028 | 4731 @kindex S o p @r{(Summary)} |
25829 | 4732 @findex gnus-summary-post-forward |
4733 Forward the current article to a newsgroup | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4734 (@code{gnus-summary-post-forward}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4735 If no prefix is given, the message is forwarded according to the value |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4736 of (@code{message-forward-as-mime}) and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4737 (@code{message-forward-show-mml}); if the prefix is 1, decode the |
35073 | 4738 message and forward directly inline; if the prefix is 2, forward message |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4739 as an rfc822 MIME section; if the prefix is 3, decode message and |
35073 | 4740 forward as an rfc822 MIME section; if the prefix is 4, forward message |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4741 directly inline; otherwise, the message is forwarded as no prefix given |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4742 but use the flipped value of (@code{message-forward-as-mime}). By |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4743 default, the message is decoded and forwarded as an rfc822 MIME section. |
25829 | 4744 |
4745 @item S O p | |
36028 | 4746 @kindex S O p @r{(Summary)} |
25829 | 4747 @findex gnus-uu-digest-post-forward |
4748 @cindex digests | |
4749 @cindex making digests | |
4750 Digest the current series and forward the result to a newsgroup | |
4751 (@code{gnus-uu-digest-mail-forward}). This command uses the | |
4752 process/prefix convention. | |
4753 | |
4754 @item S u | |
36028 | 4755 @kindex S u @r{(Summary)} |
25829 | 4756 @findex gnus-uu-post-news |
4757 @c @icon{gnus-uu-post-news} | |
4758 Uuencode a file, split it into parts, and post it as a series | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4759 (@code{gnus-uu-post-news}). (@pxref{Uuencoding and Posting}). |
25829 | 4760 @end table |
4761 | |
4762 Also @pxref{(message)Header Commands} for more information. | |
4763 | |
4764 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4765 @node Summary Message Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4766 @subsection Summary Message Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4767 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4768 @table @kbd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4769 @item S y |
36028 | 4770 @kindex S y @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4771 @findex gnus-summary-yank-message |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4772 Yank the current article into an already existing Message composition |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4773 buffer (@code{gnus-summary-yank-message}). This command prompts for |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4774 what message buffer you want to yank into, and understands the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4775 process/prefix convention (@pxref{Process/Prefix}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4776 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4777 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4778 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4779 |
25829 | 4780 @node Canceling and Superseding |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4781 @subsection Canceling Articles |
25829 | 4782 @cindex canceling articles |
4783 @cindex superseding articles | |
4784 | |
4785 Have you ever written something, and then decided that you really, | |
4786 really, really wish you hadn't posted that? | |
4787 | |
4788 Well, you can't cancel mail, but you can cancel posts. | |
4789 | |
4790 @findex gnus-summary-cancel-article | |
36028 | 4791 @kindex C @r{(Summary)} |
25829 | 4792 @c @icon{gnus-summary-cancel-article} |
4793 Find the article you wish to cancel (you can only cancel your own | |
4794 articles, so don't try any funny stuff). Then press @kbd{C} or @kbd{S | |
4795 c} (@code{gnus-summary-cancel-article}). Your article will be | |
4796 canceled---machines all over the world will be deleting your article. | |
4797 This command uses the process/prefix convention (@pxref{Process/Prefix}). | |
4798 | |
4799 Be aware, however, that not all sites honor cancels, so your article may | |
4800 live on here and there, while most sites will delete the article in | |
4801 question. | |
4802 | |
4803 Gnus will use the ``current'' select method when canceling. If you | |
4804 want to use the standard posting method, use the @samp{a} symbolic | |
4805 prefix (@pxref{Symbolic Prefixes}). | |
4806 | |
4807 If you discover that you have made some mistakes and want to do some | |
4808 corrections, you can post a @dfn{superseding} article that will replace | |
4809 your original article. | |
4810 | |
4811 @findex gnus-summary-supersede-article | |
36028 | 4812 @kindex S @r{(Summary)} |
25829 | 4813 Go to the original article and press @kbd{S s} |
4814 (@code{gnus-summary-supersede-article}). You will be put in a buffer | |
4815 where you can edit the article all you want before sending it off the | |
4816 usual way. | |
4817 | |
4818 The same goes for superseding as for canceling, only more so: Some | |
4819 sites do not honor superseding. On those sites, it will appear that you | |
4820 have posted almost the same article twice. | |
4821 | |
4822 If you have just posted the article, and change your mind right away, | |
4823 there is a trick you can use to cancel/supersede the article without | |
4824 waiting for the article to appear on your site first. You simply return | |
4825 to the post buffer (which is called @code{*sent ...*}). There you will | |
4826 find the article you just posted, with all the headers intact. Change | |
4827 the @code{Message-ID} header to a @code{Cancel} or @code{Supersedes} | |
4828 header by substituting one of those words for the word | |
4829 @code{Message-ID}. Then just press @kbd{C-c C-c} to send the article as | |
4830 you would do normally. The previous article will be | |
4831 canceled/superseded. | |
4832 | |
4833 Just remember, kids: There is no 'c' in 'supersede'. | |
4834 | |
4835 | |
4836 @node Marking Articles | |
4837 @section Marking Articles | |
4838 @cindex article marking | |
4839 @cindex article ticking | |
4840 @cindex marks | |
4841 | |
4842 There are several marks you can set on an article. | |
4843 | |
4844 You have marks that decide the @dfn{readedness} (whoo, neato-keano | |
4845 neologism ohoy!) of the article. Alphabetic marks generally mean | |
4846 @dfn{read}, while non-alphabetic characters generally mean @dfn{unread}. | |
4847 | |
4848 In addition, you also have marks that do not affect readedness. | |
4849 | |
4850 @menu | |
4851 * Unread Articles:: Marks for unread articles. | |
4852 * Read Articles:: Marks for read articles. | |
4853 * Other Marks:: Marks that do not affect readedness. | |
4854 @end menu | |
4855 | |
4856 @ifinfo | |
4857 There's a plethora of commands for manipulating these marks: | |
4858 @end ifinfo | |
4859 | |
4860 @menu | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4861 * Setting Marks:: How to set and remove marks. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4862 * Generic Marking Commands:: How to customize the marking. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4863 * Setting Process Marks:: How to mark articles for later processing. |
25829 | 4864 @end menu |
4865 | |
4866 | |
4867 @node Unread Articles | |
4868 @subsection Unread Articles | |
4869 | |
4870 The following marks mark articles as (kinda) unread, in one form or | |
4871 other. | |
4872 | |
4873 @table @samp | |
4874 @item ! | |
4875 @vindex gnus-ticked-mark | |
4876 Marked as ticked (@code{gnus-ticked-mark}). | |
4877 | |
4878 @dfn{Ticked articles} are articles that will remain visible always. If | |
4879 you see an article that you find interesting, or you want to put off | |
4880 reading it, or replying to it, until sometime later, you'd typically | |
4881 tick it. However, articles can be expired, so if you want to keep an | |
4882 article forever, you'll have to make it persistent (@pxref{Persistent | |
4883 Articles}). | |
4884 | |
4885 @item ? | |
4886 @vindex gnus-dormant-mark | |
4887 Marked as dormant (@code{gnus-dormant-mark}). | |
4888 | |
4889 @dfn{Dormant articles} will only appear in the summary buffer if there | |
4890 are followups to it. If you want to see them even if they don't have | |
4891 followups, you can use the @kbd{/ D} command (@pxref{Limiting}). | |
4892 | |
36028 | 4893 @item @key{SPC} |
25829 | 4894 @vindex gnus-unread-mark |
4895 Marked as unread (@code{gnus-unread-mark}). | |
4896 | |
4897 @dfn{Unread articles} are articles that haven't been read at all yet. | |
4898 @end table | |
4899 | |
4900 | |
4901 @node Read Articles | |
4902 @subsection Read Articles | |
4903 @cindex expirable mark | |
4904 | |
4905 All the following marks mark articles as read. | |
4906 | |
4907 @table @samp | |
4908 | |
4909 @item r | |
4910 @vindex gnus-del-mark | |
4911 These are articles that the user has marked as read with the @kbd{d} | |
4912 command manually, more or less (@code{gnus-del-mark}). | |
4913 | |
4914 @item R | |
4915 @vindex gnus-read-mark | |
4916 Articles that have actually been read (@code{gnus-read-mark}). | |
4917 | |
4918 @item O | |
4919 @vindex gnus-ancient-mark | |
4920 Articles that were marked as read in previous sessions and are now | |
4921 @dfn{old} (@code{gnus-ancient-mark}). | |
4922 | |
4923 @item K | |
4924 @vindex gnus-killed-mark | |
4925 Marked as killed (@code{gnus-killed-mark}). | |
4926 | |
4927 @item X | |
4928 @vindex gnus-kill-file-mark | |
4929 Marked as killed by kill files (@code{gnus-kill-file-mark}). | |
4930 | |
4931 @item Y | |
4932 @vindex gnus-low-score-mark | |
4933 Marked as read by having too low a score (@code{gnus-low-score-mark}). | |
4934 | |
4935 @item C | |
4936 @vindex gnus-catchup-mark | |
4937 Marked as read by a catchup (@code{gnus-catchup-mark}). | |
4938 | |
4939 @item G | |
4940 @vindex gnus-canceled-mark | |
4941 Canceled article (@code{gnus-canceled-mark}) | |
4942 | |
4943 @item F | |
4944 @vindex gnus-souped-mark | |
26290 | 4945 @sc{soup}ed article (@code{gnus-souped-mark}). @xref{SOUP}. |
25829 | 4946 |
4947 @item Q | |
4948 @vindex gnus-sparse-mark | |
4949 Sparsely reffed article (@code{gnus-sparse-mark}). @xref{Customizing | |
4950 Threading}. | |
4951 | |
4952 @item M | |
4953 @vindex gnus-duplicate-mark | |
4954 Article marked as read by duplicate suppression | |
4955 (@code{gnus-duplicated-mark}). @xref{Duplicate Suppression}. | |
4956 | |
4957 @end table | |
4958 | |
4959 All these marks just mean that the article is marked as read, really. | |
4960 They are interpreted differently when doing adaptive scoring, though. | |
4961 | |
4962 One more special mark, though: | |
4963 | |
4964 @table @samp | |
4965 @item E | |
4966 @vindex gnus-expirable-mark | |
4967 Marked as expirable (@code{gnus-expirable-mark}). | |
4968 | |
4969 Marking articles as @dfn{expirable} (or have them marked as such | |
4970 automatically) doesn't make much sense in normal groups---a user doesn't | |
4971 control expiring of news articles, but in mail groups, for instance, | |
4972 articles marked as @dfn{expirable} can be deleted by Gnus at | |
4973 any time. | |
4974 @end table | |
4975 | |
4976 | |
4977 @node Other Marks | |
4978 @subsection Other Marks | |
4979 @cindex process mark | |
4980 @cindex bookmarks | |
4981 | |
4982 There are some marks that have nothing to do with whether the article is | |
4983 read or not. | |
4984 | |
4985 @itemize @bullet | |
4986 | |
4987 @item | |
4988 You can set a bookmark in the current article. Say you are reading a | |
4989 long thesis on cats' urinary tracts, and have to go home for dinner | |
4990 before you've finished reading the thesis. You can then set a bookmark | |
4991 in the article, and Gnus will jump to this bookmark the next time it | |
4992 encounters the article. @xref{Setting Marks}. | |
4993 | |
4994 @item | |
4995 @vindex gnus-replied-mark | |
4996 All articles that you have replied to or made a followup to (i.e., have | |
4997 answered) will be marked with an @samp{A} in the second column | |
4998 (@code{gnus-replied-mark}). | |
4999 | |
5000 @item | |
5001 @vindex gnus-cached-mark | |
5002 Articles stored in the article cache will be marked with an @samp{*} in | |
5003 the second column (@code{gnus-cached-mark}). @xref{Article Caching}. | |
5004 | |
5005 @item | |
5006 @vindex gnus-saved-mark | |
5007 Articles ``saved'' (in some manner or other; not necessarily | |
5008 religiously) are marked with an @samp{S} in the second column | |
5009 (@code{gnus-saved-mark}). | |
5010 | |
5011 @item | |
5012 @vindex gnus-not-empty-thread-mark | |
5013 @vindex gnus-empty-thread-mark | |
5014 If the @samp{%e} spec is used, the presence of threads or not will be | |
5015 marked with @code{gnus-not-empty-thread-mark} and | |
5016 @code{gnus-empty-thread-mark} in the third column, respectively. | |
5017 | |
5018 @item | |
5019 @vindex gnus-process-mark | |
5020 Finally we have the @dfn{process mark} (@code{gnus-process-mark}). A | |
5021 variety of commands react to the presence of the process mark. For | |
5022 instance, @kbd{X u} (@code{gnus-uu-decode-uu}) will uudecode and view | |
5023 all articles that have been marked with the process mark. Articles | |
5024 marked with the process mark have a @samp{#} in the second column. | |
5025 | |
5026 @end itemize | |
5027 | |
5028 You might have noticed that most of these ``non-readedness'' marks | |
5029 appear in the second column by default. So if you have a cached, saved, | |
5030 replied article that you have process-marked, what will that look like? | |
5031 | |
5032 Nothing much. The precedence rules go as follows: process -> cache -> | |
5033 replied -> saved. So if the article is in the cache and is replied, | |
5034 you'll only see the cache mark and not the replied mark. | |
5035 | |
5036 | |
5037 @node Setting Marks | |
5038 @subsection Setting Marks | |
5039 @cindex setting marks | |
5040 | |
5041 All the marking commands understand the numeric prefix. | |
5042 | |
5043 @table @kbd | |
5044 @item M c | |
5045 @itemx M-u | |
36028 | 5046 @kindex M c @r{(Summary)} |
5047 @kindex M-u @r{(Summary)} | |
25829 | 5048 @findex gnus-summary-clear-mark-forward |
5049 @cindex mark as unread | |
5050 Clear all readedness-marks from the current article | |
5051 (@code{gnus-summary-clear-mark-forward}). In other words, mark the | |
5052 article as unread. | |
5053 | |
5054 @item M t | |
5055 @itemx ! | |
36028 | 5056 @kindex ! @r{(Summary)} |
5057 @kindex M t @r{(Summary)} | |
25829 | 5058 @findex gnus-summary-tick-article-forward |
5059 Tick the current article (@code{gnus-summary-tick-article-forward}). | |
5060 @xref{Article Caching}. | |
5061 | |
5062 @item M ? | |
5063 @itemx ? | |
36028 | 5064 @kindex ? @r{(Summary)} |
5065 @kindex M ? @r{(Summary)} | |
25829 | 5066 @findex gnus-summary-mark-as-dormant |
5067 Mark the current article as dormant | |
5068 (@code{gnus-summary-mark-as-dormant}). @xref{Article Caching}. | |
5069 | |
5070 @item M d | |
5071 @itemx d | |
36028 | 5072 @kindex M d @r{(Summary)} |
5073 @kindex d @r{(Summary)} | |
25829 | 5074 @findex gnus-summary-mark-as-read-forward |
5075 Mark the current article as read | |
5076 (@code{gnus-summary-mark-as-read-forward}). | |
5077 | |
5078 @item D | |
36028 | 5079 @kindex D @r{(Summary)} |
25829 | 5080 @findex gnus-summary-mark-as-read-backward |
5081 Mark the current article as read and move point to the previous line | |
5082 (@code{gnus-summary-mark-as-read-backward}). | |
5083 | |
5084 @item M k | |
5085 @itemx k | |
36028 | 5086 @kindex k @r{(Summary)} |
5087 @kindex M k @r{(Summary)} | |
25829 | 5088 @findex gnus-summary-kill-same-subject-and-select |
5089 Mark all articles that have the same subject as the current one as read, | |
5090 and then select the next unread article | |
5091 (@code{gnus-summary-kill-same-subject-and-select}). | |
5092 | |
5093 @item M K | |
5094 @itemx C-k | |
36028 | 5095 @kindex M K @r{(Summary)} |
5096 @kindex C-k @r{(Summary)} | |
25829 | 5097 @findex gnus-summary-kill-same-subject |
5098 Mark all articles that have the same subject as the current one as read | |
5099 (@code{gnus-summary-kill-same-subject}). | |
5100 | |
5101 @item M C | |
36028 | 5102 @kindex M C @r{(Summary)} |
25829 | 5103 @findex gnus-summary-catchup |
5104 @c @icon{gnus-summary-catchup} | |
5105 Mark all unread articles as read (@code{gnus-summary-catchup}). | |
5106 | |
5107 @item M C-c | |
36028 | 5108 @kindex M C-c @r{(Summary)} |
25829 | 5109 @findex gnus-summary-catchup-all |
5110 Mark all articles in the group as read---even the ticked and dormant | |
5111 articles (@code{gnus-summary-catchup-all}). | |
5112 | |
5113 @item M H | |
36028 | 5114 @kindex M H @r{(Summary)} |
25829 | 5115 @findex gnus-summary-catchup-to-here |
5116 Catchup the current group to point | |
5117 (@code{gnus-summary-catchup-to-here}). | |
5118 | |
5119 @item C-w | |
36028 | 5120 @kindex C-w @r{(Summary)} |
25829 | 5121 @findex gnus-summary-mark-region-as-read |
5122 Mark all articles between point and mark as read | |
5123 (@code{gnus-summary-mark-region-as-read}). | |
5124 | |
5125 @item M V k | |
36028 | 5126 @kindex M V k @r{(Summary)} |
25829 | 5127 @findex gnus-summary-kill-below |
5128 Kill all articles with scores below the default score (or below the | |
5129 numeric prefix) (@code{gnus-summary-kill-below}). | |
5130 | |
5131 @item M e | |
5132 @itemx E | |
36028 | 5133 @kindex M e @r{(Summary)} |
5134 @kindex E @r{(Summary)} | |
25829 | 5135 @findex gnus-summary-mark-as-expirable |
5136 Mark the current article as expirable | |
5137 (@code{gnus-summary-mark-as-expirable}). | |
5138 | |
5139 @item M b | |
36028 | 5140 @kindex M b @r{(Summary)} |
25829 | 5141 @findex gnus-summary-set-bookmark |
5142 Set a bookmark in the current article | |
5143 (@code{gnus-summary-set-bookmark}). | |
5144 | |
5145 @item M B | |
36028 | 5146 @kindex M B @r{(Summary)} |
25829 | 5147 @findex gnus-summary-remove-bookmark |
5148 Remove the bookmark from the current article | |
5149 (@code{gnus-summary-remove-bookmark}). | |
5150 | |
5151 @item M V c | |
36028 | 5152 @kindex M V c @r{(Summary)} |
25829 | 5153 @findex gnus-summary-clear-above |
5154 Clear all marks from articles with scores over the default score (or | |
5155 over the numeric prefix) (@code{gnus-summary-clear-above}). | |
5156 | |
5157 @item M V u | |
36028 | 5158 @kindex M V u @r{(Summary)} |
25829 | 5159 @findex gnus-summary-tick-above |
5160 Tick all articles with scores over the default score (or over the | |
5161 numeric prefix) (@code{gnus-summary-tick-above}). | |
5162 | |
5163 @item M V m | |
36028 | 5164 @kindex M V m @r{(Summary)} |
25829 | 5165 @findex gnus-summary-mark-above |
5166 Prompt for a mark, and mark all articles with scores over the default | |
5167 score (or over the numeric prefix) with this mark | |
5168 (@code{gnus-summary-clear-above}). | |
5169 @end table | |
5170 | |
5171 @vindex gnus-summary-goto-unread | |
5172 The @code{gnus-summary-goto-unread} variable controls what action should | |
5173 be taken after setting a mark. If non-@code{nil}, point will move to | |
5174 the next/previous unread article. If @code{nil}, point will just move | |
5175 one line up or down. As a special case, if this variable is | |
5176 @code{never}, all the marking commands as well as other commands (like | |
36028 | 5177 @key{SPC}) will move to the next article, whether it is unread or not. |
25829 | 5178 The default is @code{t}. |
5179 | |
5180 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5181 @node Generic Marking Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5182 @subsection Generic Marking Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5183 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5184 Some people would like the command that ticks an article (@kbd{!}) go to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5185 the next article. Others would like it to go to the next unread |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5186 article. Yet others would like it to stay on the current article. And |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5187 even though I haven't heard of anybody wanting it to go to the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5188 previous (unread) article, I'm sure there are people that want that as |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5189 well. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5190 |
38017
32f10000ac35
Don't use the British spelling of "behaviour".
Eli Zaretskii <eliz@gnu.org>
parents:
38013
diff
changeset
|
5191 Multiply these five behaviors by five different marking commands, and |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5192 you get a potentially complex set of variable to control what each |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5193 command should do. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5194 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5195 To sidestep that mess, Gnus provides commands that do all these |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5196 different things. They can be found on the @kbd{M M} map in the summary |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5197 buffer. Type @kbd{M M C-h} to see them all---there are too many of them |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5198 to list in this manual. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5199 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5200 While you can use these commands directly, most users would prefer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5201 altering the summary mode keymap. For instance, if you would like the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5202 @kbd{!} command to go to the next article instead of the next unread |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5203 article, you could say something like: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5204 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5205 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5206 (add-hook 'gnus-summary-mode-hook 'my-alter-summary-map) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5207 (defun my-alter-summary-map () |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5208 (local-set-key "!" 'gnus-summary-put-mark-as-ticked-next)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5209 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5210 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5211 or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5212 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5213 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5214 (defun my-alter-summary-map () |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5215 (local-set-key "!" "MM!n")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5216 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5217 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5218 |
25829 | 5219 @node Setting Process Marks |
5220 @subsection Setting Process Marks | |
5221 @cindex setting process marks | |
5222 | |
5223 @table @kbd | |
5224 | |
5225 @item M P p | |
5226 @itemx # | |
36028 | 5227 @kindex # @r{(Summary)} |
5228 @kindex M P p @r{(Summary)} | |
25829 | 5229 @findex gnus-summary-mark-as-processable |
5230 Mark the current article with the process mark | |
5231 (@code{gnus-summary-mark-as-processable}). | |
5232 @findex gnus-summary-unmark-as-processable | |
5233 | |
5234 @item M P u | |
5235 @itemx M-# | |
36028 | 5236 @kindex M P u @r{(Summary)} |
5237 @kindex M-# @r{(Summary)} | |
25829 | 5238 Remove the process mark, if any, from the current article |
5239 (@code{gnus-summary-unmark-as-processable}). | |
5240 | |
5241 @item M P U | |
36028 | 5242 @kindex M P U @r{(Summary)} |
25829 | 5243 @findex gnus-summary-unmark-all-processable |
5244 Remove the process mark from all articles | |
5245 (@code{gnus-summary-unmark-all-processable}). | |
5246 | |
5247 @item M P i | |
36028 | 5248 @kindex M P i @r{(Summary)} |
25829 | 5249 @findex gnus-uu-invert-processable |
5250 Invert the list of process marked articles | |
5251 (@code{gnus-uu-invert-processable}). | |
5252 | |
5253 @item M P R | |
36028 | 5254 @kindex M P R @r{(Summary)} |
25829 | 5255 @findex gnus-uu-mark-by-regexp |
5256 Mark articles that have a @code{Subject} header that matches a regular | |
5257 expression (@code{gnus-uu-mark-by-regexp}). | |
5258 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5259 @item M P G |
36028 | 5260 @kindex M P G @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5261 @findex gnus-uu-unmark-by-regexp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5262 Unmark articles that have a @code{Subject} header that matches a regular |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5263 expression (@code{gnus-uu-unmark-by-regexp}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5264 |
25829 | 5265 @item M P r |
36028 | 5266 @kindex M P r @r{(Summary)} |
25829 | 5267 @findex gnus-uu-mark-region |
5268 Mark articles in region (@code{gnus-uu-mark-region}). | |
5269 | |
5270 @item M P t | |
36028 | 5271 @kindex M P t @r{(Summary)} |
25829 | 5272 @findex gnus-uu-mark-thread |
5273 Mark all articles in the current (sub)thread | |
5274 (@code{gnus-uu-mark-thread}). | |
5275 | |
5276 @item M P T | |
36028 | 5277 @kindex M P T @r{(Summary)} |
25829 | 5278 @findex gnus-uu-unmark-thread |
5279 Unmark all articles in the current (sub)thread | |
5280 (@code{gnus-uu-unmark-thread}). | |
5281 | |
5282 @item M P v | |
36028 | 5283 @kindex M P v @r{(Summary)} |
25829 | 5284 @findex gnus-uu-mark-over |
5285 Mark all articles that have a score above the prefix argument | |
5286 (@code{gnus-uu-mark-over}). | |
5287 | |
5288 @item M P s | |
36028 | 5289 @kindex M P s @r{(Summary)} |
25829 | 5290 @findex gnus-uu-mark-series |
5291 Mark all articles in the current series (@code{gnus-uu-mark-series}). | |
5292 | |
5293 @item M P S | |
36028 | 5294 @kindex M P S @r{(Summary)} |
25829 | 5295 @findex gnus-uu-mark-sparse |
5296 Mark all series that have already had some articles marked | |
5297 (@code{gnus-uu-mark-sparse}). | |
5298 | |
5299 @item M P a | |
36028 | 5300 @kindex M P a @r{(Summary)} |
25829 | 5301 @findex gnus-uu-mark-all |
5302 Mark all articles in series order (@code{gnus-uu-mark-series}). | |
5303 | |
5304 @item M P b | |
36028 | 5305 @kindex M P b @r{(Summary)} |
25829 | 5306 @findex gnus-uu-mark-buffer |
5307 Mark all articles in the buffer in the order they appear | |
5308 (@code{gnus-uu-mark-buffer}). | |
5309 | |
5310 @item M P k | |
36028 | 5311 @kindex M P k @r{(Summary)} |
25829 | 5312 @findex gnus-summary-kill-process-mark |
5313 Push the current process mark set onto the stack and unmark all articles | |
5314 (@code{gnus-summary-kill-process-mark}). | |
5315 | |
5316 @item M P y | |
36028 | 5317 @kindex M P y @r{(Summary)} |
25829 | 5318 @findex gnus-summary-yank-process-mark |
5319 Pop the previous process mark set from the stack and restore it | |
5320 (@code{gnus-summary-yank-process-mark}). | |
5321 | |
5322 @item M P w | |
36028 | 5323 @kindex M P w @r{(Summary)} |
25829 | 5324 @findex gnus-summary-save-process-mark |
5325 Push the current process mark set onto the stack | |
5326 (@code{gnus-summary-save-process-mark}). | |
5327 | |
5328 @end table | |
5329 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5330 Also see the @kbd{&} command in @pxref{Searching for Articles} for how to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5331 set process marks based on article body contents. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5332 |
25829 | 5333 |
5334 @node Limiting | |
5335 @section Limiting | |
5336 @cindex limiting | |
5337 | |
5338 It can be convenient to limit the summary buffer to just show some | |
5339 subset of the articles currently in the group. The effect most limit | |
5340 commands have is to remove a few (or many) articles from the summary | |
5341 buffer. | |
5342 | |
5343 All limiting commands work on subsets of the articles already fetched | |
5344 from the servers. None of these commands query the server for | |
5345 additional articles. | |
5346 | |
5347 @table @kbd | |
5348 | |
5349 @item / / | |
5350 @itemx / s | |
36028 | 5351 @kindex / / @r{(Summary)} |
25829 | 5352 @findex gnus-summary-limit-to-subject |
5353 Limit the summary buffer to articles that match some subject | |
5354 (@code{gnus-summary-limit-to-subject}). | |
5355 | |
5356 @item / a | |
36028 | 5357 @kindex / a @r{(Summary)} |
25829 | 5358 @findex gnus-summary-limit-to-author |
5359 Limit the summary buffer to articles that match some author | |
5360 (@code{gnus-summary-limit-to-author}). | |
5361 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5362 @item / x |
36028 | 5363 @kindex / x @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5364 @findex gnus-summary-limit-to-extra |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5365 Limit the summary buffer to articles that match one of the ``extra'' |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5366 headers (@pxref{To From Newsgroups}) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5367 (@code{gnus-summary-limit-to-extra}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5368 |
25829 | 5369 @item / u |
5370 @itemx x | |
36028 | 5371 @kindex / u @r{(Summary)} |
5372 @kindex x @r{(Summary)} | |
25829 | 5373 @findex gnus-summary-limit-to-unread |
5374 Limit the summary buffer to articles not marked as read | |
5375 (@code{gnus-summary-limit-to-unread}). If given a prefix, limit the | |
5376 buffer to articles strictly unread. This means that ticked and | |
5377 dormant articles will also be excluded. | |
5378 | |
5379 @item / m | |
36028 | 5380 @kindex / m @r{(Summary)} |
25829 | 5381 @findex gnus-summary-limit-to-marks |
5382 Ask for a mark and then limit to all articles that have been marked | |
5383 with that mark (@code{gnus-summary-limit-to-marks}). | |
5384 | |
5385 @item / t | |
36028 | 5386 @kindex / t @r{(Summary)} |
25829 | 5387 @findex gnus-summary-limit-to-age |
5388 Ask for a number and then limit the summary buffer to articles older than (or equal to) that number of days | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5389 (@code{gnus-summary-limit-to-age}). If given a prefix, limit to |
25829 | 5390 articles younger than that number of days. |
5391 | |
5392 @item / n | |
36028 | 5393 @kindex / n @r{(Summary)} |
25829 | 5394 @findex gnus-summary-limit-to-articles |
5395 Limit the summary buffer to the current article | |
5396 (@code{gnus-summary-limit-to-articles}). Uses the process/prefix | |
5397 convention (@pxref{Process/Prefix}). | |
5398 | |
5399 @item / w | |
36028 | 5400 @kindex / w @r{(Summary)} |
25829 | 5401 @findex gnus-summary-pop-limit |
5402 Pop the previous limit off the stack and restore it | |
5403 (@code{gnus-summary-pop-limit}). If given a prefix, pop all limits off | |
5404 the stack. | |
5405 | |
5406 @item / v | |
36028 | 5407 @kindex / v @r{(Summary)} |
25829 | 5408 @findex gnus-summary-limit-to-score |
5409 Limit the summary buffer to articles that have a score at or above some | |
5410 score (@code{gnus-summary-limit-to-score}). | |
5411 | |
5412 @item / E | |
5413 @itemx M S | |
36028 | 5414 @kindex M S @r{(Summary)} |
5415 @kindex / E @r{(Summary)} | |
25829 | 5416 @findex gnus-summary-limit-include-expunged |
5417 Include all expunged articles in the limit | |
5418 (@code{gnus-summary-limit-include-expunged}). | |
5419 | |
5420 @item / D | |
36028 | 5421 @kindex / D @r{(Summary)} |
25829 | 5422 @findex gnus-summary-limit-include-dormant |
5423 Include all dormant articles in the limit | |
5424 (@code{gnus-summary-limit-include-dormant}). | |
5425 | |
5426 @item / * | |
36028 | 5427 @kindex / * @r{(Summary)} |
25829 | 5428 @findex gnus-summary-limit-include-cached |
5429 Include all cached articles in the limit | |
5430 (@code{gnus-summary-limit-include-cached}). | |
5431 | |
5432 @item / d | |
36028 | 5433 @kindex / d @r{(Summary)} |
25829 | 5434 @findex gnus-summary-limit-exclude-dormant |
5435 Exclude all dormant articles from the limit | |
5436 (@code{gnus-summary-limit-exclude-dormant}). | |
5437 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5438 @item / M |
36028 | 5439 @kindex / M @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5440 @findex gnus-summary-limit-exclude-marks |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5441 Exclude all marked articles (@code{gnus-summary-limit-exclude-marks}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5442 |
25829 | 5443 @item / T |
36028 | 5444 @kindex / T @r{(Summary)} |
25829 | 5445 @findex gnus-summary-limit-include-thread |
5446 Include all the articles in the current thread in the limit. | |
5447 | |
5448 @item / c | |
36028 | 5449 @kindex / c @r{(Summary)} |
25829 | 5450 @findex gnus-summary-limit-exclude-childless-dormant |
5451 Exclude all dormant articles that have no children from the limit | |
5452 (@code{gnus-summary-limit-exclude-childless-dormant}). | |
5453 | |
5454 @item / C | |
36028 | 5455 @kindex / C @r{(Summary)} |
25829 | 5456 @findex gnus-summary-limit-mark-excluded-as-read |
5457 Mark all excluded unread articles as read | |
5458 (@code{gnus-summary-limit-mark-excluded-as-read}). If given a prefix, | |
5459 also mark excluded ticked and dormant articles as read. | |
5460 | |
5461 @end table | |
5462 | |
5463 | |
5464 @node Threading | |
5465 @section Threading | |
5466 @cindex threading | |
5467 @cindex article threading | |
5468 | |
5469 Gnus threads articles by default. @dfn{To thread} is to put responses | |
5470 to articles directly after the articles they respond to---in a | |
5471 hierarchical fashion. | |
5472 | |
5473 Threading is done by looking at the @code{References} headers of the | |
5474 articles. In a perfect world, this would be enough to build pretty | |
5475 trees, but unfortunately, the @code{References} header is often broken | |
35073 | 5476 or simply missing. Weird news propagation exacerbates the problem, |
25829 | 5477 so one has to employ other heuristics to get pleasing results. A |
5478 plethora of approaches exists, as detailed in horrible detail in | |
5479 @pxref{Customizing Threading}. | |
5480 | |
5481 First, a quick overview of the concepts: | |
5482 | |
5483 @table @dfn | |
5484 @item root | |
5485 The top-most article in a thread; the first article in the thread. | |
5486 | |
5487 @item thread | |
5488 A tree-like article structure. | |
5489 | |
5490 @item sub-thread | |
5491 A small(er) section of this tree-like structure. | |
5492 | |
5493 @item loose threads | |
5494 Threads often lose their roots due to article expiry, or due to the root | |
5495 already having been read in a previous session, and not displayed in the | |
5496 summary buffer. We then typically have many sub-threads that really | |
5497 belong to one thread, but are without connecting roots. These are | |
5498 called loose threads. | |
5499 | |
5500 @item thread gathering | |
5501 An attempt to gather loose threads into bigger threads. | |
5502 | |
5503 @item sparse threads | |
5504 A thread where the missing articles have been ``guessed'' at, and are | |
5505 displayed as empty lines in the summary buffer. | |
5506 | |
5507 @end table | |
5508 | |
5509 | |
5510 @menu | |
5511 * Customizing Threading:: Variables you can change to affect the threading. | |
5512 * Thread Commands:: Thread based commands in the summary buffer. | |
5513 @end menu | |
5514 | |
5515 | |
5516 @node Customizing Threading | |
5517 @subsection Customizing Threading | |
5518 @cindex customizing threading | |
5519 | |
5520 @menu | |
5521 * Loose Threads:: How Gnus gathers loose threads into bigger threads. | |
5522 * Filling In Threads:: Making the threads displayed look fuller. | |
5523 * More Threading:: Even more variables for fiddling with threads. | |
5524 * Low-Level Threading:: You thought it was over... but you were wrong! | |
5525 @end menu | |
5526 | |
5527 | |
5528 @node Loose Threads | |
5529 @subsubsection Loose Threads | |
5530 @cindex < | |
5531 @cindex > | |
5532 @cindex loose threads | |
5533 | |
5534 @table @code | |
5535 @item gnus-summary-make-false-root | |
5536 @vindex gnus-summary-make-false-root | |
5537 If non-@code{nil}, Gnus will gather all loose subtrees into one big tree | |
5538 and create a dummy root at the top. (Wait a minute. Root at the top? | |
5539 Yup.) Loose subtrees occur when the real root has expired, or you've | |
5540 read or killed the root in a previous session. | |
5541 | |
5542 When there is no real root of a thread, Gnus will have to fudge | |
5543 something. This variable says what fudging method Gnus should use. | |
5544 There are four possible values: | |
5545 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5546 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5547 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5548 \gnusfigure{The Summary Buffer}{390}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5549 \put(0,0){\epsfig{figure=tmp/summary-adopt.ps,width=7.5cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5550 \put(445,0){\makebox(0,0)[br]{\epsfig{figure=tmp/summary-empty.ps,width=7.5cm}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5551 \put(0,400){\makebox(0,0)[tl]{\epsfig{figure=tmp/summary-none.ps,width=7.5cm}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5552 \put(445,400){\makebox(0,0)[tr]{\epsfig{figure=tmp/summary-dummy.ps,width=7.5cm}}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5553 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5554 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5555 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5556 |
25829 | 5557 @cindex adopting articles |
5558 | |
5559 @table @code | |
5560 | |
5561 @item adopt | |
5562 Gnus will make the first of the orphaned articles the parent. This | |
5563 parent will adopt all the other articles. The adopted articles will be | |
5564 marked as such by pointy brackets (@samp{<>}) instead of the standard | |
5565 square brackets (@samp{[]}). This is the default method. | |
5566 | |
5567 @item dummy | |
5568 @vindex gnus-summary-dummy-line-format | |
5569 Gnus will create a dummy summary line that will pretend to be the | |
5570 parent. This dummy line does not correspond to any real article, so | |
5571 selecting it will just select the first real article after the dummy | |
5572 article. @code{gnus-summary-dummy-line-format} is used to specify the | |
5573 format of the dummy roots. It accepts only one format spec: @samp{S}, | |
5574 which is the subject of the article. @xref{Formatting Variables}. | |
5575 | |
5576 @item empty | |
5577 Gnus won't actually make any article the parent, but simply leave the | |
5578 subject field of all orphans except the first empty. (Actually, it will | |
5579 use @code{gnus-summary-same-subject} as the subject (@pxref{Summary | |
5580 Buffer Format}).) | |
5581 | |
5582 @item none | |
5583 Don't make any article parent at all. Just gather the threads and | |
5584 display them after one another. | |
5585 | |
5586 @item nil | |
5587 Don't gather loose threads. | |
5588 @end table | |
5589 | |
5590 @item gnus-summary-gather-subject-limit | |
5591 @vindex gnus-summary-gather-subject-limit | |
5592 Loose threads are gathered by comparing subjects of articles. If this | |
5593 variable is @code{nil}, Gnus requires an exact match between the | |
5594 subjects of the loose threads before gathering them into one big | |
5595 super-thread. This might be too strict a requirement, what with the | |
5596 presence of stupid newsreaders that chop off long subject lines. If | |
5597 you think so, set this variable to, say, 20 to require that only the | |
5598 first 20 characters of the subjects have to match. If you set this | |
5599 variable to a really low number, you'll find that Gnus will gather | |
5600 everything in sight into one thread, which isn't very helpful. | |
5601 | |
5602 @cindex fuzzy article gathering | |
5603 If you set this variable to the special value @code{fuzzy}, Gnus will | |
5604 use a fuzzy string comparison algorithm on the subjects (@pxref{Fuzzy | |
5605 Matching}). | |
5606 | |
5607 @item gnus-simplify-subject-fuzzy-regexp | |
5608 @vindex gnus-simplify-subject-fuzzy-regexp | |
5609 This can either be a regular expression or list of regular expressions | |
5610 that match strings that will be removed from subjects if fuzzy subject | |
5611 simplification is used. | |
5612 | |
5613 @item gnus-simplify-ignored-prefixes | |
5614 @vindex gnus-simplify-ignored-prefixes | |
5615 If you set @code{gnus-summary-gather-subject-limit} to something as low | |
5616 as 10, you might consider setting this variable to something sensible: | |
5617 | |
5618 @c Written by Michael Ernst <mernst@cs.rice.edu> | |
5619 @lisp | |
5620 (setq gnus-simplify-ignored-prefixes | |
5621 (concat | |
5622 "\\`\\[?\\(" | |
5623 (mapconcat | |
5624 'identity | |
5625 '("looking" | |
5626 "wanted" "followup" "summary\\( of\\)?" | |
5627 "help" "query" "problem" "question" | |
5628 "answer" "reference" "announce" | |
5629 "How can I" "How to" "Comparison of" | |
5630 ;; ... | |
5631 ) | |
5632 "\\|") | |
5633 "\\)\\s *\\(" | |
5634 (mapconcat 'identity | |
5635 '("for" "for reference" "with" "about") | |
5636 "\\|") | |
5637 "\\)?\\]?:?[ \t]*")) | |
5638 @end lisp | |
5639 | |
5640 All words that match this regexp will be removed before comparing two | |
5641 subjects. | |
5642 | |
5643 @item gnus-simplify-subject-functions | |
5644 @vindex gnus-simplify-subject-functions | |
5645 If non-@code{nil}, this variable overrides | |
5646 @code{gnus-summary-gather-subject-limit}. This variable should be a | |
5647 list of functions to apply to the @code{Subject} string iteratively to | |
5648 arrive at the simplified version of the string. | |
5649 | |
5650 Useful functions to put in this list include: | |
5651 | |
5652 @table @code | |
5653 @item gnus-simplify-subject-re | |
5654 @findex gnus-simplify-subject-re | |
5655 Strip the leading @samp{Re:}. | |
5656 | |
5657 @item gnus-simplify-subject-fuzzy | |
5658 @findex gnus-simplify-subject-fuzzy | |
5659 Simplify fuzzily. | |
5660 | |
5661 @item gnus-simplify-whitespace | |
5662 @findex gnus-simplify-whitespace | |
5663 Remove excessive whitespace. | |
5664 @end table | |
5665 | |
5666 You may also write your own functions, of course. | |
5667 | |
5668 | |
5669 @item gnus-summary-gather-exclude-subject | |
5670 @vindex gnus-summary-gather-exclude-subject | |
5671 Since loose thread gathering is done on subjects only, that might lead | |
5672 to many false hits, especially with certain common subjects like | |
5673 @samp{} and @samp{(none)}. To make the situation slightly better, | |
5674 you can use the regexp @code{gnus-summary-gather-exclude-subject} to say | |
5675 what subjects should be excluded from the gathering process.@* | |
5676 The default is @samp{^ *$\\|^(none)$}. | |
5677 | |
5678 @item gnus-summary-thread-gathering-function | |
5679 @vindex gnus-summary-thread-gathering-function | |
5680 Gnus gathers threads by looking at @code{Subject} headers. This means | |
5681 that totally unrelated articles may end up in the same ``thread'', which | |
5682 is confusing. An alternate approach is to look at all the | |
5683 @code{Message-ID}s in all the @code{References} headers to find matches. | |
5684 This will ensure that no gathered threads ever include unrelated | |
5685 articles, but it also means that people who have posted with broken | |
5686 newsreaders won't be gathered properly. The choice is yours---plague or | |
5687 cholera: | |
5688 | |
5689 @table @code | |
5690 @item gnus-gather-threads-by-subject | |
5691 @findex gnus-gather-threads-by-subject | |
5692 This function is the default gathering function and looks at | |
5693 @code{Subject}s exclusively. | |
5694 | |
5695 @item gnus-gather-threads-by-references | |
5696 @findex gnus-gather-threads-by-references | |
5697 This function looks at @code{References} headers exclusively. | |
5698 @end table | |
5699 | |
5700 If you want to test gathering by @code{References}, you could say | |
5701 something like: | |
5702 | |
5703 @lisp | |
5704 (setq gnus-summary-thread-gathering-function | |
5705 'gnus-gather-threads-by-references) | |
5706 @end lisp | |
5707 | |
5708 @end table | |
5709 | |
5710 | |
5711 @node Filling In Threads | |
5712 @subsubsection Filling In Threads | |
5713 | |
5714 @table @code | |
5715 @item gnus-fetch-old-headers | |
5716 @vindex gnus-fetch-old-headers | |
5717 If non-@code{nil}, Gnus will attempt to build old threads by fetching | |
5718 more old headers---headers to articles marked as read. If you | |
5719 would like to display as few summary lines as possible, but still | |
5720 connect as many loose threads as possible, you should set this variable | |
5721 to @code{some} or a number. If you set it to a number, no more than | |
5722 that number of extra old headers will be fetched. In either case, | |
39395 | 5723 fetching old headers only works if the back end you are using carries |
25829 | 5724 overview files---this would normally be @code{nntp}, @code{nnspool} and |
5725 @code{nnml}. Also remember that if the root of the thread has been | |
5726 expired by the server, there's not much Gnus can do about that. | |
5727 | |
5728 This variable can also be set to @code{invisible}. This won't have any | |
5729 visible effects, but is useful if you use the @kbd{A T} command a lot | |
5730 (@pxref{Finding the Parent}). | |
5731 | |
5732 @item gnus-build-sparse-threads | |
5733 @vindex gnus-build-sparse-threads | |
5734 Fetching old headers can be slow. A low-rent similar effect can be | |
5735 gotten by setting this variable to @code{some}. Gnus will then look at | |
5736 the complete @code{References} headers of all articles and try to string | |
5737 together articles that belong in the same thread. This will leave | |
5738 @dfn{gaps} in the threading display where Gnus guesses that an article | |
5739 is missing from the thread. (These gaps appear like normal summary | |
5740 lines. If you select a gap, Gnus will try to fetch the article in | |
5741 question.) If this variable is @code{t}, Gnus will display all these | |
5742 ``gaps'' without regard for whether they are useful for completing the | |
5743 thread or not. Finally, if this variable is @code{more}, Gnus won't cut | |
5744 off sparse leaf nodes that don't lead anywhere. This variable is | |
5745 @code{nil} by default. | |
5746 | |
5747 @end table | |
5748 | |
5749 | |
5750 @node More Threading | |
5751 @subsubsection More Threading | |
5752 | |
5753 @table @code | |
5754 @item gnus-show-threads | |
5755 @vindex gnus-show-threads | |
5756 If this variable is @code{nil}, no threading will be done, and all of | |
5757 the rest of the variables here will have no effect. Turning threading | |
5758 off will speed group selection up a bit, but it is sure to make reading | |
5759 slower and more awkward. | |
5760 | |
5761 @item gnus-thread-hide-subtree | |
5762 @vindex gnus-thread-hide-subtree | |
5763 If non-@code{nil}, all threads will be hidden when the summary buffer is | |
5764 generated. | |
5765 | |
5766 @item gnus-thread-expunge-below | |
5767 @vindex gnus-thread-expunge-below | |
5768 All threads that have a total score (as defined by | |
5769 @code{gnus-thread-score-function}) less than this number will be | |
5770 expunged. This variable is @code{nil} by default, which means that no | |
5771 threads are expunged. | |
5772 | |
5773 @item gnus-thread-hide-killed | |
5774 @vindex gnus-thread-hide-killed | |
5775 if you kill a thread and this variable is non-@code{nil}, the subtree | |
5776 will be hidden. | |
5777 | |
5778 @item gnus-thread-ignore-subject | |
5779 @vindex gnus-thread-ignore-subject | |
5780 Sometimes somebody changes the subject in the middle of a thread. If | |
5781 this variable is non-@code{nil}, the subject change is ignored. If it | |
5782 is @code{nil}, which is the default, a change in the subject will result | |
5783 in a new thread. | |
5784 | |
5785 @item gnus-thread-indent-level | |
5786 @vindex gnus-thread-indent-level | |
5787 This is a number that says how much each sub-thread should be indented. | |
5788 The default is 4. | |
5789 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5790 @item gnus-sort-gathered-threads-function |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5791 @vindex gnus-sort-gathered-threads-function |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5792 Sometimes, particularly with mailing lists, the order in which mails |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5793 arrive locally is not necessarily the same as the order in which they |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5794 arrived on the mailing list. Consequently, when sorting sub-threads |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5795 using the default @code{gnus-thread-sort-by-number}, responses can end |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5796 up appearing before the article to which they are responding to. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5797 Setting this variable to an alternate value |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5798 (e.g. @code{gnus-thread-sort-by-date}), in a group's parameters or in an |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5799 appropriate hook (e.g. @code{gnus-summary-generate-hook}) can produce a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5800 more logical sub-thread ordering in such instances. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5801 |
25829 | 5802 @end table |
5803 | |
5804 | |
5805 @node Low-Level Threading | |
5806 @subsubsection Low-Level Threading | |
5807 | |
5808 @table @code | |
5809 | |
5810 @item gnus-parse-headers-hook | |
5811 @vindex gnus-parse-headers-hook | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5812 Hook run before parsing any headers. |
25829 | 5813 |
5814 @item gnus-alter-header-function | |
5815 @vindex gnus-alter-header-function | |
5816 If non-@code{nil}, this function will be called to allow alteration of | |
5817 article header structures. The function is called with one parameter, | |
5818 the article header vector, which it may alter in any way. For instance, | |
5819 if you have a mail-to-news gateway which alters the @code{Message-ID}s | |
5820 in systematic ways (by adding prefixes and such), you can use this | |
5821 variable to un-scramble the @code{Message-ID}s so that they are more | |
5822 meaningful. Here's one example: | |
5823 | |
5824 @lisp | |
5825 (setq gnus-alter-header-function 'my-alter-message-id) | |
5826 | |
5827 (defun my-alter-message-id (header) | |
5828 (let ((id (mail-header-id header))) | |
5829 (when (string-match | |
5830 "\\(<[^<>@@]*\\)\\.?cygnus\\..*@@\\([^<>@@]*>\\)" id) | |
5831 (mail-header-set-id | |
5832 (concat (match-string 1 id) "@@" (match-string 2 id)) | |
5833 header)))) | |
5834 @end lisp | |
5835 | |
5836 @end table | |
5837 | |
5838 | |
5839 @node Thread Commands | |
5840 @subsection Thread Commands | |
5841 @cindex thread commands | |
5842 | |
5843 @table @kbd | |
5844 | |
5845 @item T k | |
40705 | 5846 @itemx C-M-k |
36028 | 5847 @kindex T k @r{(Summary)} |
40705 | 5848 @kindex C-M-k @r{(Summary)} |
25829 | 5849 @findex gnus-summary-kill-thread |
5850 Mark all articles in the current (sub-)thread as read | |
5851 (@code{gnus-summary-kill-thread}). If the prefix argument is positive, | |
5852 remove all marks instead. If the prefix argument is negative, tick | |
5853 articles instead. | |
5854 | |
5855 @item T l | |
40705 | 5856 @itemx C-M-l |
36028 | 5857 @kindex T l @r{(Summary)} |
40705 | 5858 @kindex C-M-l @r{(Summary)} |
25829 | 5859 @findex gnus-summary-lower-thread |
5860 Lower the score of the current (sub-)thread | |
5861 (@code{gnus-summary-lower-thread}). | |
5862 | |
5863 @item T i | |
36028 | 5864 @kindex T i @r{(Summary)} |
25829 | 5865 @findex gnus-summary-raise-thread |
5866 Increase the score of the current (sub-)thread | |
5867 (@code{gnus-summary-raise-thread}). | |
5868 | |
5869 @item T # | |
36028 | 5870 @kindex T # @r{(Summary)} |
25829 | 5871 @findex gnus-uu-mark-thread |
5872 Set the process mark on the current (sub-)thread | |
5873 (@code{gnus-uu-mark-thread}). | |
5874 | |
5875 @item T M-# | |
36028 | 5876 @kindex T M-# @r{(Summary)} |
25829 | 5877 @findex gnus-uu-unmark-thread |
5878 Remove the process mark from the current (sub-)thread | |
5879 (@code{gnus-uu-unmark-thread}). | |
5880 | |
5881 @item T T | |
36028 | 5882 @kindex T T @r{(Summary)} |
25829 | 5883 @findex gnus-summary-toggle-threads |
5884 Toggle threading (@code{gnus-summary-toggle-threads}). | |
5885 | |
5886 @item T s | |
36028 | 5887 @kindex T s @r{(Summary)} |
25829 | 5888 @findex gnus-summary-show-thread |
5889 Expose the (sub-)thread hidden under the current article, if any | |
5890 (@code{gnus-summary-show-thread}). | |
5891 | |
5892 @item T h | |
36028 | 5893 @kindex T h @r{(Summary)} |
25829 | 5894 @findex gnus-summary-hide-thread |
5895 Hide the current (sub-)thread (@code{gnus-summary-hide-thread}). | |
5896 | |
5897 @item T S | |
36028 | 5898 @kindex T S @r{(Summary)} |
25829 | 5899 @findex gnus-summary-show-all-threads |
5900 Expose all hidden threads (@code{gnus-summary-show-all-threads}). | |
5901 | |
5902 @item T H | |
36028 | 5903 @kindex T H @r{(Summary)} |
25829 | 5904 @findex gnus-summary-hide-all-threads |
5905 Hide all threads (@code{gnus-summary-hide-all-threads}). | |
5906 | |
5907 @item T t | |
36028 | 5908 @kindex T t @r{(Summary)} |
25829 | 5909 @findex gnus-summary-rethread-current |
5910 Re-thread the current article's thread | |
5911 (@code{gnus-summary-rethread-current}). This works even when the | |
5912 summary buffer is otherwise unthreaded. | |
5913 | |
5914 @item T ^ | |
36028 | 5915 @kindex T ^ @r{(Summary)} |
25829 | 5916 @findex gnus-summary-reparent-thread |
5917 Make the current article the child of the marked (or previous) article | |
5918 (@code{gnus-summary-reparent-thread}). | |
5919 | |
5920 @end table | |
5921 | |
5922 The following commands are thread movement commands. They all | |
5923 understand the numeric prefix. | |
5924 | |
5925 @table @kbd | |
5926 | |
5927 @item T n | |
36028 | 5928 @kindex T n @r{(Summary)} |
40705 | 5929 @itemx C-M-n |
5930 @kindex C-M-n @r{(Summary)} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5931 @itemx M-down |
36028 | 5932 @kindex M-down @r{(Summary)} |
25829 | 5933 @findex gnus-summary-next-thread |
5934 Go to the next thread (@code{gnus-summary-next-thread}). | |
5935 | |
5936 @item T p | |
36028 | 5937 @kindex T p @r{(Summary)} |
40705 | 5938 @itemx C-M-p |
5939 @kindex C-M-p @r{(Summary)} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5940 @itemx M-up |
36028 | 5941 @kindex M-up @r{(Summary)} |
25829 | 5942 @findex gnus-summary-prev-thread |
5943 Go to the previous thread (@code{gnus-summary-prev-thread}). | |
5944 | |
5945 @item T d | |
36028 | 5946 @kindex T d @r{(Summary)} |
25829 | 5947 @findex gnus-summary-down-thread |
5948 Descend the thread (@code{gnus-summary-down-thread}). | |
5949 | |
5950 @item T u | |
36028 | 5951 @kindex T u @r{(Summary)} |
25829 | 5952 @findex gnus-summary-up-thread |
5953 Ascend the thread (@code{gnus-summary-up-thread}). | |
5954 | |
5955 @item T o | |
36028 | 5956 @kindex T o @r{(Summary)} |
25829 | 5957 @findex gnus-summary-top-thread |
5958 Go to the top of the thread (@code{gnus-summary-top-thread}). | |
5959 @end table | |
5960 | |
5961 @vindex gnus-thread-operation-ignore-subject | |
5962 If you ignore subject while threading, you'll naturally end up with | |
5963 threads that have several different subjects in them. If you then issue | |
36028 | 5964 a command like @kbd{T k} (@code{gnus-summary-kill-thread}) you might not |
25829 | 5965 wish to kill the entire thread, but just those parts of the thread that |
5966 have the same subject as the current article. If you like this idea, | |
5967 you can fiddle with @code{gnus-thread-operation-ignore-subject}. If it | |
5968 is non-@code{nil} (which it is by default), subjects will be ignored | |
5969 when doing thread commands. If this variable is @code{nil}, articles in | |
5970 the same thread with different subjects will not be included in the | |
5971 operation in question. If this variable is @code{fuzzy}, only articles | |
5972 that have subjects fuzzily equal will be included (@pxref{Fuzzy | |
5973 Matching}). | |
5974 | |
5975 | |
5976 @node Sorting | |
5977 @section Sorting | |
5978 | |
5979 @findex gnus-thread-sort-by-total-score | |
5980 @findex gnus-thread-sort-by-date | |
5981 @findex gnus-thread-sort-by-score | |
5982 @findex gnus-thread-sort-by-subject | |
5983 @findex gnus-thread-sort-by-author | |
5984 @findex gnus-thread-sort-by-number | |
5985 @vindex gnus-thread-sort-functions | |
5986 If you are using a threaded summary display, you can sort the threads by | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5987 setting @code{gnus-thread-sort-functions}, which can be either a single |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5988 function, a list of functions, or a list containing functions and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5989 @code{(not some-function)} elements. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5990 |
25829 | 5991 By default, sorting is done on article numbers. Ready-made sorting |
5992 predicate functions include @code{gnus-thread-sort-by-number}, | |
5993 @code{gnus-thread-sort-by-author}, @code{gnus-thread-sort-by-subject}, | |
5994 @code{gnus-thread-sort-by-date}, @code{gnus-thread-sort-by-score}, and | |
5995 @code{gnus-thread-sort-by-total-score}. | |
5996 | |
5997 Each function takes two threads and returns non-@code{nil} if the first | |
5998 thread should be sorted before the other. Note that sorting really is | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5999 normally done by looking only at the roots of each thread. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
6000 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
6001 If you use more than one function, the primary sort key should be the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
6002 last function in the list. You should probably always include |
25829 | 6003 @code{gnus-thread-sort-by-number} in the list of sorting |
6004 functions---preferably first. This will ensure that threads that are | |
6005 equal with respect to the other sort criteria will be displayed in | |
6006 ascending article order. | |
6007 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
6008 If you would like to sort by reverse score, then by subject, and finally |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
6009 by number, you could do something like: |
25829 | 6010 |
6011 @lisp | |
6012 (setq gnus-thread-sort-functions | |
6013 '(gnus-thread-sort-by-number | |
6014 gnus-thread-sort-by-subject | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
6015 (not gnus-thread-sort-by-total-score))) |
25829 | 6016 @end lisp |
6017 | |
6018 The threads that have highest score will be displayed first in the | |
6019 summary buffer. When threads have the same score, they will be sorted | |
6020 alphabetically. The threads that have the same score and the same | |
6021 subject will be sorted by number, which is (normally) the sequence in | |
6022 which the articles arrived. | |
6023 | |
6024 If you want to sort by score and then reverse arrival order, you could | |
6025 say something like: | |
6026 | |
6027 @lisp | |
6028 (setq gnus-thread-sort-functions | |
6029 '((lambda (t1 t2) | |
6030 (not (gnus-thread-sort-by-number t1 t2))) | |
6031 gnus-thread-sort-by-score)) | |
6032 @end lisp | |
6033 | |
6034 @vindex gnus-thread-score-function | |
6035 The function in the @code{gnus-thread-score-function} variable (default | |
6036 @code{+}) is used for calculating the total score of a thread. Useful | |
6037 functions might be @code{max}, @code{min}, or squared means, or whatever | |
6038 tickles your fancy. | |
6039 | |
6040 @findex gnus-article-sort-functions | |
6041 @findex gnus-article-sort-by-date | |
6042 @findex gnus-article-sort-by-score | |
6043 @findex gnus-article-sort-by-subject | |
6044 @findex gnus-article-sort-by-author | |
6045 @findex gnus-article-sort-by-number | |
6046 If you are using an unthreaded display for some strange reason or other, | |
6047 you have to fiddle with the @code{gnus-article-sort-functions} variable. | |
6048 It is very similar to the @code{gnus-thread-sort-functions}, except that | |
6049 it uses slightly different functions for article comparison. Available | |
6050 sorting predicate functions are @code{gnus-article-sort-by-number}, | |
6051 @code{gnus-article-sort-by-author}, @code{gnus-article-sort-by-subject}, | |
6052 @code{gnus-article-sort-by-date}, and @code{gnus-article-sort-by-score}. | |
6053 | |
6054 If you want to sort an unthreaded summary display by subject, you could | |
6055 say something like: | |
6056 | |
6057 @lisp | |
6058 (setq gnus-article-sort-functions | |
6059 '(gnus-article-sort-by-number | |
6060 gnus-article-sort-by-subject)) | |
6061 @end lisp | |
6062 | |
6063 | |
6064 | |
6065 @node Asynchronous Fetching | |
6066 @section Asynchronous Article Fetching | |
6067 @cindex asynchronous article fetching | |
6068 @cindex article pre-fetch | |
6069 @cindex pre-fetch | |
6070 | |
6071 If you read your news from an @sc{nntp} server that's far away, the | |
6072 network latencies may make reading articles a chore. You have to wait | |
6073 for a while after pressing @kbd{n} to go to the next article before the | |
6074 article appears. Why can't Gnus just go ahead and fetch the article | |
6075 while you are reading the previous one? Why not, indeed. | |
6076 | |
6077 First, some caveats. There are some pitfalls to using asynchronous | |
6078 article fetching, especially the way Gnus does it. | |
6079 | |
6080 Let's say you are reading article 1, which is short, and article 2 is | |
6081 quite long, and you are not interested in reading that. Gnus does not | |
6082 know this, so it goes ahead and fetches article 2. You decide to read | |
6083 article 3, but since Gnus is in the process of fetching article 2, the | |
6084 connection is blocked. | |
6085 | |
6086 To avoid these situations, Gnus will open two (count 'em two) | |
6087 connections to the server. Some people may think this isn't a very nice | |
6088 thing to do, but I don't see any real alternatives. Setting up that | |
6089 extra connection takes some time, so Gnus startup will be slower. | |
6090 | |
6091 Gnus will fetch more articles than you will read. This will mean that | |
6092 the link between your machine and the @sc{nntp} server will become more | |
6093 loaded than if you didn't use article pre-fetch. The server itself will | |
6094 also become more loaded---both with the extra article requests, and the | |
6095 extra connection. | |
6096 | |
6097 Ok, so now you know that you shouldn't really use this thing... unless | |
6098 you really want to. | |
6099 | |
6100 @vindex gnus-asynchronous | |
6101 Here's how: Set @code{gnus-asynchronous} to @code{t}. The rest should | |
6102 happen automatically. | |
6103 | |
6104 @vindex gnus-use-article-prefetch | |
6105 You can control how many articles are to be pre-fetched by setting | |
6106 @code{gnus-use-article-prefetch}. This is 30 by default, which means | |
39395 | 6107 that when you read an article in the group, the back end will pre-fetch |
6108 the next 30 articles. If this variable is @code{t}, the back end will | |
25829 | 6109 pre-fetch all the articles it can without bound. If it is |
6110 @code{nil}, no pre-fetching will be done. | |
6111 | |
6112 @vindex gnus-async-prefetch-article-p | |
6113 @findex gnus-async-read-p | |
6114 There are probably some articles that you don't want to pre-fetch---read | |
6115 articles, for instance. The @code{gnus-async-prefetch-article-p} variable controls whether an article is to be pre-fetched. This function should | |
6116 return non-@code{nil} when the article in question is to be | |
6117 pre-fetched. The default is @code{gnus-async-read-p}, which returns | |
6118 @code{nil} on read articles. The function is called with an article | |
6119 data structure as the only parameter. | |
6120 | |
6121 If, for instance, you wish to pre-fetch only unread articles shorter than 100 lines, you could say something like: | |
6122 | |
6123 @lisp | |
6124 (defun my-async-short-unread-p (data) | |
6125 "Return non-nil for short, unread articles." | |
6126 (and (gnus-data-unread-p data) | |
6127 (< (mail-header-lines (gnus-data-header data)) | |
6128 100))) | |
6129 | |
6130 (setq gnus-async-prefetch-article-p 'my-async-short-unread-p) | |
6131 @end lisp | |
6132 | |
6133 These functions will be called many, many times, so they should | |
6134 preferably be short and sweet to avoid slowing down Gnus too much. | |
6135 It's probably a good idea to byte-compile things like this. | |
6136 | |
6137 @vindex gnus-prefetched-article-deletion-strategy | |
6138 Articles have to be removed from the asynch buffer sooner or later. The | |
6139 @code{gnus-prefetched-article-deletion-strategy} says when to remove | |
6140 articles. This is a list that may contain the following elements: | |
6141 | |
6142 @table @code | |
6143 @item read | |
6144 Remove articles when they are read. | |
6145 | |
6146 @item exit | |
6147 Remove articles when exiting the group. | |
6148 @end table | |
6149 | |
6150 The default value is @code{(read exit)}. | |
6151 | |
6152 @c @vindex gnus-use-header-prefetch | |
6153 @c If @code{gnus-use-header-prefetch} is non-@code{nil}, prefetch articles | |
6154 @c from the next group. | |
6155 | |
6156 | |
6157 @node Article Caching | |
6158 @section Article Caching | |
6159 @cindex article caching | |
6160 @cindex caching | |
6161 | |
6162 If you have an @emph{extremely} slow @sc{nntp} connection, you may | |
6163 consider turning article caching on. Each article will then be stored | |
6164 locally under your home directory. As you may surmise, this could | |
6165 potentially use @emph{huge} amounts of disk space, as well as eat up all | |
6166 your inodes so fast it will make your head swim. In vodka. | |
6167 | |
6168 Used carefully, though, it could be just an easier way to save articles. | |
6169 | |
6170 @vindex gnus-use-long-file-name | |
6171 @vindex gnus-cache-directory | |
6172 @vindex gnus-use-cache | |
6173 To turn caching on, set @code{gnus-use-cache} to @code{t}. By default, | |
6174 all articles ticked or marked as dormant will then be copied | |
6175 over to your local cache (@code{gnus-cache-directory}). Whether this | |
35073 | 6176 cache is flat or hierarchical is controlled by the |
25829 | 6177 @code{gnus-use-long-file-name} variable, as usual. |
6178 | |
6179 When re-selecting a ticked or dormant article, it will be fetched from the | |
6180 cache instead of from the server. As articles in your cache will never | |
6181 expire, this might serve as a method of saving articles while still | |
6182 keeping them where they belong. Just mark all articles you want to save | |
6183 as dormant, and don't worry. | |
6184 | |
6185 When an article is marked as read, is it removed from the cache. | |
6186 | |
6187 @vindex gnus-cache-remove-articles | |
6188 @vindex gnus-cache-enter-articles | |
6189 The entering/removal of articles from the cache is controlled by the | |
6190 @code{gnus-cache-enter-articles} and @code{gnus-cache-remove-articles} | |
6191 variables. Both are lists of symbols. The first is @code{(ticked | |
6192 dormant)} by default, meaning that ticked and dormant articles will be | |
6193 put in the cache. The latter is @code{(read)} by default, meaning that | |
6194 articles marked as read are removed from the cache. Possibly | |
6195 symbols in these two lists are @code{ticked}, @code{dormant}, | |
6196 @code{unread} and @code{read}. | |
6197 | |
6198 @findex gnus-jog-cache | |
6199 So where does the massive article-fetching and storing come into the | |
6200 picture? The @code{gnus-jog-cache} command will go through all | |
6201 subscribed newsgroups, request all unread articles, score them, and | |
6202 store them in the cache. You should only ever, ever ever ever, use this | |
6203 command if 1) your connection to the @sc{nntp} server is really, really, | |
6204 really slow and 2) you have a really, really, really huge disk. | |
6205 Seriously. One way to cut down on the number of articles downloaded is | |
6206 to score unwanted articles down and have them marked as read. They will | |
6207 not then be downloaded by this command. | |
6208 | |
6209 @vindex gnus-uncacheable-groups | |
6210 @vindex gnus-cacheable-groups | |
6211 It is likely that you do not want caching on all groups. For instance, | |
6212 if your @code{nnml} mail is located under your home directory, it makes no | |
6213 sense to cache it somewhere else under your home directory. Unless you | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
6214 feel that it's neat to use twice as much space. |
25829 | 6215 |
6216 To limit the caching, you could set @code{gnus-cacheable-groups} to a | |
6217 regexp of groups to cache, @samp{^nntp} for instance, or set the | |
6218 @code{gnus-uncacheable-groups} regexp to @samp{^nnml}, for instance. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
6219 Both variables are @code{nil} by default. If a group matches both |
25829 | 6220 variables, the group is not cached. |
6221 | |
6222 @findex gnus-cache-generate-nov-databases | |
6223 @findex gnus-cache-generate-active | |
6224 @vindex gnus-cache-active-file | |
6225 The cache stores information on what articles it contains in its active | |
6226 file (@code{gnus-cache-active-file}). If this file (or any other parts | |
6227 of the cache) becomes all messed up for some reason or other, Gnus | |
6228 offers two functions that will try to set things right. @kbd{M-x | |
6229 gnus-cache-generate-nov-databases} will (re)build all the @sc{nov} | |
6230 files, and @kbd{gnus-cache-generate-active} will (re)generate the active | |
6231 file. | |
6232 | |
6233 | |
6234 @node Persistent Articles | |
6235 @section Persistent Articles | |
6236 @cindex persistent articles | |
6237 | |
6238 Closely related to article caching, we have @dfn{persistent articles}. | |
6239 In fact, it's just a different way of looking at caching, and much more | |
6240 useful in my opinion. | |
6241 | |
6242 Say you're reading a newsgroup, and you happen on to some valuable gem | |
6243 that you want to keep and treasure forever. You'd normally just save it | |
6244 (using one of the many saving commands) in some file. The problem with | |
6245 that is that it's just, well, yucky. Ideally you'd prefer just having | |
6246 the article remain in the group where you found it forever; untouched by | |
6247 the expiry going on at the news server. | |
6248 | |
6249 This is what a @dfn{persistent article} is---an article that just won't | |
6250 be deleted. It's implemented using the normal cache functions, but | |
6251 you use two explicit commands for managing persistent articles: | |
6252 | |
6253 @table @kbd | |
6254 | |
6255 @item * | |
36028 | 6256 @kindex * @r{(Summary)} |
25829 | 6257 @findex gnus-cache-enter-article |
6258 Make the current article persistent (@code{gnus-cache-enter-article}). | |
6259 | |
6260 @item M-* | |
36028 | 6261 @kindex M-* @r{(Summary)} |
25829 | 6262 @findex gnus-cache-remove-article |
6263 Remove the current article from the persistent articles | |
6264 (@code{gnus-cache-remove-article}). This will normally delete the | |
6265 article. | |
6266 @end table | |
6267 | |
6268 Both these commands understand the process/prefix convention. | |
6269 | |
6270 To avoid having all ticked articles (and stuff) entered into the cache, | |
6271 you should set @code{gnus-use-cache} to @code{passive} if you're just | |
6272 interested in persistent articles: | |
6273 | |
6274 @lisp | |
6275 (setq gnus-use-cache 'passive) | |
6276 @end lisp | |
6277 | |
6278 | |
6279 @node Article Backlog | |
6280 @section Article Backlog | |
6281 @cindex backlog | |
6282 @cindex article backlog | |
6283 | |
6284 If you have a slow connection, but the idea of using caching seems | |
6285 unappealing to you (and it is, really), you can help the situation some | |
6286 by switching on the @dfn{backlog}. This is where Gnus will buffer | |
6287 already read articles so that it doesn't have to re-fetch articles | |
6288 you've already read. This only helps if you are in the habit of | |
6289 re-selecting articles you've recently read, of course. If you never do | |
6290 that, turning the backlog on will slow Gnus down a little bit, and | |
6291 increase memory usage some. | |
6292 | |
6293 @vindex gnus-keep-backlog | |
6294 If you set @code{gnus-keep-backlog} to a number @var{n}, Gnus will store | |
6295 at most @var{n} old articles in a buffer for later re-fetching. If this | |
6296 variable is non-@code{nil} and is not a number, Gnus will store | |
6297 @emph{all} read articles, which means that your Emacs will grow without | |
6298 bound before exploding and taking your machine down with you. I put | |
6299 that in there just to keep y'all on your toes. | |
6300 | |
6301 This variable is @code{nil} by default. | |
6302 | |
6303 | |
6304 @node Saving Articles | |
6305 @section Saving Articles | |
6306 @cindex saving articles | |
6307 | |
6308 Gnus can save articles in a number of ways. Below is the documentation | |
6309 for saving articles in a fairly straight-forward fashion (i.e., little | |
6310 processing of the article is done before it is saved). For a different | |
6311 approach (uudecoding, unsharing) you should use @code{gnus-uu} | |
6312 (@pxref{Decoding Articles}). | |
6313 | |
6314 @vindex gnus-save-all-headers | |
6315 If @code{gnus-save-all-headers} is non-@code{nil}, Gnus will not delete | |
6316 unwanted headers before saving the article. | |
6317 | |
6318 @vindex gnus-saved-headers | |
6319 If the preceding variable is @code{nil}, all headers that match the | |
6320 @code{gnus-saved-headers} regexp will be kept, while the rest will be | |
6321 deleted before saving. | |
6322 | |
6323 @table @kbd | |
6324 | |
6325 @item O o | |
6326 @itemx o | |
36028 | 6327 @kindex O o @r{(Summary)} |
6328 @kindex o @r{(Summary)} | |
25829 | 6329 @findex gnus-summary-save-article |
6330 @c @icon{gnus-summary-save-article} | |
6331 Save the current article using the default article saver | |
6332 (@code{gnus-summary-save-article}). | |
6333 | |
6334 @item O m | |
36028 | 6335 @kindex O m @r{(Summary)} |
25829 | 6336 @findex gnus-summary-save-article-mail |
6337 Save the current article in mail format | |
6338 (@code{gnus-summary-save-article-mail}). | |
6339 | |
6340 @item O r | |
36028 | 6341 @kindex O r @r{(Summary)} |
25829 | 6342 @findex gnus-summary-save-article-rmail |
6343 Save the current article in rmail format | |
6344 (@code{gnus-summary-save-article-rmail}). | |
6345 | |
6346 @item O f | |
36028 | 6347 @kindex O f @r{(Summary)} |
25829 | 6348 @findex gnus-summary-save-article-file |
6349 @c @icon{gnus-summary-save-article-file} | |
6350 Save the current article in plain file format | |
6351 (@code{gnus-summary-save-article-file}). | |
6352 | |
6353 @item O F | |
36028 | 6354 @kindex O F @r{(Summary)} |
25829 | 6355 @findex gnus-summary-write-article-file |
6356 Write the current article in plain file format, overwriting any previous | |
6357 file contents (@code{gnus-summary-write-article-file}). | |
6358 | |
6359 @item O b | |
36028 | 6360 @kindex O b @r{(Summary)} |
25829 | 6361 @findex gnus-summary-save-article-body-file |
6362 Save the current article body in plain file format | |
6363 (@code{gnus-summary-save-article-body-file}). | |
6364 | |
6365 @item O h | |
36028 | 6366 @kindex O h @r{(Summary)} |
25829 | 6367 @findex gnus-summary-save-article-folder |
6368 Save the current article in mh folder format | |
6369 (@code{gnus-summary-save-article-folder}). | |
6370 | |
6371 @item O v | |
36028 | 6372 @kindex O v @r{(Summary)} |
25829 | 6373 @findex gnus-summary-save-article-vm |
6374 Save the current article in a VM folder | |
6375 (@code{gnus-summary-save-article-vm}). | |
6376 | |
6377 @item O p | |
36028 | 6378 @kindex O p @r{(Summary)} |
25829 | 6379 @findex gnus-summary-pipe-output |
6380 Save the current article in a pipe. Uhm, like, what I mean is---Pipe | |
6381 the current article to a process (@code{gnus-summary-pipe-output}). | |
6382 @end table | |
6383 | |
6384 @vindex gnus-prompt-before-saving | |
6385 All these commands use the process/prefix convention | |
6386 (@pxref{Process/Prefix}). If you save bunches of articles using these | |
6387 functions, you might get tired of being prompted for files to save each | |
6388 and every article in. The prompting action is controlled by | |
6389 the @code{gnus-prompt-before-saving} variable, which is @code{always} by | |
6390 default, giving you that excessive prompting action you know and | |
6391 loathe. If you set this variable to @code{t} instead, you'll be prompted | |
6392 just once for each series of articles you save. If you like to really | |
6393 have Gnus do all your thinking for you, you can even set this variable | |
6394 to @code{nil}, which means that you will never be prompted for files to | |
6395 save articles in. Gnus will simply save all the articles in the default | |
6396 files. | |
6397 | |
6398 | |
6399 @vindex gnus-default-article-saver | |
6400 You can customize the @code{gnus-default-article-saver} variable to make | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
6401 Gnus do what you want it to. You can use any of the six ready-made |
25829 | 6402 functions below, or you can create your own. |
6403 | |
6404 @table @code | |
6405 | |
6406 @item gnus-summary-save-in-rmail | |
6407 @findex gnus-summary-save-in-rmail | |
6408 @vindex gnus-rmail-save-name | |
6409 @findex gnus-plain-save-name | |
6410 This is the default format, @dfn{babyl}. Uses the function in the | |
6411 @code{gnus-rmail-save-name} variable to get a file name to save the | |
6412 article in. The default is @code{gnus-plain-save-name}. | |
6413 | |
6414 @item gnus-summary-save-in-mail | |
6415 @findex gnus-summary-save-in-mail | |
6416 @vindex gnus-mail-save-name | |
6417 Save in a Unix mail (mbox) file. Uses the function in the | |
6418 @code{gnus-mail-save-name} variable to get a file name to save the | |
6419 article in. The default is @code{gnus-plain-save-name}. | |
6420 | |
6421 @item gnus-summary-save-in-file | |
6422 @findex gnus-summary-save-in-file | |
6423 @vindex gnus-file-save-name | |
6424 @findex gnus-numeric-save-name | |
6425 Append the article straight to an ordinary file. Uses the function in | |
6426 the @code{gnus-file-save-name} variable to get a file name to save the | |
6427 article in. The default is @code{gnus-numeric-save-name}. | |
6428 | |
6429 @item gnus-summary-save-body-in-file | |
6430 @findex gnus-summary-save-body-in-file | |
6431 Append the article body to an ordinary file. Uses the function in the | |
6432 @code{gnus-file-save-name} variable to get a file name to save the | |
6433 article in. The default is @code{gnus-numeric-save-name}. | |
6434 | |
6435 @item gnus-summary-save-in-folder | |
6436 @findex gnus-summary-save-in-folder | |
6437 @findex gnus-folder-save-name | |
6438 @findex gnus-Folder-save-name | |
6439 @vindex gnus-folder-save-name | |
6440 @cindex rcvstore | |
6441 @cindex MH folders | |
6442 Save the article to an MH folder using @code{rcvstore} from the MH | |
6443 library. Uses the function in the @code{gnus-folder-save-name} variable | |
6444 to get a file name to save the article in. The default is | |
6445 @code{gnus-folder-save-name}, but you can also use | |
6446 @code{gnus-Folder-save-name}, which creates capitalized names. | |
6447 | |
6448 @item gnus-summary-save-in-vm | |
6449 @findex gnus-summary-save-in-vm | |
6450 Save the article in a VM folder. You have to have the VM mail | |
6451 reader to use this setting. | |
6452 @end table | |
6453 | |
6454 @vindex gnus-article-save-directory | |
6455 All of these functions, except for the last one, will save the article | |
6456 in the @code{gnus-article-save-directory}, which is initialized from the | |
6457 @code{SAVEDIR} environment variable. This is @file{~/News/} by | |
6458 default. | |
6459 | |
6460 As you can see above, the functions use different functions to find a | |
6461 suitable name of a file to save the article in. Below is a list of | |
6462 available functions that generate names: | |
6463 | |
6464 @table @code | |
6465 | |
6466 @item gnus-Numeric-save-name | |
6467 @findex gnus-Numeric-save-name | |
6468 File names like @file{~/News/Alt.andrea-dworkin/45}. | |
6469 | |
6470 @item gnus-numeric-save-name | |
6471 @findex gnus-numeric-save-name | |
6472 File names like @file{~/News/alt.andrea-dworkin/45}. | |
6473 | |
6474 @item gnus-Plain-save-name | |
6475 @findex gnus-Plain-save-name | |
6476 File names like @file{~/News/Alt.andrea-dworkin}. | |
6477 | |
6478 @item gnus-plain-save-name | |
6479 @findex gnus-plain-save-name | |
6480 File names like @file{~/News/alt.andrea-dworkin}. | |
6481 @end table | |
6482 | |
6483 @vindex gnus-split-methods | |
6484 You can have Gnus suggest where to save articles by plonking a regexp into | |
6485 the @code{gnus-split-methods} alist. For instance, if you would like to | |
6486 save articles related to Gnus in the file @file{gnus-stuff}, and articles | |
6487 related to VM in @code{vm-stuff}, you could set this variable to something | |
6488 like: | |
6489 | |
6490 @lisp | |
6491 (("^Subject:.*gnus\\|^Newsgroups:.*gnus" "gnus-stuff") | |
6492 ("^Subject:.*vm\\|^Xref:.*vm" "vm-stuff") | |
6493 (my-choosing-function "../other-dir/my-stuff") | |
6494 ((equal gnus-newsgroup-name "mail.misc") "mail-stuff")) | |
6495 @end lisp | |
6496 | |
6497 We see that this is a list where each element is a list that has two | |
6498 elements---the @dfn{match} and the @dfn{file}. The match can either be | |
6499 a string (in which case it is used as a regexp to match on the article | |
6500 head); it can be a symbol (which will be called as a function with the | |
6501 group name as a parameter); or it can be a list (which will be | |
6502 @code{eval}ed). If any of these actions have a non-@code{nil} result, | |
6503 the @dfn{file} will be used as a default prompt. In addition, the | |
6504 result of the operation itself will be used if the function or form | |
6505 called returns a string or a list of strings. | |
6506 | |
6507 You basically end up with a list of file names that might be used when | |
6508 saving the current article. (All ``matches'' will be used.) You will | |
6509 then be prompted for what you really want to use as a name, with file | |
6510 name completion over the results from applying this variable. | |
6511 | |
6512 This variable is @code{((gnus-article-archive-name))} by default, which | |
6513 means that Gnus will look at the articles it saves for an | |
6514 @code{Archive-name} line and use that as a suggestion for the file | |
6515 name. | |
6516 | |
6517 Here's an example function to clean up file names somewhat. If you have | |
6518 lots of mail groups called things like | |
6519 @samp{nnml:mail.whatever}, you may want to chop off the beginning of | |
6520 these group names before creating the file name to save to. The | |
6521 following will do just that: | |
6522 | |
6523 @lisp | |
6524 (defun my-save-name (group) | |
6525 (when (string-match "^nnml:mail." group) | |
6526 (substring group (match-end 0)))) | |
6527 | |
6528 (setq gnus-split-methods | |
6529 '((gnus-article-archive-name) | |
6530 (my-save-name))) | |
6531 @end lisp | |
6532 | |
6533 | |
6534 @vindex gnus-use-long-file-name | |
6535 Finally, you have the @code{gnus-use-long-file-name} variable. If it is | |
6536 @code{nil}, all the preceding functions will replace all periods | |
6537 (@samp{.}) in the group names with slashes (@samp{/})---which means that | |
6538 the functions will generate hierarchies of directories instead of having | |
6539 all the files in the top level directory | |
6540 (@file{~/News/alt/andrea-dworkin} instead of | |
6541 @file{~/News/alt.andrea-dworkin}.) This variable is @code{t} by default | |
6542 on most systems. However, for historical reasons, this is @code{nil} on | |
6543 Xenix and usg-unix-v machines by default. | |
6544 | |
6545 This function also affects kill and score file names. If this variable | |
6546 is a list, and the list contains the element @code{not-score}, long file | |
6547 names will not be used for score files, if it contains the element | |
6548 @code{not-save}, long file names will not be used for saving, and if it | |
6549 contains the element @code{not-kill}, long file names will not be used | |
6550 for kill files. | |
6551 | |
6552 If you'd like to save articles in a hierarchy that looks something like | |
6553 a spool, you could | |
6554 | |
6555 @lisp | |
6556 (setq gnus-use-long-file-name '(not-save)) ; to get a hierarchy | |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
6557 (setq gnus-default-article-saver |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
6558 'gnus-summary-save-in-file) ; no encoding |
25829 | 6559 @end lisp |
6560 | |
6561 Then just save with @kbd{o}. You'd then read this hierarchy with | |
6562 ephemeral @code{nneething} groups---@kbd{G D} in the group buffer, and | |
6563 the top level directory as the argument (@file{~/News/}). Then just walk | |
6564 around to the groups/directories with @code{nneething}. | |
6565 | |
6566 | |
6567 @node Decoding Articles | |
6568 @section Decoding Articles | |
6569 @cindex decoding articles | |
6570 | |
6571 Sometime users post articles (or series of articles) that have been | |
6572 encoded in some way or other. Gnus can decode them for you. | |
6573 | |
6574 @menu | |
6575 * Uuencoded Articles:: Uudecode articles. | |
6576 * Shell Archives:: Unshar articles. | |
6577 * PostScript Files:: Split PostScript. | |
6578 * Other Files:: Plain save and binhex. | |
6579 * Decoding Variables:: Variables for a happy decoding. | |
6580 * Viewing Files:: You want to look at the result of the decoding? | |
6581 @end menu | |
6582 | |
6583 @cindex series | |
6584 @cindex article series | |
6585 All these functions use the process/prefix convention | |
6586 (@pxref{Process/Prefix}) for finding out what articles to work on, with | |
6587 the extension that a ``single article'' means ``a single series''. Gnus | |
6588 can find out by itself what articles belong to a series, decode all the | |
6589 articles and unpack/view/save the resulting file(s). | |
6590 | |
6591 Gnus guesses what articles are in the series according to the following | |
6592 simplish rule: The subjects must be (nearly) identical, except for the | |
6593 last two numbers of the line. (Spaces are largely ignored, however.) | |
6594 | |
6595 For example: If you choose a subject called @samp{cat.gif (2/3)}, Gnus | |
6596 will find all the articles that match the regexp @samp{^cat.gif | |
6597 ([0-9]+/[0-9]+).*$}. | |
6598 | |
6599 Subjects that are non-standard, like @samp{cat.gif (2/3) Part 6 of a | |
6600 series}, will not be properly recognized by any of the automatic viewing | |
6601 commands, and you have to mark the articles manually with @kbd{#}. | |
6602 | |
6603 | |
6604 @node Uuencoded Articles | |
6605 @subsection Uuencoded Articles | |
6606 @cindex uudecode | |
6607 @cindex uuencoded articles | |
6608 | |
6609 @table @kbd | |
6610 | |
6611 @item X u | |
36028 | 6612 @kindex X u @r{(Summary)} |
25829 | 6613 @findex gnus-uu-decode-uu |
6614 @c @icon{gnus-uu-decode-uu} | |
6615 Uudecodes the current series (@code{gnus-uu-decode-uu}). | |
6616 | |
6617 @item X U | |
36028 | 6618 @kindex X U @r{(Summary)} |
25829 | 6619 @findex gnus-uu-decode-uu-and-save |
6620 Uudecodes and saves the current series | |
6621 (@code{gnus-uu-decode-uu-and-save}). | |
6622 | |
6623 @item X v u | |
36028 | 6624 @kindex X v u @r{(Summary)} |
25829 | 6625 @findex gnus-uu-decode-uu-view |
6626 Uudecodes and views the current series (@code{gnus-uu-decode-uu-view}). | |
6627 | |
6628 @item X v U | |
36028 | 6629 @kindex X v U @r{(Summary)} |
25829 | 6630 @findex gnus-uu-decode-uu-and-save-view |
6631 Uudecodes, views and saves the current series | |
6632 (@code{gnus-uu-decode-uu-and-save-view}). | |
6633 | |
6634 @end table | |
6635 | |
6636 Remember that these all react to the presence of articles marked with | |
6637 the process mark. If, for instance, you'd like to decode and save an | |
6638 entire newsgroup, you'd typically do @kbd{M P a} | |
6639 (@code{gnus-uu-mark-all}) and then @kbd{X U} | |
6640 (@code{gnus-uu-decode-uu-and-save}). | |
6641 | |
6642 All this is very much different from how @code{gnus-uu} worked with | |
6643 @sc{gnus 4.1}, where you had explicit keystrokes for everything under | |
6644 the sun. This version of @code{gnus-uu} generally assumes that you mark | |
6645 articles in some way (@pxref{Setting Process Marks}) and then press | |
6646 @kbd{X u}. | |
6647 | |
6648 @vindex gnus-uu-notify-files | |
6649 Note: When trying to decode articles that have names matching | |
6650 @code{gnus-uu-notify-files}, which is hard-coded to | |
6651 @samp{[Cc][Ii][Nn][Dd][Yy][0-9]+.\\(gif\\|jpg\\)}, @code{gnus-uu} will | |
6652 automatically post an article on @samp{comp.unix.wizards} saying that | |
6653 you have just viewed the file in question. This feature can't be turned | |
6654 off. | |
6655 | |
6656 | |
6657 @node Shell Archives | |
6658 @subsection Shell Archives | |
6659 @cindex unshar | |
6660 @cindex shell archives | |
6661 @cindex shared articles | |
6662 | |
6663 Shell archives (``shar files'') used to be a popular way to distribute | |
6664 sources, but it isn't used all that much today. In any case, we have | |
6665 some commands to deal with these: | |
6666 | |
6667 @table @kbd | |
6668 | |
6669 @item X s | |
36028 | 6670 @kindex X s @r{(Summary)} |
25829 | 6671 @findex gnus-uu-decode-unshar |
6672 Unshars the current series (@code{gnus-uu-decode-unshar}). | |
6673 | |
6674 @item X S | |
36028 | 6675 @kindex X S @r{(Summary)} |
25829 | 6676 @findex gnus-uu-decode-unshar-and-save |
6677 Unshars and saves the current series (@code{gnus-uu-decode-unshar-and-save}). | |
6678 | |
6679 @item X v s | |
36028 | 6680 @kindex X v s @r{(Summary)} |
25829 | 6681 @findex gnus-uu-decode-unshar-view |
6682 Unshars and views the current series (@code{gnus-uu-decode-unshar-view}). | |
6683 | |
6684 @item X v S | |
36028 | 6685 @kindex X v S @r{(Summary)} |
25829 | 6686 @findex gnus-uu-decode-unshar-and-save-view |
6687 Unshars, views and saves the current series | |
6688 (@code{gnus-uu-decode-unshar-and-save-view}). | |
6689 @end table | |
6690 | |
6691 | |
6692 @node PostScript Files | |
6693 @subsection PostScript Files | |
6694 @cindex PostScript | |
6695 | |
6696 @table @kbd | |
6697 | |
6698 @item X p | |
36028 | 6699 @kindex X p @r{(Summary)} |
25829 | 6700 @findex gnus-uu-decode-postscript |
6701 Unpack the current PostScript series (@code{gnus-uu-decode-postscript}). | |
6702 | |
6703 @item X P | |
36028 | 6704 @kindex X P @r{(Summary)} |
25829 | 6705 @findex gnus-uu-decode-postscript-and-save |
6706 Unpack and save the current PostScript series | |
6707 (@code{gnus-uu-decode-postscript-and-save}). | |
6708 | |
6709 @item X v p | |
36028 | 6710 @kindex X v p @r{(Summary)} |
25829 | 6711 @findex gnus-uu-decode-postscript-view |
6712 View the current PostScript series | |
6713 (@code{gnus-uu-decode-postscript-view}). | |
6714 | |
6715 @item X v P | |
36028 | 6716 @kindex X v P @r{(Summary)} |
25829 | 6717 @findex gnus-uu-decode-postscript-and-save-view |
6718 View and save the current PostScript series | |
6719 (@code{gnus-uu-decode-postscript-and-save-view}). | |
6720 @end table | |
6721 | |
6722 | |
6723 @node Other Files | |
6724 @subsection Other Files | |
6725 | |
6726 @table @kbd | |
6727 @item X o | |
36028 | 6728 @kindex X o @r{(Summary)} |
25829 | 6729 @findex gnus-uu-decode-save |
6730 Save the current series | |
6731 (@code{gnus-uu-decode-save}). | |
6732 | |
6733 @item X b | |
36028 | 6734 @kindex X b @r{(Summary)} |
25829 | 6735 @findex gnus-uu-decode-binhex |
6736 Unbinhex the current series (@code{gnus-uu-decode-binhex}). This | |
6737 doesn't really work yet. | |
6738 @end table | |
6739 | |
6740 | |
6741 @node Decoding Variables | |
6742 @subsection Decoding Variables | |
6743 | |
6744 Adjective, not verb. | |
6745 | |
6746 @menu | |
6747 * Rule Variables:: Variables that say how a file is to be viewed. | |
6748 * Other Decode Variables:: Other decode variables. | |
6749 * Uuencoding and Posting:: Variables for customizing uuencoding. | |
6750 @end menu | |
6751 | |
6752 | |
6753 @node Rule Variables | |
6754 @subsubsection Rule Variables | |
6755 @cindex rule variables | |
6756 | |
6757 Gnus uses @dfn{rule variables} to decide how to view a file. All these | |
6758 variables are of the form | |
6759 | |
6760 @lisp | |
6761 (list '(regexp1 command2) | |
6762 '(regexp2 command2) | |
6763 ...) | |
6764 @end lisp | |
6765 | |
6766 @table @code | |
6767 | |
6768 @item gnus-uu-user-view-rules | |
6769 @vindex gnus-uu-user-view-rules | |
6770 @cindex sox | |
6771 This variable is consulted first when viewing files. If you wish to use, | |
6772 for instance, @code{sox} to convert an @samp{.au} sound file, you could | |
6773 say something like: | |
6774 @lisp | |
6775 (setq gnus-uu-user-view-rules | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
6776 (list '("\\\\.au$" "sox %s -t .aiff > /dev/audio"))) |
25829 | 6777 @end lisp |
6778 | |
6779 @item gnus-uu-user-view-rules-end | |
6780 @vindex gnus-uu-user-view-rules-end | |
6781 This variable is consulted if Gnus couldn't make any matches from the | |
6782 user and default view rules. | |
6783 | |
6784 @item gnus-uu-user-archive-rules | |
6785 @vindex gnus-uu-user-archive-rules | |
6786 This variable can be used to say what commands should be used to unpack | |
6787 archives. | |
6788 @end table | |
6789 | |
6790 | |
6791 @node Other Decode Variables | |
6792 @subsubsection Other Decode Variables | |
6793 | |
6794 @table @code | |
6795 @vindex gnus-uu-grabbed-file-functions | |
6796 | |
6797 @item gnus-uu-grabbed-file-functions | |
6798 All functions in this list will be called right after each file has been | |
6799 successfully decoded---so that you can move or view files right away, | |
6800 and don't have to wait for all files to be decoded before you can do | |
6801 anything. Ready-made functions you can put in this list are: | |
6802 | |
6803 @table @code | |
6804 | |
6805 @item gnus-uu-grab-view | |
6806 @findex gnus-uu-grab-view | |
6807 View the file. | |
6808 | |
6809 @item gnus-uu-grab-move | |
6810 @findex gnus-uu-grab-move | |
6811 Move the file (if you're using a saving function.) | |
6812 @end table | |
6813 | |
6814 @item gnus-uu-be-dangerous | |
6815 @vindex gnus-uu-be-dangerous | |
6816 Specifies what to do if unusual situations arise during decoding. If | |
6817 @code{nil}, be as conservative as possible. If @code{t}, ignore things | |
6818 that didn't work, and overwrite existing files. Otherwise, ask each | |
6819 time. | |
6820 | |
6821 @item gnus-uu-ignore-files-by-name | |
6822 @vindex gnus-uu-ignore-files-by-name | |
6823 Files with name matching this regular expression won't be viewed. | |
6824 | |
6825 @item gnus-uu-ignore-files-by-type | |
6826 @vindex gnus-uu-ignore-files-by-type | |
6827 Files with a @sc{mime} type matching this variable won't be viewed. | |
6828 Note that Gnus tries to guess what type the file is based on the name. | |
6829 @code{gnus-uu} is not a @sc{mime} package (yet), so this is slightly | |
6830 kludgey. | |
6831 | |
6832 @item gnus-uu-tmp-dir | |
6833 @vindex gnus-uu-tmp-dir | |
6834 Where @code{gnus-uu} does its work. | |
6835 | |
6836 @item gnus-uu-do-not-unpack-archives | |
6837 @vindex gnus-uu-do-not-unpack-archives | |
6838 Non-@code{nil} means that @code{gnus-uu} won't peek inside archives | |
6839 looking for files to display. | |
6840 | |
6841 @item gnus-uu-view-and-save | |
6842 @vindex gnus-uu-view-and-save | |
6843 Non-@code{nil} means that the user will always be asked to save a file | |
6844 after viewing it. | |
6845 | |
6846 @item gnus-uu-ignore-default-view-rules | |
6847 @vindex gnus-uu-ignore-default-view-rules | |
6848 Non-@code{nil} means that @code{gnus-uu} will ignore the default viewing | |
6849 rules. | |
6850 | |
6851 @item gnus-uu-ignore-default-archive-rules | |
6852 @vindex gnus-uu-ignore-default-archive-rules | |
6853 Non-@code{nil} means that @code{gnus-uu} will ignore the default archive | |
6854 unpacking commands. | |
6855 | |
6856 @item gnus-uu-kill-carriage-return | |
6857 @vindex gnus-uu-kill-carriage-return | |
6858 Non-@code{nil} means that @code{gnus-uu} will strip all carriage returns | |
6859 from articles. | |
6860 | |
6861 @item gnus-uu-unmark-articles-not-decoded | |
6862 @vindex gnus-uu-unmark-articles-not-decoded | |
6863 Non-@code{nil} means that @code{gnus-uu} will mark unsuccessfully | |
6864 decoded articles as unread. | |
6865 | |
6866 @item gnus-uu-correct-stripped-uucode | |
6867 @vindex gnus-uu-correct-stripped-uucode | |
6868 Non-@code{nil} means that @code{gnus-uu} will @emph{try} to fix | |
6869 uuencoded files that have had trailing spaces deleted. | |
6870 | |
6871 @item gnus-uu-pre-uudecode-hook | |
6872 @vindex gnus-uu-pre-uudecode-hook | |
6873 Hook run before sending a message to @code{uudecode}. | |
6874 | |
6875 @item gnus-uu-view-with-metamail | |
6876 @vindex gnus-uu-view-with-metamail | |
6877 @cindex metamail | |
6878 Non-@code{nil} means that @code{gnus-uu} will ignore the viewing | |
6879 commands defined by the rule variables and just fudge a @sc{mime} | |
6880 content type based on the file name. The result will be fed to | |
6881 @code{metamail} for viewing. | |
6882 | |
6883 @item gnus-uu-save-in-digest | |
6884 @vindex gnus-uu-save-in-digest | |
6885 Non-@code{nil} means that @code{gnus-uu}, when asked to save without | |
6886 decoding, will save in digests. If this variable is @code{nil}, | |
6887 @code{gnus-uu} will just save everything in a file without any | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
6888 embellishments. The digesting almost conforms to RFC 1153---no easy way |
25829 | 6889 to specify any meaningful volume and issue numbers were found, so I |
6890 simply dropped them. | |
6891 | |
6892 @end table | |
6893 | |
6894 | |
6895 @node Uuencoding and Posting | |
6896 @subsubsection Uuencoding and Posting | |
6897 | |
6898 @table @code | |
6899 | |
6900 @item gnus-uu-post-include-before-composing | |
6901 @vindex gnus-uu-post-include-before-composing | |
6902 Non-@code{nil} means that @code{gnus-uu} will ask for a file to encode | |
6903 before you compose the article. If this variable is @code{t}, you can | |
6904 either include an encoded file with @kbd{C-c C-i} or have one included | |
6905 for you when you post the article. | |
6906 | |
6907 @item gnus-uu-post-length | |
6908 @vindex gnus-uu-post-length | |
6909 Maximum length of an article. The encoded file will be split into how | |
6910 many articles it takes to post the entire file. | |
6911 | |
6912 @item gnus-uu-post-threaded | |
6913 @vindex gnus-uu-post-threaded | |
6914 Non-@code{nil} means that @code{gnus-uu} will post the encoded file in a | |
6915 thread. This may not be smart, as no other decoder I have seen is able | |
6916 to follow threads when collecting uuencoded articles. (Well, I have | |
6917 seen one package that does that---@code{gnus-uu}, but somehow, I don't | |
6918 think that counts...) Default is @code{nil}. | |
6919 | |
6920 @item gnus-uu-post-separate-description | |
6921 @vindex gnus-uu-post-separate-description | |
6922 Non-@code{nil} means that the description will be posted in a separate | |
6923 article. The first article will typically be numbered (0/x). If this | |
6924 variable is @code{nil}, the description the user enters will be included | |
6925 at the beginning of the first article, which will be numbered (1/x). | |
6926 Default is @code{t}. | |
6927 | |
6928 @end table | |
6929 | |
6930 | |
6931 @node Viewing Files | |
6932 @subsection Viewing Files | |
6933 @cindex viewing files | |
6934 @cindex pseudo-articles | |
6935 | |
6936 After decoding, if the file is some sort of archive, Gnus will attempt | |
6937 to unpack the archive and see if any of the files in the archive can be | |
6938 viewed. For instance, if you have a gzipped tar file @file{pics.tar.gz} | |
6939 containing the files @file{pic1.jpg} and @file{pic2.gif}, Gnus will | |
6940 uncompress and de-tar the main file, and then view the two pictures. | |
6941 This unpacking process is recursive, so if the archive contains archives | |
6942 of archives, it'll all be unpacked. | |
6943 | |
6944 Finally, Gnus will normally insert a @dfn{pseudo-article} for each | |
6945 extracted file into the summary buffer. If you go to these | |
6946 ``articles'', you will be prompted for a command to run (usually Gnus | |
6947 will make a suggestion), and then the command will be run. | |
6948 | |
6949 @vindex gnus-view-pseudo-asynchronously | |
6950 If @code{gnus-view-pseudo-asynchronously} is @code{nil}, Emacs will wait | |
6951 until the viewing is done before proceeding. | |
6952 | |
6953 @vindex gnus-view-pseudos | |
6954 If @code{gnus-view-pseudos} is @code{automatic}, Gnus will not insert | |
6955 the pseudo-articles into the summary buffer, but view them | |
6956 immediately. If this variable is @code{not-confirm}, the user won't even | |
6957 be asked for a confirmation before viewing is done. | |
6958 | |
6959 @vindex gnus-view-pseudos-separately | |
6960 If @code{gnus-view-pseudos-separately} is non-@code{nil}, one | |
6961 pseudo-article will be created for each file to be viewed. If | |
6962 @code{nil}, all files that use the same viewing command will be given as | |
6963 a list of parameters to that command. | |
6964 | |
6965 @vindex gnus-insert-pseudo-articles | |
6966 If @code{gnus-insert-pseudo-articles} is non-@code{nil}, insert | |
6967 pseudo-articles when decoding. It is @code{t} by default. | |
6968 | |
6969 So; there you are, reading your @emph{pseudo-articles} in your | |
6970 @emph{virtual newsgroup} from the @emph{virtual server}; and you think: | |
6971 Why isn't anything real anymore? How did we get here? | |
6972 | |
6973 | |
6974 @node Article Treatment | |
6975 @section Article Treatment | |
6976 | |
6977 Reading through this huge manual, you may have quite forgotten that the | |
6978 object of newsreaders is to actually, like, read what people have | |
6979 written. Reading articles. Unfortunately, people are quite bad at | |
6980 writing, so there are tons of functions and variables to make reading | |
6981 these articles easier. | |
6982 | |
6983 @menu | |
6984 * Article Highlighting:: You want to make the article look like fruit salad. | |
6985 * Article Fontisizing:: Making emphasized text look nice. | |
6986 * Article Hiding:: You also want to make certain info go away. | |
6987 * Article Washing:: Lots of way-neat functions to make life better. | |
6988 * Article Buttons:: Click on URLs, Message-IDs, addresses and the like. | |
6989 * Article Date:: Grumble, UT! | |
6990 * Article Signature:: What is a signature? | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
6991 * Article Miscellania:: Various other stuff. |
25829 | 6992 @end menu |
6993 | |
6994 | |
6995 @node Article Highlighting | |
6996 @subsection Article Highlighting | |
6997 @cindex highlighting | |
6998 | |
6999 Not only do you want your article buffer to look like fruit salad, but | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7000 you want it to look like technicolor fruit salad. |
25829 | 7001 |
7002 @table @kbd | |
7003 | |
7004 @item W H a | |
36028 | 7005 @kindex W H a @r{(Summary)} |
25829 | 7006 @findex gnus-article-highlight |
7007 @findex gnus-article-maybe-highlight | |
7008 Do much highlighting of the current article | |
7009 (@code{gnus-article-highlight}). This function highlights header, cited | |
7010 text, the signature, and adds buttons to the body and the head. | |
7011 | |
7012 @item W H h | |
36028 | 7013 @kindex W H h @r{(Summary)} |
25829 | 7014 @findex gnus-article-highlight-headers |
7015 @vindex gnus-header-face-alist | |
7016 Highlight the headers (@code{gnus-article-highlight-headers}). The | |
7017 highlighting will be done according to the @code{gnus-header-face-alist} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7018 variable, which is a list where each element has the form |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7019 @code{(@var{regexp} @var{name} @var{content})}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7020 @var{regexp} is a regular expression for matching the |
25829 | 7021 header, @var{name} is the face used for highlighting the header name |
7022 (@pxref{Faces and Fonts}) and @var{content} is the face for highlighting | |
7023 the header value. The first match made will be used. Note that | |
7024 @var{regexp} shouldn't have @samp{^} prepended---Gnus will add one. | |
7025 | |
7026 @item W H c | |
36028 | 7027 @kindex W H c @r{(Summary)} |
25829 | 7028 @findex gnus-article-highlight-citation |
7029 Highlight cited text (@code{gnus-article-highlight-citation}). | |
7030 | |
7031 Some variables to customize the citation highlights: | |
7032 | |
7033 @table @code | |
7034 @vindex gnus-cite-parse-max-size | |
7035 | |
7036 @item gnus-cite-parse-max-size | |
7037 If the article size if bigger than this variable (which is 25000 by | |
7038 default), no citation highlighting will be performed. | |
7039 | |
7040 @item gnus-cite-prefix-regexp | |
7041 @vindex gnus-cite-prefix-regexp | |
7042 Regexp matching the longest possible citation prefix on a line. | |
7043 | |
7044 @item gnus-cite-max-prefix | |
7045 @vindex gnus-cite-max-prefix | |
7046 Maximum possible length for a citation prefix (default 20). | |
7047 | |
7048 @item gnus-cite-face-list | |
7049 @vindex gnus-cite-face-list | |
7050 List of faces used for highlighting citations (@pxref{Faces and Fonts}). | |
7051 When there are citations from multiple articles in the same message, | |
7052 Gnus will try to give each citation from each article its own face. | |
7053 This should make it easier to see who wrote what. | |
7054 | |
7055 @item gnus-supercite-regexp | |
7056 @vindex gnus-supercite-regexp | |
7057 Regexp matching normal Supercite attribution lines. | |
7058 | |
7059 @item gnus-supercite-secondary-regexp | |
7060 @vindex gnus-supercite-secondary-regexp | |
7061 Regexp matching mangled Supercite attribution lines. | |
7062 | |
7063 @item gnus-cite-minimum-match-count | |
7064 @vindex gnus-cite-minimum-match-count | |
7065 Minimum number of identical prefixes we have to see before we believe | |
7066 that it's a citation. | |
7067 | |
7068 @item gnus-cite-attribution-prefix | |
7069 @vindex gnus-cite-attribution-prefix | |
7070 Regexp matching the beginning of an attribution line. | |
7071 | |
7072 @item gnus-cite-attribution-suffix | |
7073 @vindex gnus-cite-attribution-suffix | |
7074 Regexp matching the end of an attribution line. | |
7075 | |
7076 @item gnus-cite-attribution-face | |
7077 @vindex gnus-cite-attribution-face | |
7078 Face used for attribution lines. It is merged with the face for the | |
7079 cited text belonging to the attribution. | |
7080 | |
7081 @end table | |
7082 | |
7083 | |
7084 @item W H s | |
36028 | 7085 @kindex W H s @r{(Summary)} |
25829 | 7086 @vindex gnus-signature-separator |
7087 @vindex gnus-signature-face | |
7088 @findex gnus-article-highlight-signature | |
7089 Highlight the signature (@code{gnus-article-highlight-signature}). | |
7090 Everything after @code{gnus-signature-separator} (@pxref{Article | |
7091 Signature}) in an article will be considered a signature and will be | |
7092 highlighted with @code{gnus-signature-face}, which is @code{italic} by | |
7093 default. | |
7094 | |
7095 @end table | |
7096 | |
7097 @xref{Customizing Articles}, for how to highlight articles automatically. | |
7098 | |
7099 | |
7100 @node Article Fontisizing | |
7101 @subsection Article Fontisizing | |
7102 @cindex emphasis | |
7103 @cindex article emphasis | |
7104 | |
7105 @findex gnus-article-emphasize | |
36028 | 7106 @kindex W e @r{(Summary)} |
25829 | 7107 People commonly add emphasis to words in news articles by writing things |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7108 like @samp{_this_} or @samp{*this*} or @samp{/this/}. Gnus can make |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7109 this look nicer by running the article through the @kbd{W e} |
25829 | 7110 (@code{gnus-article-emphasize}) command. |
7111 | |
7112 @vindex gnus-emphasis-alist | |
7113 How the emphasis is computed is controlled by the | |
7114 @code{gnus-emphasis-alist} variable. This is an alist where the first | |
7115 element is a regular expression to be matched. The second is a number | |
7116 that says what regular expression grouping is used to find the entire | |
7117 emphasized word. The third is a number that says what regexp grouping | |
7118 should be displayed and highlighted. (The text between these two | |
7119 groupings will be hidden.) The fourth is the face used for | |
7120 highlighting. | |
7121 | |
7122 @lisp | |
7123 (setq gnus-article-emphasis | |
7124 '(("_\\(\\w+\\)_" 0 1 gnus-emphasis-underline) | |
7125 ("\\*\\(\\w+\\)\\*" 0 1 gnus-emphasis-bold))) | |
7126 @end lisp | |
7127 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7128 @cindex slash |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7129 @cindex asterisk |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7130 @cindex underline |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7131 @cindex / |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7132 @cindex * |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7133 |
25829 | 7134 @vindex gnus-emphasis-underline |
7135 @vindex gnus-emphasis-bold | |
7136 @vindex gnus-emphasis-italic | |
7137 @vindex gnus-emphasis-underline-bold | |
7138 @vindex gnus-emphasis-underline-italic | |
7139 @vindex gnus-emphasis-bold-italic | |
7140 @vindex gnus-emphasis-underline-bold-italic | |
7141 By default, there are seven rules, and they use the following faces: | |
7142 @code{gnus-emphasis-bold}, @code{gnus-emphasis-italic}, | |
7143 @code{gnus-emphasis-underline}, @code{gnus-emphasis-bold-italic}, | |
7144 @code{gnus-emphasis-underline-italic}, | |
7145 @code{gnus-emphasis-underline-bold}, and | |
7146 @code{gnus-emphasis-underline-bold-italic}. | |
7147 | |
7148 If you want to change these faces, you can either use @kbd{M-x | |
7149 customize}, or you can use @code{copy-face}. For instance, if you want | |
7150 to make @code{gnus-emphasis-italic} use a red face instead, you could | |
7151 say something like: | |
7152 | |
7153 @lisp | |
7154 (copy-face 'red 'gnus-emphasis-italic) | |
7155 @end lisp | |
7156 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7157 @vindex gnus-group-highlight-words-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7158 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7159 If you want to highlight arbitrary words, you can use the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7160 @code{gnus-group-highlight-words-alist} variable, which uses the same |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7161 syntax as @code{gnus-emphasis-alist}. The @code{highlight-words} group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7162 parameter (@pxref{Group Parameters}) can also be used. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7163 |
25829 | 7164 @xref{Customizing Articles}, for how to fontize articles automatically. |
7165 | |
7166 | |
7167 @node Article Hiding | |
7168 @subsection Article Hiding | |
7169 @cindex article hiding | |
7170 | |
7171 Or rather, hiding certain things in each article. There usually is much | |
7172 too much cruft in most articles. | |
7173 | |
7174 @table @kbd | |
7175 | |
7176 @item W W a | |
36028 | 7177 @kindex W W a @r{(Summary)} |
25829 | 7178 @findex gnus-article-hide |
7179 Do quite a lot of hiding on the article buffer | |
7180 (@kbd{gnus-article-hide}). In particular, this function will hide | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7181 headers, PGP, cited text and the signature. |
25829 | 7182 |
7183 @item W W h | |
36028 | 7184 @kindex W W h @r{(Summary)} |
25829 | 7185 @findex gnus-article-hide-headers |
7186 Hide headers (@code{gnus-article-hide-headers}). @xref{Hiding | |
7187 Headers}. | |
7188 | |
7189 @item W W b | |
36028 | 7190 @kindex W W b @r{(Summary)} |
25829 | 7191 @findex gnus-article-hide-boring-headers |
7192 Hide headers that aren't particularly interesting | |
7193 (@code{gnus-article-hide-boring-headers}). @xref{Hiding Headers}. | |
7194 | |
7195 @item W W s | |
36028 | 7196 @kindex W W s @r{(Summary)} |
25829 | 7197 @findex gnus-article-hide-signature |
7198 Hide signature (@code{gnus-article-hide-signature}). @xref{Article | |
7199 Signature}. | |
7200 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7201 @item W W l |
36028 | 7202 @kindex W W l @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7203 @findex gnus-article-hide-list-identifiers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7204 @vindex gnus-list-identifiers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7205 Strip list identifiers specified in @code{gnus-list-identifiers}. These |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7206 are strings some mailing list servers add to the beginning of all |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7207 @code{Subject} headers---for example, @samp{[zebra 4711]}. Any leading |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7208 @samp{Re: } is skipped before stripping. @code{gnus-list-identifiers} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7209 may not contain @code{\\(..\\)}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7210 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7211 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7212 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7213 @item gnus-list-identifiers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7214 @vindex gnus-list-identifiers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7215 A regular expression that matches list identifiers to be removed from |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7216 subject. This can also be a list of regular expressions. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7217 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7218 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7219 |
25829 | 7220 @item W W p |
36028 | 7221 @kindex W W p @r{(Summary)} |
25829 | 7222 @findex gnus-article-hide-pgp |
7223 @vindex gnus-article-hide-pgp-hook | |
7224 Hide @sc{pgp} signatures (@code{gnus-article-hide-pgp}). The | |
7225 @code{gnus-article-hide-pgp-hook} hook will be run after a @sc{pgp} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7226 signature has been hidden. For example, to automatically verify |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7227 articles that have signatures in them do: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7228 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7229 ;;; Hide pgp cruft if any. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7230 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7231 (setq gnus-treat-strip-pgp t) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7232 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7233 ;;; After hiding pgp, verify the message; |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7234 ;;; only happens if pgp signature is found. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7235 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7236 (add-hook 'gnus-article-hide-pgp-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7237 (lambda () |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7238 (save-excursion |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7239 (set-buffer gnus-original-article-buffer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7240 (mc-verify)))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7241 @end lisp |
25829 | 7242 |
7243 @item W W P | |
36028 | 7244 @kindex W W P @r{(Summary)} |
25829 | 7245 @findex gnus-article-hide-pem |
7246 Hide @sc{pem} (privacy enhanced messages) cruft | |
7247 (@code{gnus-article-hide-pem}). | |
7248 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7249 @item W W B |
36028 | 7250 @kindex W W B @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7251 @findex gnus-article-strip-banner |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7252 @cindex banner |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7253 @cindex OneList |
35073 | 7254 @cindex stripping advertisements |
7255 @cindex advertisements | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7256 Strip the banner specified by the @code{banner} group parameter |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7257 (@code{gnus-article-strip-banner}). This is mainly used to hide those |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7258 annoying banners and/or signatures that some mailing lists and moderated |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7259 groups adds to all the messages. The way to use this function is to add |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7260 the @code{banner} group parameter (@pxref{Group Parameters}) to the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7261 group you want banners stripped from. The parameter either be a string, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7262 which will be interpreted as a regular expression matching text to be |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7263 removed, or the symbol @code{signature}, meaning that the (last) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7264 signature should be removed, or other symbol, meaning that the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7265 corresponding regular expression in @code{gnus-article-banner-alist} is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7266 used. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7267 |
25829 | 7268 @item W W c |
36028 | 7269 @kindex W W c @r{(Summary)} |
25829 | 7270 @findex gnus-article-hide-citation |
7271 Hide citation (@code{gnus-article-hide-citation}). Some variables for | |
7272 customizing the hiding: | |
7273 | |
7274 @table @code | |
7275 | |
7276 @item gnus-cited-opened-text-button-line-format | |
7277 @itemx gnus-cited-closed-text-button-line-format | |
7278 @vindex gnus-cited-closed-text-button-line-format | |
7279 @vindex gnus-cited-opened-text-button-line-format | |
7280 Gnus adds buttons to show where the cited text has been hidden, and to | |
7281 allow toggle hiding the text. The format of the variable is specified | |
7282 by these format-like variable (@pxref{Formatting Variables}). These | |
7283 specs are valid: | |
7284 | |
7285 @table @samp | |
7286 @item b | |
7287 Starting point of the hidden text. | |
7288 @item e | |
7289 Ending point of the hidden text. | |
7290 @item l | |
7291 Number of characters in the hidden region. | |
7292 @item n | |
7293 Number of lines of hidden text. | |
7294 @end table | |
7295 | |
7296 @item gnus-cited-lines-visible | |
7297 @vindex gnus-cited-lines-visible | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7298 The number of lines at the beginning of the cited text to leave |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7299 shown. This can also be a cons cell with the number of lines at the top |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7300 and bottom of the text, respectively, to remain visible. |
25829 | 7301 |
7302 @end table | |
7303 | |
7304 @item W W C-c | |
36028 | 7305 @kindex W W C-c @r{(Summary)} |
25829 | 7306 @findex gnus-article-hide-citation-maybe |
7307 | |
7308 Hide citation (@code{gnus-article-hide-citation-maybe}) depending on the | |
7309 following two variables: | |
7310 | |
7311 @table @code | |
7312 @item gnus-cite-hide-percentage | |
7313 @vindex gnus-cite-hide-percentage | |
7314 If the cited text is of a bigger percentage than this variable (default | |
7315 50), hide the cited text. | |
7316 | |
7317 @item gnus-cite-hide-absolute | |
7318 @vindex gnus-cite-hide-absolute | |
7319 The cited text must have at least this length (default 10) before it | |
7320 is hidden. | |
7321 @end table | |
7322 | |
7323 @item W W C | |
36028 | 7324 @kindex W W C @r{(Summary)} |
25829 | 7325 @findex gnus-article-hide-citation-in-followups |
7326 Hide cited text in articles that aren't roots | |
7327 (@code{gnus-article-hide-citation-in-followups}). This isn't very | |
7328 useful as an interactive command, but might be a handy function to stick | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7329 have happen automatically (@pxref{Customizing Articles}). |
25829 | 7330 |
7331 @end table | |
7332 | |
7333 All these ``hiding'' commands are toggles, but if you give a negative | |
7334 prefix to these commands, they will show what they have previously | |
7335 hidden. If you give a positive prefix, they will always hide. | |
7336 | |
7337 Also @pxref{Article Highlighting} for further variables for | |
7338 citation customization. | |
7339 | |
7340 @xref{Customizing Articles}, for how to hide article elements | |
7341 automatically. | |
7342 | |
7343 | |
7344 @node Article Washing | |
7345 @subsection Article Washing | |
7346 @cindex washing | |
7347 @cindex article washing | |
7348 | |
7349 We call this ``article washing'' for a really good reason. Namely, the | |
7350 @kbd{A} key was taken, so we had to use the @kbd{W} key instead. | |
7351 | |
7352 @dfn{Washing} is defined by us as ``changing something from something to | |
7353 something else'', but normally results in something looking better. | |
7354 Cleaner, perhaps. | |
7355 | |
35614 | 7356 @xref{Customizing Articles}, if you want to change how Gnus displays |
7357 articles by default. | |
7358 | |
7359 @table @kbd | |
7360 | |
7361 @item C-u g | |
7362 This is not really washing, it's sort of the opposite of washing. If | |
7363 you type this, you see the article exactly as it exists on disk or on | |
7364 the server. | |
25829 | 7365 |
7366 @item W l | |
36028 | 7367 @kindex W l @r{(Summary)} |
25829 | 7368 @findex gnus-summary-stop-page-breaking |
7369 Remove page breaks from the current article | |
7370 (@code{gnus-summary-stop-page-breaking}). @xref{Misc Article}, for page | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7371 delimiters. |
25829 | 7372 |
7373 @item W r | |
36028 | 7374 @kindex W r @r{(Summary)} |
25829 | 7375 @findex gnus-summary-caesar-message |
7376 @c @icon{gnus-summary-caesar-message} | |
7377 Do a Caesar rotate (rot13) on the article buffer | |
7378 (@code{gnus-summary-caesar-message}). | |
7379 Unreadable articles that tell you to read them with Caesar rotate or rot13. | |
7380 (Typically offensive jokes and such.) | |
7381 | |
36028 | 7382 It's commonly called @dfn{rot13} because each letter is rotated 13 |
25829 | 7383 positions in the alphabet, e. g. @samp{B} (letter #2) -> @samp{O} (letter |
7384 #15). It is sometimes referred to as ``Caesar rotate'' because Caesar | |
7385 is rumored to have employed this form of, uh, somewhat weak encryption. | |
7386 | |
7387 @item W t | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7388 @item t |
36028 | 7389 @kindex W t @r{(Summary)} |
7390 @kindex t @r{(Summary)} | |
25829 | 7391 @findex gnus-summary-toggle-header |
7392 Toggle whether to display all headers in the article buffer | |
7393 (@code{gnus-summary-toggle-header}). | |
7394 | |
7395 @item W v | |
36028 | 7396 @kindex W v @r{(Summary)} |
25829 | 7397 @findex gnus-summary-verbose-header |
7398 Toggle whether to display all headers in the article buffer permanently | |
7399 (@code{gnus-summary-verbose-header}). | |
7400 | |
7401 @item W o | |
36028 | 7402 @kindex W o @r{(Summary)} |
25829 | 7403 @findex gnus-article-treat-overstrike |
7404 Treat overstrike (@code{gnus-article-treat-overstrike}). | |
7405 | |
7406 @item W d | |
36028 | 7407 @kindex W d @r{(Summary)} |
25829 | 7408 @findex gnus-article-treat-dumbquotes |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7409 @vindex gnus-article-dumbquotes-map |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7410 @cindex Smartquotes |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7411 @cindex M******** sm*rtq**t*s |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7412 @cindex Latin 1 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7413 Treat M******** sm*rtq**t*s according to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7414 @code{gnus-article-dumbquotes-map} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7415 (@code{gnus-article-treat-dumbquotes}). Note that this function guesses |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7416 whether a character is a sm*rtq**t* or not, so it should only be used |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7417 interactively. |
25829 | 7418 |
35614 | 7419 In reality, this function is translates a subset of the subset of the |
7420 @code{cp1252} (or @code{Windows-1252}) character set that isn't in ISO | |
7421 Latin-1, including the quote characters @code{\222} and @code{\264}. | |
7422 Messages in this character set often have a MIME header saying that | |
7423 they are Latin-1. | |
7424 | |
25829 | 7425 @item W w |
36028 | 7426 @kindex W w @r{(Summary)} |
25829 | 7427 @findex gnus-article-fill-cited-article |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7428 Do word wrap (@code{gnus-article-fill-cited-article}). |
25829 | 7429 |
7430 You can give the command a numerical prefix to specify the width to use | |
7431 when filling. | |
7432 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7433 @item W Q |
36028 | 7434 @kindex W Q @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7435 @findex gnus-article-fill-long-lines |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7436 Fill long lines (@code{gnus-article-fill-long-lines}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7437 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7438 @item W C |
36028 | 7439 @kindex W C @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7440 @findex gnus-article-capitalize-sentences |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7441 Capitalize the first word in each sentence |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7442 (@code{gnus-article-capitalize-sentences}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7443 |
25829 | 7444 @item W c |
36028 | 7445 @kindex W c @r{(Summary)} |
25829 | 7446 @findex gnus-article-remove-cr |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7447 Translate CRLF pairs (i. e., @samp{^M}s on the end of the lines) into LF |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7448 (this takes care of DOS line endings), and then translate any remaining |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7449 CRs into LF (this takes care of Mac line endings) |
25829 | 7450 (@code{gnus-article-remove-cr}). |
7451 | |
7452 @item W q | |
36028 | 7453 @kindex W q @r{(Summary)} |
25829 | 7454 @findex gnus-article-de-quoted-unreadable |
7455 Treat quoted-printable (@code{gnus-article-de-quoted-unreadable}). | |
7456 Quoted-Printable is one common @sc{mime} encoding employed when sending | |
7457 non-ASCII (i. e., 8-bit) articles. It typically makes strings like | |
7458 @samp{déjà vu} look like @samp{d=E9j=E0 vu}, which doesn't look very | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7459 readable to me. Note that the this is usually done automatically by |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7460 Gnus if the message in question has a @code{Content-Transfer-Encoding} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7461 header that says that this encoding has been done. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7462 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7463 @item W 6 |
36028 | 7464 @kindex W 6 @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7465 @findex gnus-article-de-base64-unreadable |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7466 Treat base64 (@code{gnus-article-de-base64-unreadable}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7467 Base64 is one common @sc{mime} encoding employed when sending non-ASCII |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7468 (i. e., 8-bit) articles. Note that the this is usually done |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7469 automatically by Gnus if the message in question has a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7470 @code{Content-Transfer-Encoding} header that says that this encoding has |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7471 been done. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7472 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7473 @item W Z |
36028 | 7474 @kindex W Z @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7475 @findex gnus-article-decode-HZ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7476 Treat HZ or HZP (@code{gnus-article-decode-HZ}). HZ (or HZP) is one |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7477 common encoding employed when sending Chinese articles. It typically |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7478 makes strings look like @samp{~@{<:Ky2;S@{#,NpJ)l6HK!#~@}}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7479 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7480 @item W h |
36028 | 7481 @kindex W h @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7482 @findex gnus-article-wash-html |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7483 Treat HTML (@code{gnus-article-wash-html}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7484 Note that the this is usually done automatically by Gnus if the message |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7485 in question has a @code{Content-Type} header that says that this type |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7486 has been done. |
25829 | 7487 |
7488 @item W f | |
36028 | 7489 @kindex W f @r{(Summary)} |
25829 | 7490 @cindex x-face |
7491 @findex gnus-article-display-x-face | |
7492 @findex gnus-article-x-face-command | |
7493 @vindex gnus-article-x-face-command | |
7494 @vindex gnus-article-x-face-too-ugly | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7495 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7496 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7497 \include{xface} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7498 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7499 @end iftex |
33292 | 7500 @anchor{X-Face} |
25829 | 7501 Look for and display any X-Face headers |
7502 (@code{gnus-article-display-x-face}). The command executed by this | |
7503 function is given by the @code{gnus-article-x-face-command} variable. | |
7504 If this variable is a string, this string will be executed in a | |
7505 sub-shell. If it is a function, this function will be called with the | |
7506 face as the argument. If the @code{gnus-article-x-face-too-ugly} (which | |
7507 is a regexp) matches the @code{From} header, the face will not be shown. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7508 The default action under Emacs is to fork off the @code{display} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7509 program@footnote{@code{display} is from the ImageMagick package. For the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7510 @code{uncompface} and @code{icontopbm} programs look for a package |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7511 like `compface' or `faces-xface' on a GNU/Linux system.} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7512 to view the face. Under XEmacs or Emacs 21+ with suitable image |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7513 support, the default action is to display the face before the |
25829 | 7514 @code{From} header. (It's nicer if XEmacs has been compiled with X-Face |
7515 support---that will make display somewhat faster. If there's no native | |
7516 X-Face support, Gnus will try to convert the @code{X-Face} header using | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7517 external programs from the @code{pbmplus} package and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7518 friends.@footnote{On a GNU/Linux system look for packages with names |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7519 like @code{netpbm} or @code{libgr-progs}.}) If you |
25829 | 7520 want to have this function in the display hook, it should probably come |
7521 last. | |
7522 | |
7523 @item W b | |
36028 | 7524 @kindex W b @r{(Summary)} |
25829 | 7525 @findex gnus-article-add-buttons |
7526 Add clickable buttons to the article (@code{gnus-article-add-buttons}). | |
7527 @xref{Article Buttons}. | |
7528 | |
7529 @item W B | |
36028 | 7530 @kindex W B @r{(Summary)} |
25829 | 7531 @findex gnus-article-add-buttons-to-head |
7532 Add clickable buttons to the article headers | |
7533 (@code{gnus-article-add-buttons-to-head}). | |
7534 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7535 @item W W H |
36028 | 7536 @kindex W W H @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7537 @findex gnus-article-strip-headers-from-body |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7538 Strip headers like the @code{X-No-Archive} header from the beginning of |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7539 article bodies (@code{gnus-article-strip-headers-from-body}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7540 |
25829 | 7541 @item W E l |
36028 | 7542 @kindex W E l @r{(Summary)} |
25829 | 7543 @findex gnus-article-strip-leading-blank-lines |
7544 Remove all blank lines from the beginning of the article | |
7545 (@code{gnus-article-strip-leading-blank-lines}). | |
7546 | |
7547 @item W E m | |
36028 | 7548 @kindex W E m @r{(Summary)} |
25829 | 7549 @findex gnus-article-strip-multiple-blank-lines |
7550 Replace all blank lines with empty lines and then all multiple empty | |
7551 lines with a single empty line. | |
7552 (@code{gnus-article-strip-multiple-blank-lines}). | |
7553 | |
7554 @item W E t | |
36028 | 7555 @kindex W E t @r{(Summary)} |
25829 | 7556 @findex gnus-article-remove-trailing-blank-lines |
7557 Remove all blank lines at the end of the article | |
7558 (@code{gnus-article-remove-trailing-blank-lines}). | |
7559 | |
7560 @item W E a | |
36028 | 7561 @kindex W E a @r{(Summary)} |
25829 | 7562 @findex gnus-article-strip-blank-lines |
7563 Do all the three commands above | |
7564 (@code{gnus-article-strip-blank-lines}). | |
7565 | |
7566 @item W E A | |
36028 | 7567 @kindex W E A @r{(Summary)} |
25829 | 7568 @findex gnus-article-strip-all-blank-lines |
7569 Remove all blank lines | |
7570 (@code{gnus-article-strip-all-blank-lines}). | |
7571 | |
7572 @item W E s | |
36028 | 7573 @kindex W E s @r{(Summary)} |
25829 | 7574 @findex gnus-article-strip-leading-space |
7575 Remove all white space from the beginning of all lines of the article | |
7576 body (@code{gnus-article-strip-leading-space}). | |
7577 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7578 @item W E e |
36028 | 7579 @kindex W E e @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7580 @findex gnus-article-strip-trailing-space |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7581 Remove all white space from the end of all lines of the article |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7582 body (@code{gnus-article-strip-trailing-space}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7583 |
25829 | 7584 @end table |
7585 | |
7586 @xref{Customizing Articles}, for how to wash articles automatically. | |
7587 | |
7588 | |
7589 @node Article Buttons | |
7590 @subsection Article Buttons | |
7591 @cindex buttons | |
7592 | |
7593 People often include references to other stuff in articles, and it would | |
7594 be nice if Gnus could just fetch whatever it is that people talk about | |
36028 | 7595 with the minimum of fuzz when you hit @key{RET} or use the middle mouse |
25829 | 7596 button on these references. |
7597 | |
7598 Gnus adds @dfn{buttons} to certain standard references by default: | |
7599 Well-formed URLs, mail addresses and Message-IDs. This is controlled by | |
7600 two variables, one that handles article bodies and one that handles | |
7601 article heads: | |
7602 | |
7603 @table @code | |
7604 | |
7605 @item gnus-button-alist | |
7606 @vindex gnus-button-alist | |
7607 This is an alist where each entry has this form: | |
7608 | |
7609 @lisp | |
7610 (REGEXP BUTTON-PAR USE-P FUNCTION DATA-PAR) | |
7611 @end lisp | |
7612 | |
7613 @table @var | |
7614 | |
7615 @item regexp | |
7616 All text that match this regular expression will be considered an | |
7617 external reference. Here's a typical regexp that matches embedded URLs: | |
7618 @samp{<URL:\\([^\n\r>]*\\)>}. | |
7619 | |
7620 @item button-par | |
7621 Gnus has to know which parts of the matches is to be highlighted. This | |
7622 is a number that says what sub-expression of the regexp is to be | |
7623 highlighted. If you want it all highlighted, you use 0 here. | |
7624 | |
7625 @item use-p | |
7626 This form will be @code{eval}ed, and if the result is non-@code{nil}, | |
7627 this is considered a match. This is useful if you want extra sifting to | |
7628 avoid false matches. | |
7629 | |
7630 @item function | |
7631 This function will be called when you click on this button. | |
7632 | |
7633 @item data-par | |
7634 As with @var{button-par}, this is a sub-expression number, but this one | |
7635 says which part of the match is to be sent as data to @var{function}. | |
7636 | |
7637 @end table | |
7638 | |
7639 So the full entry for buttonizing URLs is then | |
7640 | |
7641 @lisp | |
7642 ("<URL:\\([^\n\r>]*\\)>" 0 t gnus-button-url 1) | |
7643 @end lisp | |
7644 | |
7645 @item gnus-header-button-alist | |
7646 @vindex gnus-header-button-alist | |
7647 This is just like the other alist, except that it is applied to the | |
7648 article head only, and that each entry has an additional element that is | |
7649 used to say what headers to apply the buttonize coding to: | |
7650 | |
7651 @lisp | |
7652 (HEADER REGEXP BUTTON-PAR USE-P FUNCTION DATA-PAR) | |
7653 @end lisp | |
7654 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7655 @var{header} is a regular expression. |
25829 | 7656 |
7657 @item gnus-button-url-regexp | |
7658 @vindex gnus-button-url-regexp | |
7659 A regular expression that matches embedded URLs. It is used in the | |
7660 default values of the variables above. | |
7661 | |
7662 @item gnus-article-button-face | |
7663 @vindex gnus-article-button-face | |
7664 Face used on buttons. | |
7665 | |
7666 @item gnus-article-mouse-face | |
7667 @vindex gnus-article-mouse-face | |
7668 Face used when the mouse cursor is over a button. | |
7669 | |
7670 @end table | |
7671 | |
7672 @xref{Customizing Articles}, for how to buttonize articles automatically. | |
7673 | |
7674 | |
7675 @node Article Date | |
7676 @subsection Article Date | |
7677 | |
7678 The date is most likely generated in some obscure timezone you've never | |
7679 heard of, so it's quite nice to be able to find out what the time was | |
7680 when the article was sent. | |
7681 | |
7682 @table @kbd | |
7683 | |
7684 @item W T u | |
36028 | 7685 @kindex W T u @r{(Summary)} |
25829 | 7686 @findex gnus-article-date-ut |
7687 Display the date in UT (aka. GMT, aka ZULU) | |
7688 (@code{gnus-article-date-ut}). | |
7689 | |
7690 @item W T i | |
36028 | 7691 @kindex W T i @r{(Summary)} |
25829 | 7692 @findex gnus-article-date-iso8601 |
7693 @cindex ISO 8601 | |
7694 Display the date in international format, aka. ISO 8601 | |
7695 (@code{gnus-article-date-iso8601}). | |
7696 | |
7697 @item W T l | |
36028 | 7698 @kindex W T l @r{(Summary)} |
25829 | 7699 @findex gnus-article-date-local |
7700 Display the date in the local timezone (@code{gnus-article-date-local}). | |
7701 | |
7702 @item W T s | |
36028 | 7703 @kindex W T s @r{(Summary)} |
25829 | 7704 @vindex gnus-article-time-format |
7705 @findex gnus-article-date-user | |
7706 @findex format-time-string | |
7707 Display the date using a user-defined format | |
7708 (@code{gnus-article-date-user}). The format is specified by the | |
7709 @code{gnus-article-time-format} variable, and is a string that's passed | |
7710 to @code{format-time-string}. See the documentation of that variable | |
7711 for a list of possible format specs. | |
7712 | |
7713 @item W T e | |
36028 | 7714 @kindex W T e @r{(Summary)} |
25829 | 7715 @findex gnus-article-date-lapsed |
7716 @findex gnus-start-date-timer | |
7717 @findex gnus-stop-date-timer | |
7718 Say how much time has elapsed between the article was posted and now | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7719 (@code{gnus-article-date-lapsed}). It looks something like: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7720 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7721 @example |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
7722 X-Sent: 6 weeks, 4 days, 1 hour, 3 minutes, 8 seconds ago |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7723 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7724 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7725 The value of @code{gnus-article-date-lapsed-new-header} determines |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7726 whether this header will just be added below the old Date one, or will |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7727 replace it. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7728 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7729 An advantage of using Gnus to read mail is that it converts simple bugs |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7730 into wonderful absurdities. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7731 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7732 If you want to have this line updated continually, you can put |
25829 | 7733 |
7734 @lisp | |
7735 (gnus-start-date-timer) | |
7736 @end lisp | |
7737 | |
7738 in your @file{.gnus.el} file, or you can run it off of some hook. If | |
7739 you want to stop the timer, you can use the @code{gnus-stop-date-timer} | |
7740 command. | |
7741 | |
7742 @item W T o | |
36028 | 7743 @kindex W T o @r{(Summary)} |
25829 | 7744 @findex gnus-article-date-original |
7745 Display the original date (@code{gnus-article-date-original}). This can | |
7746 be useful if you normally use some other conversion function and are | |
7747 worried that it might be doing something totally wrong. Say, claiming | |
7748 that the article was posted in 1854. Although something like that is | |
7749 @emph{totally} impossible. Don't you trust me? *titter* | |
7750 | |
7751 @end table | |
7752 | |
7753 @xref{Customizing Articles}, for how to display the date in your | |
7754 preferred format automatically. | |
7755 | |
7756 | |
7757 @node Article Signature | |
7758 @subsection Article Signature | |
7759 @cindex signatures | |
7760 @cindex article signature | |
7761 | |
7762 @vindex gnus-signature-separator | |
7763 Each article is divided into two parts---the head and the body. The | |
7764 body can be divided into a signature part and a text part. The variable | |
7765 that says what is to be considered a signature is | |
7766 @code{gnus-signature-separator}. This is normally the standard | |
7767 @samp{^-- $} as mandated by son-of-RFC 1036. However, many people use | |
7768 non-standard signature separators, so this variable can also be a list | |
7769 of regular expressions to be tested, one by one. (Searches are done | |
7770 from the end of the body towards the beginning.) One likely value is: | |
7771 | |
7772 @lisp | |
7773 (setq gnus-signature-separator | |
7774 '("^-- $" ; The standard | |
7775 "^-- *$" ; A common mangling | |
7776 "^-------*$" ; Many people just use a looong | |
7777 ; line of dashes. Shame! | |
7778 "^ *--------*$" ; Double-shame! | |
7779 "^________*$" ; Underscores are also popular | |
7780 "^========*$")) ; Pervert! | |
7781 @end lisp | |
7782 | |
7783 The more permissive you are, the more likely it is that you'll get false | |
7784 positives. | |
7785 | |
7786 @vindex gnus-signature-limit | |
7787 @code{gnus-signature-limit} provides a limit to what is considered a | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7788 signature when displaying articles. |
25829 | 7789 |
7790 @enumerate | |
7791 @item | |
7792 If it is an integer, no signature may be longer (in characters) than | |
7793 that integer. | |
7794 @item | |
7795 If it is a floating point number, no signature may be longer (in lines) | |
7796 than that number. | |
7797 @item | |
7798 If it is a function, the function will be called without any parameters, | |
7799 and if it returns @code{nil}, there is no signature in the buffer. | |
7800 @item | |
7801 If it is a string, it will be used as a regexp. If it matches, the text | |
7802 in question is not a signature. | |
7803 @end enumerate | |
7804 | |
7805 This variable can also be a list where the elements may be of the types | |
7806 listed above. Here's an example: | |
7807 | |
7808 @lisp | |
7809 (setq gnus-signature-limit | |
7810 '(200.0 "^---*Forwarded article")) | |
7811 @end lisp | |
7812 | |
7813 This means that if there are more than 200 lines after the signature | |
7814 separator, or the text after the signature separator is matched by | |
7815 the regular expression @samp{^---*Forwarded article}, then it isn't a | |
7816 signature after all. | |
7817 | |
7818 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7819 @node Article Miscellania |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7820 @subsection Article Miscellania |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7821 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7822 @table @kbd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7823 @item A t |
36028 | 7824 @kindex A t @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7825 @findex gnus-article-babel |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7826 Translate the article from one language to another |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7827 (@code{gnus-article-babel}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7828 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7829 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7830 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7831 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7832 @node MIME Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7833 @section @sc{mime} Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7834 @cindex MIME decoding |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7835 @cindex attachments |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7836 @cindex viewing attachments |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7837 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7838 The following commands all understand the numerical prefix. For |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7839 instance, @kbd{3 b} means ``view the third @sc{mime} part''. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7840 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7841 @table @kbd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7842 @item b |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7843 @itemx K v |
36028 | 7844 @kindex b @r{(Summary)} |
7845 @kindex K v @r{(Summary)} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7846 View the @sc{mime} part. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7847 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7848 @item K o |
36028 | 7849 @kindex K o @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7850 Save the @sc{mime} part. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7851 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7852 @item K c |
36028 | 7853 @kindex K c @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7854 Copy the @sc{mime} part. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7855 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7856 @item K e |
36028 | 7857 @kindex K e @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7858 View the @sc{mime} part externally. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7859 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7860 @item K i |
36028 | 7861 @kindex K i @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7862 View the @sc{mime} part internally. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7863 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7864 @item K | |
36028 | 7865 @kindex K | @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7866 Pipe the @sc{mime} part to an external command. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7867 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7868 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7869 The rest of these @sc{mime} commands do not use the numerical prefix in |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7870 the same manner: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7871 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7872 @table @kbd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7873 @item K b |
36028 | 7874 @kindex K b @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7875 Make all the @sc{mime} parts have buttons in front of them. This is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7876 mostly useful if you wish to save (or perform other actions) on inlined |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7877 parts. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7878 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7879 @item K m |
36028 | 7880 @kindex K m @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7881 @findex gnus-summary-repair-multipart |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7882 Some multipart messages are transmitted with missing or faulty headers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7883 This command will attempt to ``repair'' these messages so that they can |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7884 be viewed in a more pleasant manner |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7885 (@code{gnus-summary-repair-multipart}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7886 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7887 @item X m |
36028 | 7888 @kindex X m @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7889 @findex gnus-summary-save-parts |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7890 Save all parts matching a @sc{mime} type to a directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7891 (@code{gnus-summary-save-parts}). Understands the process/prefix |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7892 convention (@pxref{Process/Prefix}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7893 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7894 @item M-t |
36028 | 7895 @kindex M-t @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7896 @findex gnus-summary-display-buttonized |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7897 Toggle the buttonized display of the article buffer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7898 (@code{gnus-summary-toggle-display-buttonized}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7899 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7900 @item W M w |
36028 | 7901 @kindex W M w @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7902 Decode RFC 2047-encoded words in the article headers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7903 (@code{gnus-article-decode-mime-words}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7904 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7905 @item W M c |
36028 | 7906 @kindex W M c @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7907 Decode encoded article bodies as well as charsets |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7908 (@code{gnus-article-decode-charset}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7909 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7910 This command looks in the @code{Content-Type} header to determine the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7911 charset. If there is no such header in the article, you can give it a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7912 prefix, which will prompt for the charset to decode as. In regional |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7913 groups where people post using some common encoding (but do not include |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7914 MIME headers), you can set the @code{charset} group/topic parameter to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7915 the required charset (@pxref{Group Parameters}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7916 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7917 @item W M v |
36028 | 7918 @kindex W M v @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7919 View all the @sc{mime} parts in the current article |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7920 (@code{gnus-mime-view-all-parts}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7921 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7922 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7923 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7924 Relevant variables: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7925 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7926 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7927 @item gnus-ignored-mime-types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7928 @vindex gnus-ignored-mime-types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7929 This is a list of regexps. @sc{mime} types that match a regexp from |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7930 this list will be completely ignored by Gnus. The default value is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7931 @code{nil}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7932 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7933 To have all Vcards be ignored, you'd say something like this: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7934 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7935 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7936 (setq gnus-ignored-mime-types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7937 '("text/x-vcard")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7938 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7939 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7940 @item gnus-unbuttonized-mime-types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7941 @vindex gnus-unbuttonized-mime-types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7942 This is a list of regexps. @sc{mime} types that match a regexp from |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7943 this list won't have @sc{mime} buttons inserted unless they aren't |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7944 displayed. The default value is @code{(".*/.*")}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7945 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7946 @item gnus-article-mime-part-function |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7947 @vindex gnus-article-mime-part-function |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7948 For each @sc{mime} part, this function will be called with the @sc{mime} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7949 handle as the parameter. The function is meant to be used to allow |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7950 users to gather information from the article (e. g., add Vcard info to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7951 the bbdb database) or to do actions based on parts (e. g., automatically |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7952 save all jpegs into some directory). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7953 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7954 Here's an example function the does the latter: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7955 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7956 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7957 (defun my-save-all-jpeg-parts (handle) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7958 (when (equal (car (mm-handle-type handle)) "image/jpeg") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7959 (with-temp-buffer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7960 (insert (mm-get-part handle)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7961 (write-region (point-min) (point-max) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7962 (read-file-name "Save jpeg to: "))))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7963 (setq gnus-article-mime-part-function |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7964 'my-save-all-jpeg-parts) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7965 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7966 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7967 @vindex gnus-mime-multipart-functions |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7968 @item gnus-mime-multipart-functions |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7969 Alist of @sc{mime} multipart types and functions to handle them. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7970 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7971 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7972 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7973 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7974 @node Charsets |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7975 @section Charsets |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7976 @cindex charsets |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7977 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7978 People use different charsets, and we have @sc{mime} to let us know what |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7979 charsets they use. Or rather, we wish we had. Many people use |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7980 newsreaders and mailers that do not understand or use @sc{mime}, and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7981 just send out messages without saying what character sets they use. To |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7982 help a bit with this, some local news hierarchies have policies that say |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7983 what character set is the default. For instance, the @samp{fj} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7984 hierarchy uses @code{iso-2022-jp-2}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7985 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7986 @vindex gnus-group-charset-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7987 This knowledge is encoded in the @code{gnus-group-charset-alist} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7988 variable, which is an alist of regexps (to match group names) and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7989 default charsets to be used when reading these groups. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7990 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7991 In addition, some people do use soi-disant @sc{mime}-aware agents that |
35073 | 7992 aren't. These blithely mark messages as being in @code{iso-8859-1} even |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7993 if they really are in @code{koi-8}. To help here, the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7994 @code{gnus-newsgroup-ignored-charsets} variable can be used. The |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7995 charsets that are listed here will be ignored. The variable can be set |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7996 on a group-by-group basis using the group parameters (@pxref{Group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7997 Parameters}). The default value is @code{(unknown-8bit)}, which is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7998 something some agents insist on having in there. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7999 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8000 @vindex gnus-group-posting-charset-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8001 When posting, @code{gnus-group-posting-charset-alist} is used to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8002 determine which charsets should not be encoded using the @sc{mime} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8003 encodings. For instance, some hierarchies discourage using |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8004 quoted-printable header encoding. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8005 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8006 This variable is an alist of regexps and permitted unencoded charsets |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8007 for posting. Each element of the alist has the form @code{(}@var{test |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8008 header body-list}@code{)}, where: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8009 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8010 @table @var |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8011 @item test |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8012 is either a regular expression matching the newsgroup header or a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8013 variable to query, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8014 @item header |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8015 is the charset which may be left unencoded in the header (@code{nil} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8016 means encode all charsets), |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8017 @item body-list |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8018 is a list of charsets which may be encoded using 8bit content-transfer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8019 encoding in the body, or one of the special values @code{nil} (always |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8020 encode using quoted-printable) or @code{t} (always use 8bit). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8021 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8022 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8023 @cindex Russian |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8024 @cindex koi8-r |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8025 @cindex koi8-u |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8026 @cindex iso-8859-5 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8027 @cindex coding system aliases |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8028 @cindex preferred charset |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8029 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8030 Other charset tricks that may be useful, although not Gnus-specific: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8031 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8032 If there are several @sc{mime} charsets that encode the same Emacs |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8033 charset, you can choose what charset to use by saying the following: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8034 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8035 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8036 (put-charset-property 'cyrillic-iso8859-5 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8037 'preferred-coding-system 'koi8-r) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8038 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8039 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8040 This means that Russian will be encoded using @code{koi8-r} instead of |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8041 the default @code{iso-8859-5} @sc{mime} charset. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8042 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8043 If you want to read messages in @code{koi8-u}, you can cheat and say |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8044 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8045 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8046 (define-coding-system-alias 'koi8-u 'koi8-r) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8047 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8048 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8049 This will almost do the right thing. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8050 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8051 And finally, to read charsets like @code{windows-1251}, you can say |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8052 something like |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8053 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8054 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8055 (codepage-setup 1251) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8056 (define-coding-system-alias 'windows-1251 'cp1251) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8057 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8058 |
35761 | 8059 while if you use a non-Latin-1 language environment you could see the |
8060 Latin-1 subset of @code{windows-1252} using: | |
8061 | |
8062 @lisp | |
8063 (define-coding-system-alias 'windows-1252 'latin-1) | |
8064 @end lisp | |
8065 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8066 |
25829 | 8067 @node Article Commands |
8068 @section Article Commands | |
8069 | |
8070 @table @kbd | |
8071 | |
8072 @item A P | |
8073 @cindex PostScript | |
8074 @cindex printing | |
36028 | 8075 @kindex A P @r{(Summary)} |
25829 | 8076 @vindex gnus-ps-print-hook |
8077 @findex gnus-summary-print-article | |
8078 Generate and print a PostScript image of the article buffer | |
8079 (@code{gnus-summary-print-article}). @code{gnus-ps-print-hook} will be | |
8080 run just before printing the buffer. | |
8081 | |
8082 @end table | |
8083 | |
8084 | |
8085 @node Summary Sorting | |
8086 @section Summary Sorting | |
8087 @cindex summary sorting | |
8088 | |
8089 You can have the summary buffer sorted in various ways, even though I | |
8090 can't really see why you'd want that. | |
8091 | |
8092 @table @kbd | |
8093 | |
8094 @item C-c C-s C-n | |
36028 | 8095 @kindex C-c C-s C-n @r{(Summary)} |
25829 | 8096 @findex gnus-summary-sort-by-number |
8097 Sort by article number (@code{gnus-summary-sort-by-number}). | |
8098 | |
8099 @item C-c C-s C-a | |
36028 | 8100 @kindex C-c C-s C-a @r{(Summary)} |
25829 | 8101 @findex gnus-summary-sort-by-author |
8102 Sort by author (@code{gnus-summary-sort-by-author}). | |
8103 | |
8104 @item C-c C-s C-s | |
36028 | 8105 @kindex C-c C-s C-s @r{(Summary)} |
25829 | 8106 @findex gnus-summary-sort-by-subject |
8107 Sort by subject (@code{gnus-summary-sort-by-subject}). | |
8108 | |
8109 @item C-c C-s C-d | |
36028 | 8110 @kindex C-c C-s C-d @r{(Summary)} |
25829 | 8111 @findex gnus-summary-sort-by-date |
8112 Sort by date (@code{gnus-summary-sort-by-date}). | |
8113 | |
8114 @item C-c C-s C-l | |
36028 | 8115 @kindex C-c C-s C-l @r{(Summary)} |
25829 | 8116 @findex gnus-summary-sort-by-lines |
8117 Sort by lines (@code{gnus-summary-sort-by-lines}). | |
8118 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8119 @item C-c C-s C-c |
36028 | 8120 @kindex C-c C-s C-c @r{(Summary)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8121 @findex gnus-summary-sort-by-chars |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8122 Sort by article length (@code{gnus-summary-sort-by-chars}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8123 |
25829 | 8124 @item C-c C-s C-i |
36028 | 8125 @kindex C-c C-s C-i @r{(Summary)} |
25829 | 8126 @findex gnus-summary-sort-by-score |
8127 Sort by score (@code{gnus-summary-sort-by-score}). | |
8128 @end table | |
8129 | |
8130 These functions will work both when you use threading and when you don't | |
8131 use threading. In the latter case, all summary lines will be sorted, | |
8132 line by line. In the former case, sorting will be done on a | |
8133 root-by-root basis, which might not be what you were looking for. To | |
8134 toggle whether to use threading, type @kbd{T T} (@pxref{Thread | |
8135 Commands}). | |
8136 | |
8137 | |
8138 @node Finding the Parent | |
8139 @section Finding the Parent | |
8140 @cindex parent articles | |
8141 @cindex referring articles | |
8142 | |
8143 @table @kbd | |
8144 @item ^ | |
36028 | 8145 @kindex ^ @r{(Summary)} |
25829 | 8146 @findex gnus-summary-refer-parent-article |
8147 If you'd like to read the parent of the current article, and it is not | |
8148 displayed in the summary buffer, you might still be able to. That is, | |
8149 if the current group is fetched by @sc{nntp}, the parent hasn't expired | |
8150 and the @code{References} in the current article are not mangled, you | |
8151 can just press @kbd{^} or @kbd{A r} | |
8152 (@code{gnus-summary-refer-parent-article}). If everything goes well, | |
8153 you'll get the parent. If the parent is already displayed in the | |
8154 summary buffer, point will just move to this article. | |
8155 | |
8156 If given a positive numerical prefix, fetch that many articles back into | |
8157 the ancestry. If given a negative numerical prefix, fetch just that | |
8158 ancestor. So if you say @kbd{3 ^}, Gnus will fetch the parent, the | |
8159 grandparent and the grandgrandparent of the current article. If you say | |
8160 @kbd{-3 ^}, Gnus will only fetch the grandgrandparent of the current | |
8161 article. | |
8162 | |
36028 | 8163 @item A R @r{(Summary)} |
25829 | 8164 @findex gnus-summary-refer-references |
36028 | 8165 @kindex A R @r{(Summary)} |
25829 | 8166 Fetch all articles mentioned in the @code{References} header of the |
8167 article (@code{gnus-summary-refer-references}). | |
8168 | |
36028 | 8169 @item A T @r{(Summary)} |
25829 | 8170 @findex gnus-summary-refer-thread |
36028 | 8171 @kindex A T @r{(Summary)} |
25829 | 8172 Display the full thread where the current article appears |
8173 (@code{gnus-summary-refer-thread}). This command has to fetch all the | |
8174 headers in the current group to work, so it usually takes a while. If | |
8175 you do it often, you may consider setting @code{gnus-fetch-old-headers} | |
8176 to @code{invisible} (@pxref{Filling In Threads}). This won't have any | |
8177 visible effects normally, but it'll make this command work a whole lot | |
8178 faster. Of course, it'll make group entry somewhat slow. | |
8179 | |
8180 @vindex gnus-refer-thread-limit | |
8181 The @code{gnus-refer-thread-limit} variable says how many old (i. e., | |
8182 articles before the first displayed in the current group) headers to | |
8183 fetch when doing this command. The default is 200. If @code{t}, all | |
8184 the available headers will be fetched. This variable can be overridden | |
8185 by giving the @kbd{A T} command a numerical prefix. | |
8186 | |
36028 | 8187 @item M-^ @r{(Summary)} |
25829 | 8188 @findex gnus-summary-refer-article |
36028 | 8189 @kindex M-^ @r{(Summary)} |
25829 | 8190 @cindex Message-ID |
8191 @cindex fetching by Message-ID | |
8192 You can also ask the @sc{nntp} server for an arbitrary article, no | |
8193 matter what group it belongs to. @kbd{M-^} | |
8194 (@code{gnus-summary-refer-article}) will ask you for a | |
8195 @code{Message-ID}, which is one of those long, hard-to-read thingies | |
8196 that look something like @samp{<38o6up$6f2@@hymir.ifi.uio.no>}. You | |
8197 have to get it all exactly right. No fuzzy searches, I'm afraid. | |
8198 @end table | |
8199 | |
8200 The current select method will be used when fetching by | |
8201 @code{Message-ID} from non-news select method, but you can override this | |
8202 by giving this command a prefix. | |
8203 | |
8204 @vindex gnus-refer-article-method | |
39395 | 8205 If the group you are reading is located on a back end that does not |
25829 | 8206 support fetching by @code{Message-ID} very well (like @code{nnspool}), |
8207 you can set @code{gnus-refer-article-method} to an @sc{nntp} method. It | |
8208 would, perhaps, be best if the @sc{nntp} server you consult is the one | |
8209 updating the spool you are reading from, but that's not really | |
8210 necessary. | |
8211 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8212 It can also be a list of select methods, as well as the special symbol |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8213 @code{current}, which means to use the current select method. If it |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8214 is a list, Gnus will try all the methods in the list until it finds a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8215 match. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8216 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8217 Here's an example setting that will first try the current method, and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8218 then ask Deja if that fails: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8219 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8220 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8221 (setq gnus-refer-article-method |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8222 '(current |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8223 (nnweb "refer" (nnweb-type dejanews)))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8224 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8225 |
39395 | 8226 Most of the mail back ends support fetching by @code{Message-ID}, but do |
25829 | 8227 not do a particularly excellent job at it. That is, @code{nnmbox} and |
8228 @code{nnbabyl} are able to locate articles from any groups, while | |
8229 @code{nnml} and @code{nnfolder} are only able to locate articles that | |
8230 have been posted to the current group. (Anything else would be too time | |
8231 consuming.) @code{nnmh} does not support this at all. | |
8232 | |
8233 | |
8234 @node Alternative Approaches | |
8235 @section Alternative Approaches | |
8236 | |
8237 Different people like to read news using different methods. This being | |
8238 Gnus, we offer a small selection of minor modes for the summary buffers. | |
8239 | |
8240 @menu | |
8241 * Pick and Read:: First mark articles and then read them. | |
8242 * Binary Groups:: Auto-decode all articles. | |
8243 @end menu | |
8244 | |
8245 | |
8246 @node Pick and Read | |
8247 @subsection Pick and Read | |
8248 @cindex pick and read | |
8249 | |
8250 Some newsreaders (like @code{nn} and, uhm, @code{Netnews} on VM/CMS) use | |
8251 a two-phased reading interface. The user first marks in a summary | |
8252 buffer the articles she wants to read. Then she starts reading the | |
8253 articles with just an article buffer displayed. | |
8254 | |
8255 @findex gnus-pick-mode | |
8256 @kindex M-x gnus-pick-mode | |
8257 Gnus provides a summary buffer minor mode that allows | |
8258 this---@code{gnus-pick-mode}. This basically means that a few process | |
8259 mark commands become one-keystroke commands to allow easy marking, and | |
8260 it provides one additional command for switching to the summary buffer. | |
8261 | |
8262 Here are the available keystrokes when using pick mode: | |
8263 | |
8264 @table @kbd | |
8265 @item . | |
8266 @kindex . (Pick) | |
8267 @findex gnus-pick-article-or-thread | |
8268 Pick the article or thread on the current line | |
8269 (@code{gnus-pick-article-or-thread}). If the variable | |
8270 @code{gnus-thread-hide-subtree} is true, then this key selects the | |
8271 entire thread when used at the first article of the thread. Otherwise, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8272 it selects just the article. If given a numerical prefix, go to that |
25829 | 8273 thread or article and pick it. (The line number is normally displayed |
8274 at the beginning of the summary pick lines.) | |
8275 | |
36028 | 8276 @item @key{SPC} |
8277 @kindex @key{SPC} (Pick) | |
25829 | 8278 @findex gnus-pick-next-page |
8279 Scroll the summary buffer up one page (@code{gnus-pick-next-page}). If | |
8280 at the end of the buffer, start reading the picked articles. | |
8281 | |
8282 @item u | |
8283 @kindex u (Pick) | |
8284 @findex gnus-pick-unmark-article-or-thread. | |
8285 Unpick the thread or article | |
8286 (@code{gnus-pick-unmark-article-or-thread}). If the variable | |
8287 @code{gnus-thread-hide-subtree} is true, then this key unpicks the | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8288 thread if used at the first article of the thread. Otherwise it unpicks |
25829 | 8289 just the article. You can give this key a numerical prefix to unpick |
8290 the thread or article at that line. | |
8291 | |
36028 | 8292 @item @key{RET} |
8293 @kindex @key{RET} (Pick) | |
25829 | 8294 @findex gnus-pick-start-reading |
8295 @vindex gnus-pick-display-summary | |
8296 Start reading the picked articles (@code{gnus-pick-start-reading}). If | |
8297 given a prefix, mark all unpicked articles as read first. If | |
8298 @code{gnus-pick-display-summary} is non-@code{nil}, the summary buffer | |
8299 will still be visible when you are reading. | |
8300 | |
8301 @end table | |
8302 | |
8303 All the normal summary mode commands are still available in the | |
8304 pick-mode, with the exception of @kbd{u}. However @kbd{!} is available | |
8305 which is mapped to the same function | |
8306 @code{gnus-summary-tick-article-forward}. | |
8307 | |
8308 If this sounds like a good idea to you, you could say: | |
8309 | |
8310 @lisp | |
8311 (add-hook 'gnus-summary-mode-hook 'gnus-pick-mode) | |
8312 @end lisp | |
8313 | |
8314 @vindex gnus-pick-mode-hook | |
8315 @code{gnus-pick-mode-hook} is run in pick minor mode buffers. | |
8316 | |
8317 @vindex gnus-mark-unpicked-articles-as-read | |
8318 If @code{gnus-mark-unpicked-articles-as-read} is non-@code{nil}, mark | |
8319 all unpicked articles as read. The default is @code{nil}. | |
8320 | |
8321 @vindex gnus-summary-pick-line-format | |
8322 The summary line format in pick mode is slightly different from the | |
8323 standard format. At the beginning of each line the line number is | |
8324 displayed. The pick mode line format is controlled by the | |
8325 @code{gnus-summary-pick-line-format} variable (@pxref{Formatting | |
8326 Variables}). It accepts the same format specs that | |
8327 @code{gnus-summary-line-format} does (@pxref{Summary Buffer Lines}). | |
8328 | |
8329 | |
8330 @node Binary Groups | |
8331 @subsection Binary Groups | |
8332 @cindex binary groups | |
8333 | |
8334 @findex gnus-binary-mode | |
8335 @kindex M-x gnus-binary-mode | |
8336 If you spend much time in binary groups, you may grow tired of hitting | |
36028 | 8337 @kbd{X u}, @kbd{n}, @key{RET} all the time. @kbd{M-x gnus-binary-mode} |
25829 | 8338 is a minor mode for summary buffers that makes all ordinary Gnus article |
8339 selection functions uudecode series of articles and display the result | |
8340 instead of just displaying the articles the normal way. | |
8341 | |
8342 @kindex g (Binary) | |
8343 @findex gnus-binary-show-article | |
8344 The only way, in fact, to see the actual articles is the @kbd{g} | |
8345 command, when you have turned on this mode | |
8346 (@code{gnus-binary-show-article}). | |
8347 | |
8348 @vindex gnus-binary-mode-hook | |
8349 @code{gnus-binary-mode-hook} is called in binary minor mode buffers. | |
8350 | |
8351 | |
8352 @node Tree Display | |
8353 @section Tree Display | |
8354 @cindex trees | |
8355 | |
8356 @vindex gnus-use-trees | |
8357 If you don't like the normal Gnus summary display, you might try setting | |
8358 @code{gnus-use-trees} to @code{t}. This will create (by default) an | |
8359 additional @dfn{tree buffer}. You can execute all summary mode commands | |
8360 in the tree buffer. | |
8361 | |
8362 There are a few variables to customize the tree display, of course: | |
8363 | |
8364 @table @code | |
8365 @item gnus-tree-mode-hook | |
8366 @vindex gnus-tree-mode-hook | |
8367 A hook called in all tree mode buffers. | |
8368 | |
8369 @item gnus-tree-mode-line-format | |
8370 @vindex gnus-tree-mode-line-format | |
8371 A format string for the mode bar in the tree mode buffers (@pxref{Mode | |
8372 Line Formatting}). The default is @samp{Gnus: %%b %S %Z}. For a list | |
8373 of valid specs, @pxref{Summary Buffer Mode Line}. | |
8374 | |
8375 @item gnus-selected-tree-face | |
8376 @vindex gnus-selected-tree-face | |
8377 Face used for highlighting the selected article in the tree buffer. The | |
8378 default is @code{modeline}. | |
8379 | |
8380 @item gnus-tree-line-format | |
8381 @vindex gnus-tree-line-format | |
8382 A format string for the tree nodes. The name is a bit of a misnomer, | |
8383 though---it doesn't define a line, but just the node. The default value | |
8384 is @samp{%(%[%3,3n%]%)}, which displays the first three characters of | |
8385 the name of the poster. It is vital that all nodes are of the same | |
8386 length, so you @emph{must} use @samp{%4,4n}-like specifiers. | |
8387 | |
8388 Valid specs are: | |
8389 | |
8390 @table @samp | |
8391 @item n | |
8392 The name of the poster. | |
8393 @item f | |
8394 The @code{From} header. | |
8395 @item N | |
8396 The number of the article. | |
8397 @item [ | |
8398 The opening bracket. | |
8399 @item ] | |
8400 The closing bracket. | |
8401 @item s | |
8402 The subject. | |
8403 @end table | |
8404 | |
8405 @xref{Formatting Variables}. | |
8406 | |
8407 Variables related to the display are: | |
8408 | |
8409 @table @code | |
8410 @item gnus-tree-brackets | |
8411 @vindex gnus-tree-brackets | |
8412 This is used for differentiating between ``real'' articles and | |
26290 | 8413 ``sparse'' articles. The format is @code{((@var{real-open} . @var{real-close}) |
8414 (@var{sparse-open} . @var{sparse-close}) (@var{dummy-open} . @var{dummy-close}))}, and the | |
25829 | 8415 default is @code{((?[ . ?]) (?( . ?)) (?@{ . ?@}) (?< . ?>))}. |
8416 | |
8417 @item gnus-tree-parent-child-edges | |
8418 @vindex gnus-tree-parent-child-edges | |
8419 This is a list that contains the characters used for connecting parent | |
8420 nodes to their children. The default is @code{(?- ?\\ ?|)}. | |
8421 | |
8422 @end table | |
8423 | |
8424 @item gnus-tree-minimize-window | |
8425 @vindex gnus-tree-minimize-window | |
8426 If this variable is non-@code{nil}, Gnus will try to keep the tree | |
8427 buffer as small as possible to allow more room for the other Gnus | |
8428 windows. If this variable is a number, the tree buffer will never be | |
8429 higher than that number. The default is @code{t}. Note that if you | |
8430 have several windows displayed side-by-side in a frame and the tree | |
8431 buffer is one of these, minimizing the tree window will also resize all | |
8432 other windows displayed next to it. | |
8433 | |
8434 @item gnus-generate-tree-function | |
8435 @vindex gnus-generate-tree-function | |
8436 @findex gnus-generate-horizontal-tree | |
8437 @findex gnus-generate-vertical-tree | |
8438 The function that actually generates the thread tree. Two predefined | |
8439 functions are available: @code{gnus-generate-horizontal-tree} and | |
8440 @code{gnus-generate-vertical-tree} (which is the default). | |
8441 | |
8442 @end table | |
8443 | |
8444 Here's an example from a horizontal tree buffer: | |
8445 | |
8446 @example | |
8447 @{***@}-(***)-[odd]-[Gun] | |
8448 | \[Jan] | |
8449 | \[odd]-[Eri] | |
8450 | \(***)-[Eri] | |
8451 | \[odd]-[Paa] | |
8452 \[Bjo] | |
8453 \[Gun] | |
8454 \[Gun]-[Jor] | |
8455 @end example | |
8456 | |
8457 Here's the same thread displayed in a vertical tree buffer: | |
8458 | |
8459 @example | |
8460 @{***@} | |
8461 |--------------------------\-----\-----\ | |
8462 (***) [Bjo] [Gun] [Gun] | |
8463 |--\-----\-----\ | | |
8464 [odd] [Jan] [odd] (***) [Jor] | |
8465 | | |--\ | |
8466 [Gun] [Eri] [Eri] [odd] | |
8467 | | |
8468 [Paa] | |
8469 @end example | |
8470 | |
8471 If you're using horizontal trees, it might be nice to display the trees | |
8472 side-by-side with the summary buffer. You could add something like the | |
8473 following to your @file{.gnus.el} file: | |
8474 | |
8475 @lisp | |
8476 (setq gnus-use-trees t | |
8477 gnus-generate-tree-function 'gnus-generate-horizontal-tree | |
8478 gnus-tree-minimize-window nil) | |
8479 (gnus-add-configuration | |
8480 '(article | |
8481 (vertical 1.0 | |
8482 (horizontal 0.25 | |
8483 (summary 0.75 point) | |
8484 (tree 1.0)) | |
8485 (article 1.0)))) | |
8486 @end lisp | |
8487 | |
8488 @xref{Windows Configuration}. | |
8489 | |
8490 | |
8491 @node Mail Group Commands | |
8492 @section Mail Group Commands | |
8493 @cindex mail group commands | |
8494 | |
8495 Some commands only make sense in mail groups. If these commands are | |
8496 invalid in the current group, they will raise a hell and let you know. | |
8497 | |
8498 All these commands (except the expiry and edit commands) use the | |
8499 process/prefix convention (@pxref{Process/Prefix}). | |
8500 | |
8501 @table @kbd | |
8502 | |
8503 @item B e | |
36028 | 8504 @kindex B e @r{(Summary)} |
25829 | 8505 @findex gnus-summary-expire-articles |
8506 Expire all expirable articles in the group | |
8507 (@code{gnus-summary-expire-articles}). | |
8508 | |
40705 | 8509 @item B C-M-e |
8510 @kindex B C-M-e @r{(Summary)} | |
25829 | 8511 @findex gnus-summary-expire-articles-now |
8512 Delete all the expirable articles in the group | |
8513 (@code{gnus-summary-expire-articles-now}). This means that @strong{all} | |
8514 articles eligible for expiry in the current group will | |
8515 disappear forever into that big @file{/dev/null} in the sky. | |
8516 | |
36028 | 8517 @item B @key{DEL} |
8518 @kindex B @key{DEL} @r{(Summary)} | |
25829 | 8519 @findex gnus-summary-delete-article |
8520 @c @icon{gnus-summary-mail-delete} | |
8521 Delete the mail article. This is ``delete'' as in ``delete it from your | |
8522 disk forever and ever, never to return again.'' Use with caution. | |
8523 (@code{gnus-summary-delete-article}). | |
8524 | |
8525 @item B m | |
36028 | 8526 @kindex B m @r{(Summary)} |
25829 | 8527 @cindex move mail |
8528 @findex gnus-summary-move-article | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8529 @vindex gnus-preserve-marks |
25829 | 8530 Move the article from one mail group to another |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8531 (@code{gnus-summary-move-article}). Marks will be preserved if |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8532 @var{gnus-preserve-marks} is non-@code{nil} (which is the default). |
25829 | 8533 |
8534 @item B c | |
36028 | 8535 @kindex B c @r{(Summary)} |
25829 | 8536 @cindex copy mail |
8537 @findex gnus-summary-copy-article | |
8538 @c @icon{gnus-summary-mail-copy} | |
8539 Copy the article from one group (mail group or not) to a mail group | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8540 (@code{gnus-summary-copy-article}). Marks will be preserved if |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8541 @var{gnus-preserve-marks} is non-@code{nil} (which is the default). |
25829 | 8542 |
8543 @item B B | |
36028 | 8544 @kindex B B @r{(Summary)} |
25829 | 8545 @cindex crosspost mail |
8546 @findex gnus-summary-crosspost-article | |
8547 Crosspost the current article to some other group | |
8548 (@code{gnus-summary-crosspost-article}). This will create a new copy of | |
8549 the article in the other group, and the Xref headers of the article will | |
8550 be properly updated. | |
8551 | |
8552 @item B i | |
36028 | 8553 @kindex B i @r{(Summary)} |
25829 | 8554 @findex gnus-summary-import-article |
8555 Import an arbitrary file into the current mail newsgroup | |
8556 (@code{gnus-summary-import-article}). You will be prompted for a file | |
8557 name, a @code{From} header and a @code{Subject} header. | |
8558 | |
8559 @item B r | |
36028 | 8560 @kindex B r @r{(Summary)} |
25829 | 8561 @findex gnus-summary-respool-article |
8562 Respool the mail article (@code{gnus-summary-respool-article}). | |
8563 @code{gnus-summary-respool-default-method} will be used as the default | |
8564 select method when respooling. This variable is @code{nil} by default, | |
8565 which means that the current group select method will be used instead. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8566 Marks will be preserved if @var{gnus-preserve-marks} is non-@code{nil} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8567 (which is the default). |
25829 | 8568 |
8569 @item B w | |
8570 @itemx e | |
36028 | 8571 @kindex B w @r{(Summary)} |
8572 @kindex e @r{(Summary)} | |
25829 | 8573 @findex gnus-summary-edit-article |
36028 | 8574 @kindex C-c C-c @r{(Article)} |
25829 | 8575 Edit the current article (@code{gnus-summary-edit-article}). To finish |
8576 editing and make the changes permanent, type @kbd{C-c C-c} | |
8577 (@kbd{gnus-summary-edit-article-done}). If you give a prefix to the | |
8578 @kbd{C-c C-c} command, Gnus won't re-highlight the article. | |
8579 | |
8580 @item B q | |
36028 | 8581 @kindex B q @r{(Summary)} |
25829 | 8582 @findex gnus-summary-respool-query |
8583 If you want to re-spool an article, you might be curious as to what group | |
8584 the article will end up in before you do the re-spooling. This command | |
8585 will tell you (@code{gnus-summary-respool-query}). | |
8586 | |
8587 @item B t | |
36028 | 8588 @kindex B t @r{(Summary)} |
25829 | 8589 @findex gnus-summary-respool-trace |
8590 Similarly, this command will display all fancy splitting patterns used | |
8591 when repooling, if any (@code{gnus-summary-respool-trace}). | |
8592 | |
8593 @item B p | |
36028 | 8594 @kindex B p @r{(Summary)} |
25829 | 8595 @findex gnus-summary-article-posted-p |
8596 Some people have a tendency to send you "courtesy" copies when they | |
8597 follow up to articles you have posted. These usually have a | |
8598 @code{Newsgroups} header in them, but not always. This command | |
8599 (@code{gnus-summary-article-posted-p}) will try to fetch the current | |
8600 article from your news server (or rather, from | |
8601 @code{gnus-refer-article-method} or @code{gnus-select-method}) and will | |
8602 report back whether it found the article or not. Even if it says that | |
8603 it didn't find the article, it may have been posted anyway---mail | |
8604 propagation is much faster than news propagation, and the news copy may | |
8605 just not have arrived yet. | |
8606 | |
8607 @end table | |
8608 | |
8609 @vindex gnus-move-split-methods | |
8610 @cindex moving articles | |
8611 If you move (or copy) articles regularly, you might wish to have Gnus | |
8612 suggest where to put the articles. @code{gnus-move-split-methods} is a | |
8613 variable that uses the same syntax as @code{gnus-split-methods} | |
8614 (@pxref{Saving Articles}). You may customize that variable to create | |
34547 | 8615 suggestions you find reasonable. (Note that |
8616 @code{gnus-move-split-methods} uses group names where | |
8617 @code{gnus-split-methods} uses file names.) | |
25829 | 8618 |
8619 @lisp | |
8620 (setq gnus-move-split-methods | |
8621 '(("^From:.*Lars Magne" "nnml:junk") | |
8622 ("^Subject:.*gnus" "nnfolder:important") | |
8623 (".*" "nnml:misc"))) | |
8624 @end lisp | |
8625 | |
8626 | |
8627 @node Various Summary Stuff | |
8628 @section Various Summary Stuff | |
8629 | |
8630 @menu | |
8631 * Summary Group Information:: Information oriented commands. | |
8632 * Searching for Articles:: Multiple article commands. | |
8633 * Summary Generation Commands:: (Re)generating the summary buffer. | |
8634 * Really Various Summary Commands:: Those pesky non-conformant commands. | |
8635 @end menu | |
8636 | |
8637 @table @code | |
8638 @vindex gnus-summary-mode-hook | |
8639 @item gnus-summary-mode-hook | |
8640 This hook is called when creating a summary mode buffer. | |
8641 | |
8642 @vindex gnus-summary-generate-hook | |
8643 @item gnus-summary-generate-hook | |
8644 This is called as the last thing before doing the threading and the | |
8645 generation of the summary buffer. It's quite convenient for customizing | |
8646 the threading variables based on what data the newsgroup has. This hook | |
8647 is called from the summary buffer after most summary buffer variables | |
8648 have been set. | |
8649 | |
8650 @vindex gnus-summary-prepare-hook | |
8651 @item gnus-summary-prepare-hook | |
8652 It is called after the summary buffer has been generated. You might use | |
8653 it to, for instance, highlight lines or modify the look of the buffer in | |
8654 some other ungodly manner. I don't care. | |
8655 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8656 @vindex gnus-summary-prepared-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8657 @item gnus-summary-prepared-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8658 A hook called as the very last thing after the summary buffer has been |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8659 generated. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8660 |
25829 | 8661 @vindex gnus-summary-ignore-duplicates |
8662 @item gnus-summary-ignore-duplicates | |
8663 When Gnus discovers two articles that have the same @code{Message-ID}, | |
8664 it has to do something drastic. No articles are allowed to have the | |
8665 same @code{Message-ID}, but this may happen when reading mail from some | |
8666 sources. Gnus allows you to customize what happens with this variable. | |
8667 If it is @code{nil} (which is the default), Gnus will rename the | |
8668 @code{Message-ID} (for display purposes only) and display the article as | |
8669 any other article. If this variable is @code{t}, it won't display the | |
8670 article---it'll be as if it never existed. | |
8671 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8672 @vindex gnus-alter-articles-to-read-function |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8673 @item gnus-alter-articles-to-read-function |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8674 This function, which takes two parameters (the group name and the list |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8675 of articles to be selected), is called to allow the user to alter the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8676 list of articles to be selected. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8677 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8678 For instance, the following function adds the list of cached articles to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8679 the list in one particular group: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8680 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8681 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8682 (defun my-add-cached-articles (group articles) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8683 (if (string= group "some.group") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8684 (append gnus-newsgroup-cached articles) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8685 articles)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8686 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8687 |
25829 | 8688 @end table |
8689 | |
8690 | |
8691 @node Summary Group Information | |
8692 @subsection Summary Group Information | |
8693 | |
8694 @table @kbd | |
8695 | |
8696 @item H f | |
36028 | 8697 @kindex H f @r{(Summary)} |
25829 | 8698 @findex gnus-summary-fetch-faq |
8699 @vindex gnus-group-faq-directory | |
8700 Try to fetch the FAQ (list of frequently asked questions) for the | |
8701 current group (@code{gnus-summary-fetch-faq}). Gnus will try to get the | |
8702 FAQ from @code{gnus-group-faq-directory}, which is usually a directory | |
8703 on a remote machine. This variable can also be a list of directories. | |
8704 In that case, giving a prefix to this command will allow you to choose | |
8705 between the various sites. @code{ange-ftp} or @code{efs} will probably | |
8706 be used for fetching the file. | |
8707 | |
8708 @item H d | |
36028 | 8709 @kindex H d @r{(Summary)} |
25829 | 8710 @findex gnus-summary-describe-group |
8711 Give a brief description of the current group | |
8712 (@code{gnus-summary-describe-group}). If given a prefix, force | |
8713 rereading the description from the server. | |
8714 | |
8715 @item H h | |
36028 | 8716 @kindex H h @r{(Summary)} |
25829 | 8717 @findex gnus-summary-describe-briefly |
8718 Give an extremely brief description of the most important summary | |
8719 keystrokes (@code{gnus-summary-describe-briefly}). | |
8720 | |
8721 @item H i | |
36028 | 8722 @kindex H i @r{(Summary)} |
25829 | 8723 @findex gnus-info-find-node |
8724 Go to the Gnus info node (@code{gnus-info-find-node}). | |
8725 @end table | |
8726 | |
8727 | |
8728 @node Searching for Articles | |
8729 @subsection Searching for Articles | |
8730 | |
8731 @table @kbd | |
8732 | |
8733 @item M-s | |
36028 | 8734 @kindex M-s @r{(Summary)} |
25829 | 8735 @findex gnus-summary-search-article-forward |
8736 Search through all subsequent articles for a regexp | |
8737 (@code{gnus-summary-search-article-forward}). | |
8738 | |
8739 @item M-r | |
36028 | 8740 @kindex M-r @r{(Summary)} |
25829 | 8741 @findex gnus-summary-search-article-backward |
8742 Search through all previous articles for a regexp | |
8743 (@code{gnus-summary-search-article-backward}). | |
8744 | |
8745 @item & | |
36028 | 8746 @kindex & @r{(Summary)} |
25829 | 8747 @findex gnus-summary-execute-command |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8748 This command will prompt you for a header, a regular expression to match |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8749 on this field, and a command to be executed if the match is made |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8750 (@code{gnus-summary-execute-command}). If the header is an empty |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8751 string, the match is done on the entire article. If given a prefix, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8752 search backward instead. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8753 |
36028 | 8754 For instance, @kbd{& @key{RET} some.*string #} will put the process mark on |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8755 all articles that have heads or bodies that match @samp{some.*string}. |
25829 | 8756 |
8757 @item M-& | |
36028 | 8758 @kindex M-& @r{(Summary)} |
25829 | 8759 @findex gnus-summary-universal-argument |
8760 Perform any operation on all articles that have been marked with | |
8761 the process mark (@code{gnus-summary-universal-argument}). | |
8762 @end table | |
8763 | |
8764 @node Summary Generation Commands | |
8765 @subsection Summary Generation Commands | |
8766 | |
8767 @table @kbd | |
8768 | |
8769 @item Y g | |
36028 | 8770 @kindex Y g @r{(Summary)} |
25829 | 8771 @findex gnus-summary-prepare |
8772 Regenerate the current summary buffer (@code{gnus-summary-prepare}). | |
8773 | |
8774 @item Y c | |
36028 | 8775 @kindex Y c @r{(Summary)} |
25829 | 8776 @findex gnus-summary-insert-cached-articles |
8777 Pull all cached articles (for the current group) into the summary buffer | |
8778 (@code{gnus-summary-insert-cached-articles}). | |
8779 | |
8780 @end table | |
8781 | |
8782 | |
8783 @node Really Various Summary Commands | |
8784 @subsection Really Various Summary Commands | |
8785 | |
8786 @table @kbd | |
8787 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8788 @item A D |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8789 @itemx C-d |
36028 | 8790 @kindex C-d @r{(Summary)} |
8791 @kindex A D @r{(Summary)} | |
25829 | 8792 @findex gnus-summary-enter-digest-group |
8793 If the current article is a collection of other articles (for instance, | |
8794 a digest), you might use this command to enter a group based on the that | |
8795 article (@code{gnus-summary-enter-digest-group}). Gnus will try to | |
8796 guess what article type is currently displayed unless you give a prefix | |
8797 to this command, which forces a ``digest'' interpretation. Basically, | |
8798 whenever you see a message that is a collection of other messages of | |
8799 some format, you @kbd{C-d} and read these messages in a more convenient | |
8800 fashion. | |
8801 | |
40705 | 8802 @item C-M-d |
8803 @kindex C-M-d @r{(Summary)} | |
25829 | 8804 @findex gnus-summary-read-document |
8805 This command is very similar to the one above, but lets you gather | |
8806 several documents into one biiig group | |
8807 (@code{gnus-summary-read-document}). It does this by opening several | |
8808 @code{nndoc} groups for each document, and then opening an | |
8809 @code{nnvirtual} group on top of these @code{nndoc} groups. This | |
8810 command understands the process/prefix convention | |
8811 (@pxref{Process/Prefix}). | |
8812 | |
8813 @item C-t | |
36028 | 8814 @kindex C-t @r{(Summary)} |
25829 | 8815 @findex gnus-summary-toggle-truncation |
8816 Toggle truncation of summary lines | |
8817 (@code{gnus-summary-toggle-truncation}). This will probably confuse the | |
8818 line centering function in the summary buffer, so it's not a good idea | |
8819 to have truncation switched off while reading articles. | |
8820 | |
8821 @item = | |
36028 | 8822 @kindex = @r{(Summary)} |
25829 | 8823 @findex gnus-summary-expand-window |
8824 Expand the summary buffer window (@code{gnus-summary-expand-window}). | |
8825 If given a prefix, force an @code{article} window configuration. | |
8826 | |
40705 | 8827 @item C-M-e |
8828 @kindex C-M-e @r{(Summary)} | |
25829 | 8829 @findex gnus-summary-edit-parameters |
8830 Edit the group parameters (@pxref{Group Parameters}) of the current | |
8831 group (@code{gnus-summary-edit-parameters}). | |
8832 | |
40705 | 8833 @item C-M-a |
8834 @kindex C-M-a @r{(Summary)} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8835 @findex gnus-summary-customize-parameters |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8836 Customize the group parameters (@pxref{Group Parameters}) of the current |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8837 group (@code{gnus-summary-customize-parameters}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8838 |
25829 | 8839 @end table |
8840 | |
8841 | |
8842 @node Exiting the Summary Buffer | |
8843 @section Exiting the Summary Buffer | |
8844 @cindex summary exit | |
8845 @cindex exiting groups | |
8846 | |
8847 Exiting from the summary buffer will normally update all info on the | |
8848 group and return you to the group buffer. | |
8849 | |
8850 @table @kbd | |
8851 | |
8852 @item Z Z | |
8853 @itemx q | |
36028 | 8854 @kindex Z Z @r{(Summary)} |
8855 @kindex q @r{(Summary)} | |
25829 | 8856 @findex gnus-summary-exit |
8857 @vindex gnus-summary-exit-hook | |
8858 @vindex gnus-summary-prepare-exit-hook | |
8859 @c @icon{gnus-summary-exit} | |
8860 Exit the current group and update all information on the group | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8861 (@code{gnus-summary-exit}). @code{gnus-summary-prepare-exit-hook} is |
25829 | 8862 called before doing much of the exiting, which calls |
8863 @code{gnus-summary-expire-articles} by default. | |
8864 @code{gnus-summary-exit-hook} is called after finishing the exit | |
8865 process. @code{gnus-group-no-more-groups-hook} is run when returning to | |
8866 group mode having no more (unread) groups. | |
8867 | |
8868 @item Z E | |
8869 @itemx Q | |
36028 | 8870 @kindex Z E @r{(Summary)} |
8871 @kindex Q @r{(Summary)} | |
25829 | 8872 @findex gnus-summary-exit-no-update |
8873 Exit the current group without updating any information on the group | |
8874 (@code{gnus-summary-exit-no-update}). | |
8875 | |
8876 @item Z c | |
8877 @itemx c | |
36028 | 8878 @kindex Z c @r{(Summary)} |
8879 @kindex c @r{(Summary)} | |
25829 | 8880 @findex gnus-summary-catchup-and-exit |
8881 @c @icon{gnus-summary-catchup-and-exit} | |
8882 Mark all unticked articles in the group as read and then exit | |
8883 (@code{gnus-summary-catchup-and-exit}). | |
8884 | |
8885 @item Z C | |
36028 | 8886 @kindex Z C @r{(Summary)} |
25829 | 8887 @findex gnus-summary-catchup-all-and-exit |
8888 Mark all articles, even the ticked ones, as read and then exit | |
8889 (@code{gnus-summary-catchup-all-and-exit}). | |
8890 | |
8891 @item Z n | |
36028 | 8892 @kindex Z n @r{(Summary)} |
25829 | 8893 @findex gnus-summary-catchup-and-goto-next-group |
8894 Mark all articles as read and go to the next group | |
8895 (@code{gnus-summary-catchup-and-goto-next-group}). | |
8896 | |
8897 @item Z R | |
36028 | 8898 @kindex Z R @r{(Summary)} |
25829 | 8899 @findex gnus-summary-reselect-current-group |
8900 Exit this group, and then enter it again | |
8901 (@code{gnus-summary-reselect-current-group}). If given a prefix, select | |
8902 all articles, both read and unread. | |
8903 | |
8904 @item Z G | |
8905 @itemx M-g | |
36028 | 8906 @kindex Z G @r{(Summary)} |
8907 @kindex M-g @r{(Summary)} | |
25829 | 8908 @findex gnus-summary-rescan-group |
8909 @c @icon{gnus-summary-mail-get} | |
8910 Exit the group, check for new articles in the group, and select the | |
8911 group (@code{gnus-summary-rescan-group}). If given a prefix, select all | |
8912 articles, both read and unread. | |
8913 | |
8914 @item Z N | |
36028 | 8915 @kindex Z N @r{(Summary)} |
25829 | 8916 @findex gnus-summary-next-group |
8917 Exit the group and go to the next group | |
8918 (@code{gnus-summary-next-group}). | |
8919 | |
8920 @item Z P | |
36028 | 8921 @kindex Z P @r{(Summary)} |
25829 | 8922 @findex gnus-summary-prev-group |
8923 Exit the group and go to the previous group | |
8924 (@code{gnus-summary-prev-group}). | |
8925 | |
8926 @item Z s | |
36028 | 8927 @kindex Z s @r{(Summary)} |
25829 | 8928 @findex gnus-summary-save-newsrc |
8929 Save the current number of read/marked articles in the dribble buffer | |
8930 and then save the dribble buffer (@code{gnus-summary-save-newsrc}). If | |
8931 given a prefix, also save the @file{.newsrc} file(s). Using this | |
8932 command will make exit without updating (the @kbd{Q} command) worthless. | |
8933 @end table | |
8934 | |
8935 @vindex gnus-exit-group-hook | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8936 @code{gnus-exit-group-hook} is called when you exit the current group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8937 with an ``updating'' exit. For instance @kbd{Q} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8938 (@code{gnus-summary-exit-no-update}) does not call this hook. |
25829 | 8939 |
8940 @findex gnus-summary-wake-up-the-dead | |
8941 @findex gnus-dead-summary-mode | |
8942 @vindex gnus-kill-summary-on-exit | |
8943 If you're in the habit of exiting groups, and then changing your mind | |
8944 about it, you might set @code{gnus-kill-summary-on-exit} to @code{nil}. | |
8945 If you do that, Gnus won't kill the summary buffer when you exit it. | |
8946 (Quelle surprise!) Instead it will change the name of the buffer to | |
8947 something like @samp{*Dead Summary ... *} and install a minor mode | |
8948 called @code{gnus-dead-summary-mode}. Now, if you switch back to this | |
8949 buffer, you'll find that all keys are mapped to a function called | |
8950 @code{gnus-summary-wake-up-the-dead}. So tapping any keys in a dead | |
8951 summary buffer will result in a live, normal summary buffer. | |
8952 | |
8953 There will never be more than one dead summary buffer at any one time. | |
8954 | |
8955 @vindex gnus-use-cross-reference | |
8956 The data on the current group will be updated (which articles you have | |
8957 read, which articles you have replied to, etc.) when you exit the | |
8958 summary buffer. If the @code{gnus-use-cross-reference} variable is | |
8959 @code{t} (which is the default), articles that are cross-referenced to | |
8960 this group and are marked as read, will also be marked as read in the | |
8961 other subscribed groups they were cross-posted to. If this variable is | |
8962 neither @code{nil} nor @code{t}, the article will be marked as read in | |
8963 both subscribed and unsubscribed groups (@pxref{Crosspost Handling}). | |
8964 | |
8965 | |
8966 @node Crosspost Handling | |
8967 @section Crosspost Handling | |
8968 | |
8969 @cindex velveeta | |
8970 @cindex spamming | |
8971 Marking cross-posted articles as read ensures that you'll never have to | |
8972 read the same article more than once. Unless, of course, somebody has | |
8973 posted it to several groups separately. Posting the same article to | |
8974 several groups (not cross-posting) is called @dfn{spamming}, and you are | |
8975 by law required to send nasty-grams to anyone who perpetrates such a | |
8976 heinous crime. You may want to try NoCeM handling to filter out spam | |
8977 (@pxref{NoCeM}). | |
8978 | |
8979 Remember: Cross-posting is kinda ok, but posting the same article | |
8980 separately to several groups is not. Massive cross-posting (aka. | |
8981 @dfn{velveeta}) is to be avoided at all costs, and you can even use the | |
8982 @code{gnus-summary-mail-crosspost-complaint} command to complain about | |
8983 excessive crossposting (@pxref{Summary Mail Commands}). | |
8984 | |
8985 @cindex cross-posting | |
8986 @cindex Xref | |
8987 @cindex @sc{nov} | |
8988 One thing that may cause Gnus to not do the cross-posting thing | |
8989 correctly is if you use an @sc{nntp} server that supports @sc{xover} | |
8990 (which is very nice, because it speeds things up considerably) which | |
8991 does not include the @code{Xref} header in its @sc{nov} lines. This is | |
8992 Evil, but all too common, alas, alack. Gnus tries to Do The Right Thing | |
8993 even with @sc{xover} by registering the @code{Xref} lines of all | |
8994 articles you actually read, but if you kill the articles, or just mark | |
8995 them as read without reading them, Gnus will not get a chance to snoop | |
8996 the @code{Xref} lines out of these articles, and will be unable to use | |
8997 the cross reference mechanism. | |
8998 | |
8999 @cindex LIST overview.fmt | |
9000 @cindex overview.fmt | |
9001 To check whether your @sc{nntp} server includes the @code{Xref} header | |
9002 in its overview files, try @samp{telnet your.nntp.server nntp}, | |
9003 @samp{MODE READER} on @code{inn} servers, and then say @samp{LIST | |
9004 overview.fmt}. This may not work, but if it does, and the last line you | |
9005 get does not read @samp{Xref:full}, then you should shout and whine at | |
9006 your news admin until she includes the @code{Xref} header in the | |
9007 overview files. | |
9008 | |
9009 @vindex gnus-nov-is-evil | |
9010 If you want Gnus to get the @code{Xref}s right all the time, you have to | |
9011 set @code{gnus-nov-is-evil} to @code{t}, which slows things down | |
9012 considerably. | |
9013 | |
9014 C'est la vie. | |
9015 | |
9016 For an alternative approach, @pxref{Duplicate Suppression}. | |
9017 | |
9018 | |
9019 @node Duplicate Suppression | |
9020 @section Duplicate Suppression | |
9021 | |
9022 By default, Gnus tries to make sure that you don't have to read the same | |
9023 article more than once by utilizing the crossposting mechanism | |
9024 (@pxref{Crosspost Handling}). However, that simple and efficient | |
9025 approach may not work satisfactory for some users for various | |
9026 reasons. | |
9027 | |
9028 @enumerate | |
9029 @item | |
9030 The @sc{nntp} server may fail to generate the @code{Xref} header. This | |
9031 is evil and not very common. | |
9032 | |
9033 @item | |
9034 The @sc{nntp} server may fail to include the @code{Xref} header in the | |
9035 @file{.overview} data bases. This is evil and all too common, alas. | |
9036 | |
9037 @item | |
9038 You may be reading the same group (or several related groups) from | |
9039 different @sc{nntp} servers. | |
9040 | |
9041 @item | |
9042 You may be getting mail that duplicates articles posted to groups. | |
9043 @end enumerate | |
9044 | |
9045 I'm sure there are other situations where @code{Xref} handling fails as | |
9046 well, but these four are the most common situations. | |
9047 | |
9048 If, and only if, @code{Xref} handling fails for you, then you may | |
9049 consider switching on @dfn{duplicate suppression}. If you do so, Gnus | |
9050 will remember the @code{Message-ID}s of all articles you have read or | |
9051 otherwise marked as read, and then, as if by magic, mark them as read | |
9052 all subsequent times you see them---in @emph{all} groups. Using this | |
9053 mechanism is quite likely to be somewhat inefficient, but not overly | |
9054 so. It's certainly preferable to reading the same articles more than | |
9055 once. | |
9056 | |
9057 Duplicate suppression is not a very subtle instrument. It's more like a | |
9058 sledge hammer than anything else. It works in a very simple | |
9059 fashion---if you have marked an article as read, it adds this Message-ID | |
9060 to a cache. The next time it sees this Message-ID, it will mark the | |
9061 article as read with the @samp{M} mark. It doesn't care what group it | |
9062 saw the article in. | |
9063 | |
9064 @table @code | |
9065 @item gnus-suppress-duplicates | |
9066 @vindex gnus-suppress-duplicates | |
9067 If non-@code{nil}, suppress duplicates. | |
9068 | |
9069 @item gnus-save-duplicate-list | |
9070 @vindex gnus-save-duplicate-list | |
9071 If non-@code{nil}, save the list of duplicates to a file. This will | |
9072 make startup and shutdown take longer, so the default is @code{nil}. | |
9073 However, this means that only duplicate articles read in a single Gnus | |
9074 session are suppressed. | |
9075 | |
9076 @item gnus-duplicate-list-length | |
9077 @vindex gnus-duplicate-list-length | |
9078 This variable says how many @code{Message-ID}s to keep in the duplicate | |
9079 suppression list. The default is 10000. | |
9080 | |
9081 @item gnus-duplicate-file | |
9082 @vindex gnus-duplicate-file | |
9083 The name of the file to store the duplicate suppression list in. The | |
9084 default is @file{~/News/suppression}. | |
9085 @end table | |
9086 | |
9087 If you have a tendency to stop and start Gnus often, setting | |
9088 @code{gnus-save-duplicate-list} to @code{t} is probably a good idea. If | |
9089 you leave Gnus running for weeks on end, you may have it @code{nil}. On | |
9090 the other hand, saving the list makes startup and shutdown much slower, | |
9091 so that means that if you stop and start Gnus often, you should set | |
9092 @code{gnus-save-duplicate-list} to @code{nil}. Uhm. I'll leave this up | |
9093 to you to figure out, I think. | |
9094 | |
9095 | |
9096 @node The Article Buffer | |
9097 @chapter The Article Buffer | |
9098 @cindex article buffer | |
9099 | |
9100 The articles are displayed in the article buffer, of which there is only | |
9101 one. All the summary buffers share the same article buffer unless you | |
9102 tell Gnus otherwise. | |
9103 | |
9104 @menu | |
9105 * Hiding Headers:: Deciding what headers should be displayed. | |
9106 * Using MIME:: Pushing articles through @sc{mime} before reading them. | |
9107 * Customizing Articles:: Tailoring the look of the articles. | |
9108 * Article Keymap:: Keystrokes available in the article buffer. | |
9109 * Misc Article:: Other stuff. | |
9110 @end menu | |
9111 | |
9112 | |
9113 @node Hiding Headers | |
9114 @section Hiding Headers | |
9115 @cindex hiding headers | |
9116 @cindex deleting headers | |
9117 | |
9118 The top section of each article is the @dfn{head}. (The rest is the | |
9119 @dfn{body}, but you may have guessed that already.) | |
9120 | |
9121 @vindex gnus-show-all-headers | |
9122 There is a lot of useful information in the head: the name of the person | |
9123 who wrote the article, the date it was written and the subject of the | |
9124 article. That's well and nice, but there's also lots of information | |
9125 most people do not want to see---what systems the article has passed | |
9126 through before reaching you, the @code{Message-ID}, the | |
9127 @code{References}, etc. ad nauseum---and you'll probably want to get rid | |
9128 of some of those lines. If you want to keep all those lines in the | |
9129 article buffer, you can set @code{gnus-show-all-headers} to @code{t}. | |
9130 | |
9131 Gnus provides you with two variables for sifting headers: | |
9132 | |
9133 @table @code | |
9134 | |
9135 @item gnus-visible-headers | |
9136 @vindex gnus-visible-headers | |
9137 If this variable is non-@code{nil}, it should be a regular expression | |
9138 that says what headers you wish to keep in the article buffer. All | |
9139 headers that do not match this variable will be hidden. | |
9140 | |
9141 For instance, if you only want to see the name of the person who wrote | |
9142 the article and the subject, you'd say: | |
9143 | |
9144 @lisp | |
9145 (setq gnus-visible-headers "^From:\\|^Subject:") | |
9146 @end lisp | |
9147 | |
9148 This variable can also be a list of regexps to match headers to | |
9149 remain visible. | |
9150 | |
9151 @item gnus-ignored-headers | |
9152 @vindex gnus-ignored-headers | |
9153 This variable is the reverse of @code{gnus-visible-headers}. If this | |
9154 variable is set (and @code{gnus-visible-headers} is @code{nil}), it | |
9155 should be a regular expression that matches all lines that you want to | |
9156 hide. All lines that do not match this variable will remain visible. | |
9157 | |
9158 For instance, if you just want to get rid of the @code{References} line | |
9159 and the @code{Xref} line, you might say: | |
9160 | |
9161 @lisp | |
9162 (setq gnus-ignored-headers "^References:\\|^Xref:") | |
9163 @end lisp | |
9164 | |
9165 This variable can also be a list of regexps to match headers to | |
9166 be removed. | |
9167 | |
9168 Note that if @code{gnus-visible-headers} is non-@code{nil}, this | |
9169 variable will have no effect. | |
9170 | |
9171 @end table | |
9172 | |
9173 @vindex gnus-sorted-header-list | |
9174 Gnus can also sort the headers for you. (It does this by default.) You | |
9175 can control the sorting by setting the @code{gnus-sorted-header-list} | |
9176 variable. It is a list of regular expressions that says in what order | |
9177 the headers are to be displayed. | |
9178 | |
9179 For instance, if you want the name of the author of the article first, | |
9180 and then the subject, you might say something like: | |
9181 | |
9182 @lisp | |
9183 (setq gnus-sorted-header-list '("^From:" "^Subject:")) | |
9184 @end lisp | |
9185 | |
9186 Any headers that are to remain visible, but are not listed in this | |
9187 variable, will be displayed in random order after all the headers listed in this variable. | |
9188 | |
9189 @findex gnus-article-hide-boring-headers | |
9190 @vindex gnus-boring-article-headers | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9191 You can hide further boring headers by setting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9192 @code{gnus-treat-hide-boring-header} to @code{head}. What this function |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9193 does depends on the @code{gnus-boring-article-headers} variable. It's a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9194 list, but this list doesn't actually contain header names. Instead is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9195 lists various @dfn{boring conditions} that Gnus can check and remove |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9196 from sight. |
25829 | 9197 |
9198 These conditions are: | |
9199 @table @code | |
9200 @item empty | |
9201 Remove all empty headers. | |
9202 @item followup-to | |
9203 Remove the @code{Followup-To} header if it is identical to the | |
9204 @code{Newsgroups} header. | |
9205 @item reply-to | |
9206 Remove the @code{Reply-To} header if it lists the same address as the | |
9207 @code{From} header. | |
9208 @item newsgroups | |
9209 Remove the @code{Newsgroups} header if it only contains the current group | |
9210 name. | |
9211 @item date | |
9212 Remove the @code{Date} header if the article is less than three days | |
9213 old. | |
9214 @item long-to | |
9215 Remove the @code{To} header if it is very long. | |
9216 @item many-to | |
9217 Remove all @code{To} headers if there are more than one. | |
9218 @end table | |
9219 | |
9220 To include the four three elements, you could say something like; | |
9221 | |
9222 @lisp | |
9223 (setq gnus-boring-article-headers | |
9224 '(empty followup-to reply-to)) | |
9225 @end lisp | |
9226 | |
9227 This is also the default value for this variable. | |
9228 | |
9229 | |
9230 @node Using MIME | |
9231 @section Using @sc{mime} | |
9232 @cindex @sc{mime} | |
9233 | |
9234 Mime is a standard for waving your hands through the air, aimlessly, | |
9235 while people stand around yawning. | |
9236 | |
9237 @sc{mime}, however, is a standard for encoding your articles, aimlessly, | |
9238 while all newsreaders die of fear. | |
9239 | |
9240 @sc{mime} may specify what character set the article uses, the encoding | |
9241 of the characters, and it also makes it possible to embed pictures and | |
9242 other naughty stuff in innocent-looking articles. | |
9243 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9244 @vindex gnus-display-mime-function |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9245 @findex gnus-display-mime |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9246 Gnus pushes @sc{mime} articles through @code{gnus-display-mime-function} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9247 to display the @sc{mime} parts. This is @code{gnus-display-mime} by |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9248 default, which creates a bundle of clickable buttons that can be used to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9249 display, save and manipulate the @sc{mime} objects. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9250 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9251 The following commands are available when you have placed point over a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9252 @sc{mime} button: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9253 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9254 @table @kbd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9255 @findex gnus-article-press-button |
36028 | 9256 @item @key{RET} @r{(Article)} |
9257 @itemx Mouse-2 @r{(Article)} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9258 Toggle displaying of the @sc{mime} object |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9259 (@code{gnus-article-press-button}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9260 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9261 @findex gnus-mime-view-part |
36028 | 9262 @item M-@key{RET} @r{(Article)} |
9263 @itemx v @r{(Article)} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9264 Prompt for a method, and then view the @sc{mime} object using this |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9265 method (@code{gnus-mime-view-part}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9266 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9267 @findex gnus-mime-save-part |
36028 | 9268 @item o @r{(Article)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9269 Prompt for a file name, and then save the @sc{mime} object |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9270 (@code{gnus-mime-save-part}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9271 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9272 @findex gnus-mime-copy-part |
36028 | 9273 @item c @r{(Article)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9274 Copy the @sc{mime} object to a fresh buffer and display this buffer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9275 (@code{gnus-mime-copy-part}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9276 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9277 @findex gnus-mime-view-part-as-type |
36028 | 9278 @item t @r{(Article)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9279 View the @sc{mime} object as if it were a different @sc{mime} media type |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9280 (@code{gnus-mime-view-part-as-type}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9281 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9282 @findex gnus-mime-pipe-part |
36028 | 9283 @item | @r{(Article)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9284 Output the @sc{mime} object to a process (@code{gnus-mime-pipe-part}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9285 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9286 @findex gnus-mime-inline-part |
36028 | 9287 @item i @r{(Article)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9288 Insert the contents of the @sc{mime} object into the buffer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9289 (@code{gnus-mime-inline-part}) as text/plain. If given a prefix, insert |
34523 | 9290 the raw contents without decoding. If given a numerical prefix, you can |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9291 do semi-manual charset stuff (see |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9292 @code{gnus-summary-show-article-charset-alist} in @pxref{Paging the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9293 Article}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9294 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9295 @findex gnus-mime-action-on-part |
36028 | 9296 @item . @r{(Article)} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9297 Interactively run an action on the @sc{mime} object |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9298 (@code{gnus-mime-action-on-part}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9299 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9300 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9301 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9302 Gnus will display some @sc{mime} objects automatically. The way Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9303 determines which parts to do this with is described in the Emacs MIME |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9304 manual. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9305 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9306 It might be best to just use the toggling functions from the article |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9307 buffer to avoid getting nasty surprises. (For instance, you enter the |
25829 | 9308 group @samp{alt.sing-a-long} and, before you know it, @sc{mime} has |
9309 decoded the sound file in the article and some horrible sing-a-long song | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9310 comes screaming out your speakers, and you can't find the volume button, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9311 because there isn't one, and people are starting to look at you, and you |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9312 try to stop the program, but you can't, and you can't find the program |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9313 to control the volume, and everybody else in the room suddenly decides |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9314 to look at you disdainfully, and you'll feel rather stupid.) |
25829 | 9315 |
9316 Any similarity to real events and people is purely coincidental. Ahem. | |
9317 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9318 Also see @pxref{MIME Commands}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9319 |
25829 | 9320 |
9321 @node Customizing Articles | |
9322 @section Customizing Articles | |
9323 @cindex article customization | |
9324 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9325 A slew of functions for customizing how the articles are to look like |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9326 exist. You can call these functions interactively, or you can have them |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9327 called automatically when you select the articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9328 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9329 To have them called automatically, you should set the corresponding |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9330 ``treatment'' variable. For instance, to have headers hidden, you'd set |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9331 @code{gnus-treat-hide-headers}. Below is a list of variables that can |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9332 be set, but first we discuss the values these variables can have. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9333 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9334 Note: Some values, while valid, make little sense. Check the list below |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9335 for sensible values. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9336 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9337 @enumerate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9338 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9339 @code{nil}: Don't do this treatment. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9340 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9341 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9342 @code{t}: Do this treatment on all body parts. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9343 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9344 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9345 @code{head}: Do the treatment on the headers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9346 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9347 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9348 @code{last}: Do this treatment on the last part. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9349 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9350 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9351 An integer: Do this treatment on all body parts that have a length less |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9352 than this number. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9353 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9354 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9355 A list of strings: Do this treatment on all body parts that are in |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9356 articles that are read in groups that have names that match one of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9357 regexps in the list. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9358 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9359 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9360 A list where the first element is not a string: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9361 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9362 The list is evaluated recursively. The first element of the list is a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9363 predicate. The following predicates are recognized: @code{or}, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9364 @code{and}, @code{not} and @code{typep}. Here's an example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9365 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9366 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9367 (or last |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9368 (typep "text/x-vcard")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9369 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9370 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9371 @end enumerate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9372 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9373 You may have noticed that the word @dfn{part} is used here. This refers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9374 to the fact that some messages are @sc{mime} multipart articles that may |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9375 be divided into several parts. Articles that are not multiparts are |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9376 considered to contain just a single part. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9377 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9378 @vindex gnus-article-treat-types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9379 Are the treatments applied to all sorts of multipart parts? Yes, if you |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9380 want to, but by default, only @samp{text/plain} parts are given the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9381 treatment. This is controlled by the @code{gnus-article-treat-types} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9382 variable, which is a list of regular expressions that are matched to the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9383 type of the part. This variable is ignored if the value of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9384 controlling variable is a predicate list, as described above. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9385 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9386 The following treatment options are available. The easiest way to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9387 customize this is to examine the @code{gnus-article-treat} customization |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9388 group. Values in parenthesis are suggested sensible values. Others are |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9389 possible but those listed are probably sufficient for most people. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9390 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9391 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9392 @item gnus-treat-highlight-signature (t, last) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9393 @item gnus-treat-buttonize (t, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9394 @item gnus-treat-buttonize-head (head) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9395 @item gnus-treat-emphasize (t, head, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9396 @item gnus-treat-fill-article (t, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9397 @item gnus-treat-strip-cr (t, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9398 @item gnus-treat-hide-headers (head) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9399 @item gnus-treat-hide-boring-headers (head) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9400 @item gnus-treat-hide-signature (t, last) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9401 @item gnus-treat-hide-citation (t, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9402 @item gnus-treat-strip-pgp (t, last, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9403 @item gnus-treat-strip-pem (t, last, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9404 @item gnus-treat-highlight-headers (head) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9405 @item gnus-treat-highlight-citation (t, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9406 @item gnus-treat-highlight-signature (t, last, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9407 @item gnus-treat-date-ut (head) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9408 @item gnus-treat-date-local (head) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9409 @item gnus-treat-date-lapsed (head) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9410 @item gnus-treat-date-original (head) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9411 @item gnus-treat-strip-headers-in-body (t, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9412 @item gnus-treat-strip-trailing-blank-lines (t, last, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9413 @item gnus-treat-strip-leading-blank-lines (t, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9414 @item gnus-treat-strip-multiple-blank-lines (t, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9415 @item gnus-treat-overstrike (t, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9416 @item gnus-treat-display-xface (head) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9417 @item gnus-treat-display-smileys (t, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9418 @item gnus-treat-display-picons (head) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9419 @item gnus-treat-capitalize-sentences (t, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9420 @item gnus-treat-fill-long-lines (t, integer) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9421 @item gnus-treat-play-sounds |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9422 @item gnus-treat-translate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9423 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9424 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9425 @vindex gnus-part-display-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9426 You can, of course, write your own functions to be called from |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9427 @code{gnus-part-display-hook}. The functions are called narrowed to the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9428 part, and you can do anything you like, pretty much. There is no |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9429 information that you have to keep in the buffer---you can change |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9430 everything. |
25829 | 9431 |
9432 | |
9433 @node Article Keymap | |
9434 @section Article Keymap | |
9435 | |
9436 Most of the keystrokes in the summary buffer can also be used in the | |
9437 article buffer. They should behave as if you typed them in the summary | |
9438 buffer, which means that you don't actually have to have a summary | |
9439 buffer displayed while reading. You can do it all from the article | |
9440 buffer. | |
9441 | |
9442 A few additional keystrokes are available: | |
9443 | |
9444 @table @kbd | |
9445 | |
36028 | 9446 @item @key{SPC} |
9447 @kindex @key{SPC} @r{(Article)} | |
25829 | 9448 @findex gnus-article-next-page |
9449 Scroll forwards one page (@code{gnus-article-next-page}). | |
9450 | |
36028 | 9451 @item @key{DEL} |
9452 @kindex @key{DEL} @r{(Article)} | |
25829 | 9453 @findex gnus-article-prev-page |
9454 Scroll backwards one page (@code{gnus-article-prev-page}). | |
9455 | |
9456 @item C-c ^ | |
36028 | 9457 @kindex C-c ^ @r{(Article)} |
25829 | 9458 @findex gnus-article-refer-article |
9459 If point is in the neighborhood of a @code{Message-ID} and you press | |
9460 @kbd{C-c ^}, Gnus will try to get that article from the server | |
9461 (@code{gnus-article-refer-article}). | |
9462 | |
9463 @item C-c C-m | |
36028 | 9464 @kindex C-c C-m @r{(Article)} |
25829 | 9465 @findex gnus-article-mail |
9466 Send a reply to the address near point (@code{gnus-article-mail}). If | |
9467 given a prefix, include the mail. | |
9468 | |
9469 @item s | |
36028 | 9470 @kindex s @r{(Article)} |
25829 | 9471 @findex gnus-article-show-summary |
9472 Reconfigure the buffers so that the summary buffer becomes visible | |
9473 (@code{gnus-article-show-summary}). | |
9474 | |
9475 @item ? | |
36028 | 9476 @kindex ? @r{(Article)} |
25829 | 9477 @findex gnus-article-describe-briefly |
9478 Give a very brief description of the available keystrokes | |
9479 (@code{gnus-article-describe-briefly}). | |
9480 | |
9481 @item TAB | |
36028 | 9482 @kindex TAB @r{(Article)} |
25829 | 9483 @findex gnus-article-next-button |
9484 Go to the next button, if any (@code{gnus-article-next-button}). This | |
9485 only makes sense if you have buttonizing turned on. | |
9486 | |
9487 @item M-TAB | |
36028 | 9488 @kindex M-TAB @r{(Article)} |
25829 | 9489 @findex gnus-article-prev-button |
9490 Go to the previous button, if any (@code{gnus-article-prev-button}). | |
9491 | |
9492 @end table | |
9493 | |
9494 | |
9495 @node Misc Article | |
9496 @section Misc Article | |
9497 | |
9498 @table @code | |
9499 | |
9500 @item gnus-single-article-buffer | |
9501 @vindex gnus-single-article-buffer | |
9502 If non-@code{nil}, use the same article buffer for all the groups. | |
9503 (This is the default.) If @code{nil}, each group will have its own | |
9504 article buffer. | |
9505 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9506 @vindex gnus-article-decode-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9507 @item gnus-article-decode-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9508 @cindex MIME |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9509 Hook used to decode @sc{mime} articles. The default value is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9510 @code{(article-decode-charset article-decode-encoded-words)} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9511 |
25829 | 9512 @vindex gnus-article-prepare-hook |
9513 @item gnus-article-prepare-hook | |
9514 This hook is called right after the article has been inserted into the | |
9515 article buffer. It is mainly intended for functions that do something | |
9516 depending on the contents; it should probably not be used for changing | |
9517 the contents of the article buffer. | |
9518 | |
9519 @item gnus-article-mode-hook | |
9520 @vindex gnus-article-mode-hook | |
9521 Hook called in article mode buffers. | |
9522 | |
9523 @item gnus-article-mode-syntax-table | |
9524 @vindex gnus-article-mode-syntax-table | |
9525 Syntax table used in article buffers. It is initialized from | |
9526 @code{text-mode-syntax-table}. | |
9527 | |
9528 @vindex gnus-article-mode-line-format | |
9529 @item gnus-article-mode-line-format | |
9530 This variable is a format string along the same lines as | |
9531 @code{gnus-summary-mode-line-format} (@pxref{Mode Line Formatting}). It | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9532 accepts the same format specifications as that variable, with two |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9533 extensions: |
25829 | 9534 |
9535 @table @samp | |
9536 @item w | |
9537 The @dfn{wash status} of the article. This is a short string with one | |
9538 character for each possible article wash operation that may have been | |
9539 performed. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9540 @item m |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9541 The number of @sc{mime} parts in the article. |
25829 | 9542 @end table |
9543 | |
9544 @vindex gnus-break-pages | |
9545 | |
9546 @item gnus-break-pages | |
9547 Controls whether @dfn{page breaking} is to take place. If this variable | |
9548 is non-@code{nil}, the articles will be divided into pages whenever a | |
9549 page delimiter appears in the article. If this variable is @code{nil}, | |
9550 paging will not be done. | |
9551 | |
9552 @item gnus-page-delimiter | |
9553 @vindex gnus-page-delimiter | |
9554 This is the delimiter mentioned above. By default, it is @samp{^L} | |
9555 (formfeed). | |
9556 @end table | |
9557 | |
9558 | |
9559 @node Composing Messages | |
9560 @chapter Composing Messages | |
9561 @cindex composing messages | |
9562 @cindex messages | |
9563 @cindex mail | |
9564 @cindex sending mail | |
9565 @cindex reply | |
9566 @cindex followup | |
9567 @cindex post | |
9568 | |
9569 @kindex C-c C-c (Post) | |
9570 All commands for posting and mailing will put you in a message buffer | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9571 where you can edit the article all you like, before you send the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9572 article by pressing @kbd{C-c C-c}. @xref{Top, , Top, message, The |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9573 Message Manual}. Where the message will be posted/mailed to depends |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9574 on your setup (@pxref{Posting Server}). |
25829 | 9575 |
9576 @menu | |
9577 * Mail:: Mailing and replying. | |
9578 * Posting Server:: What server should you post via? | |
9579 * Mail and Post:: Mailing and posting at the same time. | |
9580 * Archived Messages:: Where Gnus stores the messages you've sent. | |
9581 * Posting Styles:: An easier way to specify who you are. | |
9582 * Drafts:: Postponing messages and rejected messages. | |
9583 * Rejected Articles:: What happens if the server doesn't like your article? | |
9584 @end menu | |
9585 | |
9586 Also see @pxref{Canceling and Superseding} for information on how to | |
9587 remove articles you shouldn't have posted. | |
9588 | |
9589 | |
9590 @node Mail | |
9591 @section Mail | |
9592 | |
9593 Variables for customizing outgoing mail: | |
9594 | |
9595 @table @code | |
9596 @item gnus-uu-digest-headers | |
9597 @vindex gnus-uu-digest-headers | |
9598 List of regexps to match headers included in digested messages. The | |
9599 headers will be included in the sequence they are matched. | |
9600 | |
9601 @item gnus-add-to-list | |
9602 @vindex gnus-add-to-list | |
9603 If non-@code{nil}, add a @code{to-list} group parameter to mail groups | |
9604 that have none when you do a @kbd{a}. | |
9605 | |
9606 @end table | |
9607 | |
9608 | |
9609 @node Posting Server | |
9610 @section Posting Server | |
9611 | |
9612 When you press those magical @kbd{C-c C-c} keys to ship off your latest | |
9613 (extremely intelligent, of course) article, where does it go? | |
9614 | |
9615 Thank you for asking. I hate you. | |
9616 | |
9617 @vindex gnus-post-method | |
9618 | |
9619 It can be quite complicated. Normally, Gnus will use the same native | |
9620 server. However. If your native server doesn't allow posting, just | |
9621 reading, you probably want to use some other server to post your | |
9622 (extremely intelligent and fabulously interesting) articles. You can | |
9623 then set the @code{gnus-post-method} to some other method: | |
9624 | |
9625 @lisp | |
9626 (setq gnus-post-method '(nnspool "")) | |
9627 @end lisp | |
9628 | |
9629 Now, if you've done this, and then this server rejects your article, or | |
9630 this server is down, what do you do then? To override this variable you | |
9631 can use a non-zero prefix to the @kbd{C-c C-c} command to force using | |
9632 the ``current'' server for posting. | |
9633 | |
9634 If you give a zero prefix (i.e., @kbd{C-u 0 C-c C-c}) to that command, | |
9635 Gnus will prompt you for what method to use for posting. | |
9636 | |
9637 You can also set @code{gnus-post-method} to a list of select methods. | |
9638 If that's the case, Gnus will always prompt you for what method to use | |
9639 for posting. | |
9640 | |
9641 Finally, if you want to always post using the same select method as | |
9642 you're reading from (which might be convenient if you're reading lots of | |
9643 groups from different private servers), you can set this variable to | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9644 @code{current}. |
25829 | 9645 |
9646 | |
9647 @node Mail and Post | |
9648 @section Mail and Post | |
9649 | |
9650 Here's a list of variables relevant to both mailing and | |
9651 posting: | |
9652 | |
9653 @table @code | |
9654 @item gnus-mailing-list-groups | |
9655 @findex gnus-mailing-list-groups | |
9656 @cindex mailing lists | |
9657 | |
9658 If your news server offers groups that are really mailing lists | |
9659 gatewayed to the @sc{nntp} server, you can read those groups without | |
9660 problems, but you can't post/followup to them without some difficulty. | |
9661 One solution is to add a @code{to-address} to the group parameters | |
9662 (@pxref{Group Parameters}). An easier thing to do is set the | |
9663 @code{gnus-mailing-list-groups} to a regexp that matches the groups that | |
9664 really are mailing lists. Then, at least, followups to the mailing | |
9665 lists will work most of the time. Posting to these groups (@kbd{a}) is | |
9666 still a pain, though. | |
9667 | |
9668 @end table | |
9669 | |
9670 You may want to do spell-checking on messages that you send out. Or, if | |
9671 you don't want to spell-check by hand, you could add automatic | |
9672 spell-checking via the @code{ispell} package: | |
9673 | |
9674 @cindex ispell | |
9675 @findex ispell-message | |
9676 @lisp | |
9677 (add-hook 'message-send-hook 'ispell-message) | |
9678 @end lisp | |
9679 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9680 If you want to change the @code{ispell} dictionary based on what group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9681 you're in, you could say something like the following: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9682 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9683 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9684 (add-hook 'gnus-select-group-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9685 (lambda () |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9686 (cond |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9687 ((string-match "^de\\." gnus-newsgroup-name) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9688 (ispell-change-dictionary "deutsch")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9689 (t |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9690 (ispell-change-dictionary "english"))))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9691 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9692 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9693 Modify to suit your needs. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9694 |
25829 | 9695 |
9696 @node Archived Messages | |
9697 @section Archived Messages | |
9698 @cindex archived messages | |
9699 @cindex sent messages | |
9700 | |
9701 Gnus provides a few different methods for storing the mail and news you | |
9702 send. The default method is to use the @dfn{archive virtual server} to | |
9703 store the messages. If you want to disable this completely, the | |
9704 @code{gnus-message-archive-group} variable should be @code{nil}, which | |
9705 is the default. | |
9706 | |
9707 @vindex gnus-message-archive-method | |
9708 @code{gnus-message-archive-method} says what virtual server Gnus is to | |
9709 use to store sent messages. The default is: | |
9710 | |
9711 @lisp | |
9712 (nnfolder "archive" | |
9713 (nnfolder-directory "~/Mail/archive") | |
9714 (nnfolder-active-file "~/Mail/archive/active") | |
9715 (nnfolder-get-new-mail nil) | |
9716 (nnfolder-inhibit-expiry t)) | |
9717 @end lisp | |
9718 | |
9719 You can, however, use any mail select method (@code{nnml}, | |
35073 | 9720 @code{nnmbox}, etc.). @code{nnfolder} is a quite likable select method |
25829 | 9721 for doing this sort of thing, though. If you don't like the default |
9722 directory chosen, you could say something like: | |
9723 | |
9724 @lisp | |
9725 (setq gnus-message-archive-method | |
9726 '(nnfolder "archive" | |
9727 (nnfolder-inhibit-expiry t) | |
9728 (nnfolder-active-file "~/News/sent-mail/active") | |
9729 (nnfolder-directory "~/News/sent-mail/"))) | |
9730 @end lisp | |
9731 | |
9732 @vindex gnus-message-archive-group | |
9733 @cindex Gcc | |
9734 Gnus will insert @code{Gcc} headers in all outgoing messages that point | |
9735 to one or more group(s) on that server. Which group to use is | |
9736 determined by the @code{gnus-message-archive-group} variable. | |
9737 | |
9738 This variable can be used to do the following: | |
9739 | |
9740 @itemize @bullet | |
9741 @item a string | |
9742 Messages will be saved in that group. | |
33078 | 9743 |
9744 Note that you can include a select method in the group name, then the | |
9745 message will not be stored in the select method given by | |
9746 @code{gnus-message-archive-method}, but in the select method specified | |
9747 by the group name, instead. Suppose @code{gnus-message-archive-method} | |
9748 has the default value shown above. Then setting | |
9749 @code{gnus-message-archive-group} to @code{"foo"} means that outgoing | |
9750 messages are stored in @samp{nnfolder+archive:foo}, but if you use the | |
9751 value @code{"nnml:foo"}, then outgoing messages will be stored in | |
9752 @samp{nnml:foo}. | |
25829 | 9753 @item a list of strings |
9754 Messages will be saved in all those groups. | |
9755 @item an alist of regexps, functions and forms | |
9756 When a key ``matches'', the result is used. | |
9757 @item @code{nil} | |
9758 No message archiving will take place. This is the default. | |
9759 @end itemize | |
9760 | |
9761 Let's illustrate: | |
9762 | |
9763 Just saving to a single group called @samp{MisK}: | |
9764 @lisp | |
9765 (setq gnus-message-archive-group "MisK") | |
9766 @end lisp | |
9767 | |
9768 Saving to two groups, @samp{MisK} and @samp{safe}: | |
9769 @lisp | |
9770 (setq gnus-message-archive-group '("MisK" "safe")) | |
9771 @end lisp | |
9772 | |
9773 Save to different groups based on what group you are in: | |
9774 @lisp | |
9775 (setq gnus-message-archive-group | |
9776 '(("^alt" "sent-to-alt") | |
9777 ("mail" "sent-to-mail") | |
9778 (".*" "sent-to-misc"))) | |
9779 @end lisp | |
9780 | |
9781 More complex stuff: | |
9782 @lisp | |
9783 (setq gnus-message-archive-group | |
9784 '((if (message-news-p) | |
9785 "misc-news" | |
9786 "misc-mail"))) | |
9787 @end lisp | |
9788 | |
9789 How about storing all news messages in one file, but storing all mail | |
9790 messages in one file per month: | |
9791 | |
9792 @lisp | |
9793 (setq gnus-message-archive-group | |
9794 '((if (message-news-p) | |
9795 "misc-news" | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9796 (concat "mail." (format-time-string "%Y-%m"))))) |
25829 | 9797 @end lisp |
9798 | |
9799 (XEmacs 19.13 doesn't have @code{format-time-string}, so you'll have to | |
9800 use a different value for @code{gnus-message-archive-group} there.) | |
9801 | |
9802 Now, when you send a message off, it will be stored in the appropriate | |
9803 group. (If you want to disable storing for just one particular message, | |
9804 you can just remove the @code{Gcc} header that has been inserted.) The | |
9805 archive group will appear in the group buffer the next time you start | |
9806 Gnus, or the next time you press @kbd{F} in the group buffer. You can | |
9807 enter it and read the articles in it just like you'd read any other | |
9808 group. If the group gets really big and annoying, you can simply rename | |
9809 if (using @kbd{G r} in the group buffer) to something | |
9810 nice---@samp{misc-mail-september-1995}, or whatever. New messages will | |
9811 continue to be stored in the old (now empty) group. | |
9812 | |
9813 That's the default method of archiving sent messages. Gnus offers a | |
9814 different way for the people who don't like the default method. In that | |
9815 case you should set @code{gnus-message-archive-group} to @code{nil}; | |
9816 this will disable archiving. | |
9817 | |
9818 @table @code | |
9819 @item gnus-outgoing-message-group | |
9820 @vindex gnus-outgoing-message-group | |
9821 All outgoing messages will be put in this group. If you want to store | |
9822 all your outgoing mail and articles in the group @samp{nnml:archive}, | |
9823 you set this variable to that value. This variable can also be a list of | |
9824 group names. | |
9825 | |
9826 If you want to have greater control over what group to put each | |
9827 message in, you can set this variable to a function that checks the | |
9828 current newsgroup name and then returns a suitable group name (or list | |
9829 of names). | |
9830 | |
9831 This variable can be used instead of @code{gnus-message-archive-group}, | |
9832 but the latter is the preferred method. | |
9833 @end table | |
9834 | |
9835 | |
9836 @node Posting Styles | |
9837 @section Posting Styles | |
9838 @cindex posting styles | |
9839 @cindex styles | |
9840 | |
9841 All them variables, they make my head swim. | |
9842 | |
9843 So what if you want a different @code{Organization} and signature based | |
9844 on what groups you post to? And you post both from your home machine | |
9845 and your work machine, and you want different @code{From} lines, and so | |
9846 on? | |
9847 | |
9848 @vindex gnus-posting-styles | |
9849 One way to do stuff like that is to write clever hooks that change the | |
9850 variables you need to have changed. That's a bit boring, so somebody | |
9851 came up with the bright idea of letting the user specify these things in | |
9852 a handy alist. Here's an example of a @code{gnus-posting-styles} | |
9853 variable: | |
9854 | |
9855 @lisp | |
9856 ((".*" | |
9857 (signature "Peace and happiness") | |
9858 (organization "What me?")) | |
9859 ("^comp" | |
9860 (signature "Death to everybody")) | |
9861 ("comp.emacs.i-love-it" | |
9862 (organization "Emacs is it"))) | |
9863 @end lisp | |
9864 | |
9865 As you might surmise from this example, this alist consists of several | |
9866 @dfn{styles}. Each style will be applicable if the first element | |
9867 ``matches'', in some form or other. The entire alist will be iterated | |
9868 over, from the beginning towards the end, and each match will be | |
9869 applied, which means that attributes in later styles that match override | |
9870 the same attributes in earlier matching styles. So | |
9871 @samp{comp.programming.literate} will have the @samp{Death to everybody} | |
9872 signature and the @samp{What me?} @code{Organization} header. | |
9873 | |
9874 The first element in each style is called the @code{match}. If it's a | |
9875 string, then Gnus will try to regexp match it against the group name. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9876 If it is the symbol @code{header}, then Gnus will look for header that |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9877 match the next element in the match, and compare that to the last header |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9878 in the match. If it's a function symbol, that function will be called |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9879 with no arguments. If it's a variable symbol, then the variable will be |
25829 | 9880 referenced. If it's a list, then that list will be @code{eval}ed. In |
9881 any case, if this returns a non-@code{nil} value, then the style is said | |
9882 to @dfn{match}. | |
9883 | |
9884 Each style may contain a arbitrary amount of @dfn{attributes}. Each | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9885 attribute consists of a @code{(@var{name} . @var{value})} pair. The |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9886 attribute name can be one of @code{signature}, @code{signature-file}, |
25829 | 9887 @code{organization}, @code{address}, @code{name} or @code{body}. The |
9888 attribute name can also be a string. In that case, this will be used as | |
9889 a header name, and the value will be inserted in the headers of the | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9890 article; if the value is @code{nil}, the header name will be removed. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9891 If the attribute name is @code{eval}, the form is evaluated, and the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9892 result is thrown away. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9893 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9894 The attribute value can be a string (used verbatim), a function with |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9895 zero arguments (the return value will be used), a variable (its value |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9896 will be used) or a list (it will be @code{eval}ed and the return value |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9897 will be used). The functions and sexps are called/@code{eval}ed in the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9898 message buffer that is being set up. The headers of the current article |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9899 are available through the @code{message-reply-headers} variable. |
25829 | 9900 |
9901 If you wish to check whether the message you are about to compose is | |
9902 meant to be a news article or a mail message, you can check the values | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9903 of the @code{message-news-p} and @code{message-mail-p} functions. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9904 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9905 @findex message-mail-p |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9906 @findex message-news-p |
25829 | 9907 |
9908 So here's a new example: | |
9909 | |
9910 @lisp | |
9911 (setq gnus-posting-styles | |
9912 '((".*" | |
9913 (signature-file "~/.signature") | |
9914 (name "User Name") | |
9915 ("X-Home-Page" (getenv "WWW_HOME")) | |
9916 (organization "People's Front Against MWM")) | |
9917 ("^rec.humor" | |
9918 (signature my-funny-signature-randomizer)) | |
9919 ((equal (system-name) "gnarly") | |
9920 (signature my-quote-randomizer)) | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9921 ((message-news-p) |
25829 | 9922 (signature my-news-signature)) |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9923 (header "From\\|To" "larsi.*org" |
35614 | 9924 (Organization "Somewhere, Inc.")) |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9925 ((posting-from-work-p) |
25829 | 9926 (signature-file "~/.work-signature") |
9927 (address "user@@bar.foo") | |
9928 (body "You are fired.\n\nSincerely, your boss.") | |
9929 (organization "Important Work, Inc")) | |
35614 | 9930 ("nnml:.*" |
9931 (From (save-excursion | |
9932 (set-buffer gnus-article-buffer) | |
9933 (message-fetch-field "to")))) | |
25829 | 9934 ("^nn.+:" |
9935 (signature-file "~/.mail-signature")))) | |
9936 @end lisp | |
9937 | |
35614 | 9938 The @samp{nnml:.*} rule means that you use the @code{To} address as the |
9939 @code{From} address in all your outgoing replies, which might be handy | |
9940 if you fill many roles. | |
9941 | |
25829 | 9942 |
9943 @node Drafts | |
9944 @section Drafts | |
9945 @cindex drafts | |
9946 | |
9947 If you are writing a message (mail or news) and suddenly remember that | |
9948 you have a steak in the oven (or some pesto in the food processor, you | |
9949 craaazy vegetarians), you'll probably wish there was a method to save | |
9950 the message you are writing so that you can continue editing it some | |
9951 other day, and send it when you feel its finished. | |
9952 | |
9953 Well, don't worry about it. Whenever you start composing a message of | |
9954 some sort using the Gnus mail and post commands, the buffer you get will | |
9955 automatically associate to an article in a special @dfn{draft} group. | |
9956 If you save the buffer the normal way (@kbd{C-x C-s}, for instance), the | |
9957 article will be saved there. (Auto-save files also go to the draft | |
9958 group.) | |
9959 | |
9960 @cindex nndraft | |
9961 @vindex nndraft-directory | |
9962 The draft group is a special group (which is implemented as an | |
9963 @code{nndraft} group, if you absolutely have to know) called | |
9964 @samp{nndraft:drafts}. The variable @code{nndraft-directory} says where | |
9965 @code{nndraft} is to store its files. What makes this group special is | |
9966 that you can't tick any articles in it or mark any articles as | |
9967 read---all articles in the group are permanently unread. | |
9968 | |
9969 If the group doesn't exist, it will be created and you'll be subscribed | |
9970 to it. The only way to make it disappear from the Group buffer is to | |
9971 unsubscribe it. | |
9972 | |
9973 @c @findex gnus-dissociate-buffer-from-draft | |
9974 @c @kindex C-c M-d (Mail) | |
9975 @c @kindex C-c M-d (Post) | |
9976 @c @findex gnus-associate-buffer-with-draft | |
9977 @c @kindex C-c C-d (Mail) | |
9978 @c @kindex C-c C-d (Post) | |
9979 @c If you're writing some super-secret message that you later want to | |
9980 @c encode with PGP before sending, you may wish to turn the auto-saving | |
9981 @c (and association with the draft group) off. You never know who might be | |
9982 @c interested in reading all your extremely valuable and terribly horrible | |
9983 @c and interesting secrets. The @kbd{C-c M-d} | |
9984 @c (@code{gnus-dissociate-buffer-from-draft}) command does that for you. | |
9985 @c If you change your mind and want to turn the auto-saving back on again, | |
9986 @c @kbd{C-c C-d} (@code{gnus-associate-buffer-with-draft} does that. | |
9987 @c | |
9988 @c @vindex gnus-use-draft | |
9989 @c To leave association with the draft group off by default, set | |
9990 @c @code{gnus-use-draft} to @code{nil}. It is @code{t} by default. | |
9991 | |
9992 @findex gnus-draft-edit-message | |
9993 @kindex D e (Draft) | |
9994 When you want to continue editing the article, you simply enter the | |
9995 draft group and push @kbd{D e} (@code{gnus-draft-edit-message}) to do | |
9996 that. You will be placed in a buffer where you left off. | |
9997 | |
9998 Rejected articles will also be put in this draft group (@pxref{Rejected | |
9999 Articles}). | |
10000 | |
10001 @findex gnus-draft-send-all-messages | |
10002 @findex gnus-draft-send-message | |
10003 If you have lots of rejected messages you want to post (or mail) without | |
10004 doing further editing, you can use the @kbd{D s} command | |
10005 (@code{gnus-draft-send-message}). This command understands the | |
10006 process/prefix convention (@pxref{Process/Prefix}). The @kbd{D S} | |
10007 command (@code{gnus-draft-send-all-messages}) will ship off all messages | |
10008 in the buffer. | |
10009 | |
10010 If you have some messages that you wish not to send, you can use the | |
10011 @kbd{D t} (@code{gnus-draft-toggle-sending}) command to mark the message | |
10012 as unsendable. This is a toggling command. | |
10013 | |
10014 | |
10015 @node Rejected Articles | |
10016 @section Rejected Articles | |
10017 @cindex rejected articles | |
10018 | |
10019 Sometimes a news server will reject an article. Perhaps the server | |
10020 doesn't like your face. Perhaps it just feels miserable. Perhaps | |
10021 @emph{there be demons}. Perhaps you have included too much cited text. | |
10022 Perhaps the disk is full. Perhaps the server is down. | |
10023 | |
10024 These situations are, of course, totally beyond the control of Gnus. | |
10025 (Gnus, of course, loves the way you look, always feels great, has angels | |
10026 fluttering around inside of it, doesn't care about how much cited text | |
10027 you include, never runs full and never goes down.) So Gnus saves these | |
10028 articles until some later time when the server feels better. | |
10029 | |
10030 The rejected articles will automatically be put in a special draft group | |
10031 (@pxref{Drafts}). When the server comes back up again, you'd then | |
10032 typically enter that group and send all the articles off. | |
10033 | |
10034 | |
10035 @node Select Methods | |
10036 @chapter Select Methods | |
10037 @cindex foreign groups | |
10038 @cindex select methods | |
10039 | |
10040 A @dfn{foreign group} is a group not read by the usual (or | |
10041 default) means. It could be, for instance, a group from a different | |
10042 @sc{nntp} server, it could be a virtual group, or it could be your own | |
10043 personal mail group. | |
10044 | |
10045 A foreign group (or any group, really) is specified by a @dfn{name} and | |
10046 a @dfn{select method}. To take the latter first, a select method is a | |
39395 | 10047 list where the first element says what back end to use (e.g. @code{nntp}, |
25829 | 10048 @code{nnspool}, @code{nnml}) and the second element is the @dfn{server |
10049 name}. There may be additional elements in the select method, where the | |
39395 | 10050 value may have special meaning for the back end in question. |
25829 | 10051 |
10052 One could say that a select method defines a @dfn{virtual server}---so | |
10053 we do just that (@pxref{The Server Buffer}). | |
10054 | |
39395 | 10055 The @dfn{name} of the group is the name the back end will recognize the |
25829 | 10056 group as. |
10057 | |
10058 For instance, the group @samp{soc.motss} on the @sc{nntp} server | |
10059 @samp{some.where.edu} will have the name @samp{soc.motss} and select | |
10060 method @code{(nntp "some.where.edu")}. Gnus will call this group | |
10061 @samp{nntp+some.where.edu:soc.motss}, even though the @code{nntp} | |
39395 | 10062 back end just knows this group as @samp{soc.motss}. |
25829 | 10063 |
10064 The different methods all have their peculiarities, of course. | |
10065 | |
10066 @menu | |
10067 * The Server Buffer:: Making and editing virtual servers. | |
10068 * Getting News:: Reading USENET news with Gnus. | |
10069 * Getting Mail:: Reading your personal mail with Gnus. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10070 * Browsing the Web:: Getting messages from a plethora of Web sources. |
25829 | 10071 * Other Sources:: Reading directories, files, SOUP packets. |
10072 * Combined Groups:: Combining groups into one group. | |
10073 * Gnus Unplugged:: Reading news and mail offline. | |
10074 @end menu | |
10075 | |
10076 | |
10077 @node The Server Buffer | |
10078 @section The Server Buffer | |
10079 | |
10080 Traditionally, a @dfn{server} is a machine or a piece of software that | |
10081 one connects to, and then requests information from. Gnus does not | |
10082 connect directly to any real servers, but does all transactions through | |
39395 | 10083 one back end or other. But that's just putting one layer more between |
25829 | 10084 the actual media and Gnus, so we might just as well say that each |
39395 | 10085 back end represents a virtual server. |
10086 | |
10087 For instance, the @code{nntp} back end may be used to connect to several | |
25829 | 10088 different actual @sc{nntp} servers, or, perhaps, to many different ports |
39395 | 10089 on the same actual @sc{nntp} server. You tell Gnus which back end to |
25829 | 10090 use, and what parameters to set by specifying a @dfn{select method}. |
10091 | |
10092 These select method specifications can sometimes become quite | |
10093 complicated---say, for instance, that you want to read from the | |
10094 @sc{nntp} server @samp{news.funet.fi} on port number 13, which | |
10095 hangs if queried for @sc{nov} headers and has a buggy select. Ahem. | |
35073 | 10096 Anyway, if you had to specify that for each group that used this |
25829 | 10097 server, that would be too much work, so Gnus offers a way of naming |
10098 select methods, which is what you do in the server buffer. | |
10099 | |
10100 To enter the server buffer, use the @kbd{^} | |
10101 (@code{gnus-group-enter-server-mode}) command in the group buffer. | |
10102 | |
10103 @menu | |
10104 * Server Buffer Format:: You can customize the look of this buffer. | |
10105 * Server Commands:: Commands to manipulate servers. | |
10106 * Example Methods:: Examples server specifications. | |
10107 * Creating a Virtual Server:: An example session. | |
10108 * Server Variables:: Which variables to set. | |
10109 * Servers and Methods:: You can use server names as select methods. | |
10110 * Unavailable Servers:: Some servers you try to contact may be down. | |
10111 @end menu | |
10112 | |
10113 @vindex gnus-server-mode-hook | |
10114 @code{gnus-server-mode-hook} is run when creating the server buffer. | |
10115 | |
10116 | |
10117 @node Server Buffer Format | |
10118 @subsection Server Buffer Format | |
10119 @cindex server buffer format | |
10120 | |
10121 @vindex gnus-server-line-format | |
10122 You can change the look of the server buffer lines by changing the | |
10123 @code{gnus-server-line-format} variable. This is a @code{format}-like | |
10124 variable, with some simple extensions: | |
10125 | |
10126 @table @samp | |
10127 | |
10128 @item h | |
39395 | 10129 How the news is fetched---the back end name. |
25829 | 10130 |
10131 @item n | |
10132 The name of this server. | |
10133 | |
10134 @item w | |
10135 Where the news is to be fetched from---the address. | |
10136 | |
10137 @item s | |
10138 The opened/closed/denied status of the server. | |
10139 @end table | |
10140 | |
10141 @vindex gnus-server-mode-line-format | |
10142 The mode line can also be customized by using the | |
10143 @code{gnus-server-mode-line-format} variable (@pxref{Mode Line | |
10144 Formatting}). The following specs are understood: | |
10145 | |
10146 @table @samp | |
10147 @item S | |
10148 Server name. | |
10149 | |
10150 @item M | |
10151 Server method. | |
10152 @end table | |
10153 | |
10154 Also @pxref{Formatting Variables}. | |
10155 | |
10156 | |
10157 @node Server Commands | |
10158 @subsection Server Commands | |
10159 @cindex server commands | |
10160 | |
10161 @table @kbd | |
10162 | |
10163 @item a | |
10164 @kindex a (Server) | |
10165 @findex gnus-server-add-server | |
10166 Add a new server (@code{gnus-server-add-server}). | |
10167 | |
10168 @item e | |
10169 @kindex e (Server) | |
10170 @findex gnus-server-edit-server | |
10171 Edit a server (@code{gnus-server-edit-server}). | |
10172 | |
36028 | 10173 @item @key{SPC} |
10174 @kindex @key{SPC} (Server) | |
25829 | 10175 @findex gnus-server-read-server |
10176 Browse the current server (@code{gnus-server-read-server}). | |
10177 | |
10178 @item q | |
10179 @kindex q (Server) | |
10180 @findex gnus-server-exit | |
10181 Return to the group buffer (@code{gnus-server-exit}). | |
10182 | |
10183 @item k | |
10184 @kindex k (Server) | |
10185 @findex gnus-server-kill-server | |
10186 Kill the current server (@code{gnus-server-kill-server}). | |
10187 | |
10188 @item y | |
10189 @kindex y (Server) | |
10190 @findex gnus-server-yank-server | |
10191 Yank the previously killed server (@code{gnus-server-yank-server}). | |
10192 | |
10193 @item c | |
10194 @kindex c (Server) | |
10195 @findex gnus-server-copy-server | |
10196 Copy the current server (@code{gnus-server-copy-server}). | |
10197 | |
10198 @item l | |
10199 @kindex l (Server) | |
10200 @findex gnus-server-list-servers | |
10201 List all servers (@code{gnus-server-list-servers}). | |
10202 | |
10203 @item s | |
10204 @kindex s (Server) | |
10205 @findex gnus-server-scan-server | |
10206 Request that the server scan its sources for new articles | |
10207 (@code{gnus-server-scan-server}). This is mainly sensible with mail | |
10208 servers. | |
10209 | |
10210 @item g | |
10211 @kindex g (Server) | |
10212 @findex gnus-server-regenerate-server | |
10213 Request that the server regenerate all its data structures | |
10214 (@code{gnus-server-regenerate-server}). This can be useful if you have | |
39395 | 10215 a mail back end that has gotten out of sync. |
25829 | 10216 |
10217 @end table | |
10218 | |
10219 | |
10220 @node Example Methods | |
10221 @subsection Example Methods | |
10222 | |
10223 Most select methods are pretty simple and self-explanatory: | |
10224 | |
10225 @lisp | |
10226 (nntp "news.funet.fi") | |
10227 @end lisp | |
10228 | |
10229 Reading directly from the spool is even simpler: | |
10230 | |
10231 @lisp | |
10232 (nnspool "") | |
10233 @end lisp | |
10234 | |
10235 As you can see, the first element in a select method is the name of the | |
39395 | 10236 back end, and the second is the @dfn{address}, or @dfn{name}, if you |
25829 | 10237 will. |
10238 | |
10239 After these two elements, there may be an arbitrary number of | |
26290 | 10240 @code{(@var{variable} @var{form})} pairs. |
25829 | 10241 |
10242 To go back to the first example---imagine that you want to read from | |
10243 port 15 on that machine. This is what the select method should | |
10244 look like then: | |
10245 | |
10246 @lisp | |
10247 (nntp "news.funet.fi" (nntp-port-number 15)) | |
10248 @end lisp | |
10249 | |
39395 | 10250 You should read the documentation to each back end to find out what |
25829 | 10251 variables are relevant, but here's an @code{nnmh} example: |
10252 | |
39395 | 10253 @code{nnmh} is a mail back end that reads a spool-like structure. Say |
25829 | 10254 you have two structures that you wish to access: One is your private |
10255 mail spool, and the other is a public one. Here's the possible spec for | |
10256 your private mail: | |
10257 | |
10258 @lisp | |
10259 (nnmh "private" (nnmh-directory "~/private/mail/")) | |
10260 @end lisp | |
10261 | |
10262 (This server is then called @samp{private}, but you may have guessed | |
10263 that.) | |
10264 | |
10265 Here's the method for a public spool: | |
10266 | |
10267 @lisp | |
10268 (nnmh "public" | |
10269 (nnmh-directory "/usr/information/spool/") | |
10270 (nnmh-get-new-mail nil)) | |
10271 @end lisp | |
10272 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10273 @cindex proxy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10274 @cindex firewall |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10275 |
25829 | 10276 If you are behind a firewall and only have access to the @sc{nntp} |
10277 server from the firewall machine, you can instruct Gnus to @code{rlogin} | |
10278 on the firewall machine and telnet from there to the @sc{nntp} server. | |
10279 Doing this can be rather fiddly, but your virtual server definition | |
10280 should probably look something like this: | |
10281 | |
10282 @lisp | |
10283 (nntp "firewall" | |
10284 (nntp-address "the.firewall.machine") | |
10285 (nntp-open-connection-function nntp-open-rlogin) | |
10286 (nntp-end-of-line "\n") | |
10287 (nntp-rlogin-parameters | |
10288 ("telnet" "the.real.nntp.host" "nntp"))) | |
10289 @end lisp | |
10290 | |
10291 If you want to use the wonderful @code{ssh} program to provide a | |
10292 compressed connection over the modem line, you could create a virtual | |
10293 server that would look something like this: | |
10294 | |
10295 @lisp | |
10296 (nntp "news" | |
10297 (nntp-address "copper.uio.no") | |
10298 (nntp-rlogin-program "ssh") | |
10299 (nntp-open-connection-function nntp-open-rlogin) | |
10300 (nntp-end-of-line "\n") | |
10301 (nntp-rlogin-parameters | |
10302 ("telnet" "news.uio.no" "nntp"))) | |
10303 @end lisp | |
10304 | |
10305 This means that you have to have set up @code{ssh-agent} correctly to | |
10306 provide automatic authorization, of course. And to get a compressed | |
10307 connection, you have to have the @samp{Compression} option in the | |
10308 @code{ssh} @file{config} file. | |
10309 | |
10310 | |
10311 @node Creating a Virtual Server | |
10312 @subsection Creating a Virtual Server | |
10313 | |
10314 If you're saving lots of articles in the cache by using persistent | |
10315 articles, you may want to create a virtual server to read the cache. | |
10316 | |
10317 First you need to add a new server. The @kbd{a} command does that. It | |
10318 would probably be best to use @code{nnspool} to read the cache. You | |
10319 could also use @code{nnml} or @code{nnmh}, though. | |
10320 | |
36028 | 10321 Type @kbd{a nnspool @key{RET} cache @key{RET}}. |
25829 | 10322 |
10323 You should now have a brand new @code{nnspool} virtual server called | |
10324 @samp{cache}. You now need to edit it to have the right definitions. | |
10325 Type @kbd{e} to edit the server. You'll be entered into a buffer that | |
10326 will contain the following: | |
10327 | |
10328 @lisp | |
10329 (nnspool "cache") | |
10330 @end lisp | |
10331 | |
10332 Change that to: | |
10333 | |
10334 @lisp | |
10335 (nnspool "cache" | |
10336 (nnspool-spool-directory "~/News/cache/") | |
10337 (nnspool-nov-directory "~/News/cache/") | |
10338 (nnspool-active-file "~/News/cache/active")) | |
10339 @end lisp | |
10340 | |
10341 Type @kbd{C-c C-c} to return to the server buffer. If you now press | |
36028 | 10342 @key{RET} over this virtual server, you should be entered into a browse |
25829 | 10343 buffer, and you should be able to enter any of the groups displayed. |
10344 | |
10345 | |
10346 @node Server Variables | |
10347 @subsection Server Variables | |
10348 | |
39395 | 10349 One sticky point when defining variables (both on back ends and in Emacs |
25829 | 10350 in general) is that some variables are typically initialized from other |
10351 variables when the definition of the variables is being loaded. If you | |
10352 change the "base" variable after the variables have been loaded, you | |
10353 won't change the "derived" variables. | |
10354 | |
10355 This typically affects directory and file variables. For instance, | |
10356 @code{nnml-directory} is @file{~/Mail/} by default, and all @code{nnml} | |
10357 directory variables are initialized from that variable, so | |
10358 @code{nnml-active-file} will be @file{~/Mail/active}. If you define a | |
10359 new virtual @code{nnml} server, it will @emph{not} suffice to set just | |
10360 @code{nnml-directory}---you have to explicitly set all the file | |
10361 variables to be what you want them to be. For a complete list of | |
39395 | 10362 variables for each back end, see each back end's section later in this |
25829 | 10363 manual, but here's an example @code{nnml} definition: |
10364 | |
10365 @lisp | |
10366 (nnml "public" | |
10367 (nnml-directory "~/my-mail/") | |
10368 (nnml-active-file "~/my-mail/active") | |
10369 (nnml-newsgroups-file "~/my-mail/newsgroups")) | |
10370 @end lisp | |
10371 | |
10372 | |
10373 @node Servers and Methods | |
10374 @subsection Servers and Methods | |
10375 | |
10376 Wherever you would normally use a select method | |
10377 (e.g. @code{gnus-secondary-select-method}, in the group select method, | |
10378 when browsing a foreign server) you can use a virtual server name | |
10379 instead. This could potentially save lots of typing. And it's nice all | |
10380 over. | |
10381 | |
10382 | |
10383 @node Unavailable Servers | |
10384 @subsection Unavailable Servers | |
10385 | |
10386 If a server seems to be unreachable, Gnus will mark that server as | |
10387 @code{denied}. That means that any subsequent attempt to make contact | |
10388 with that server will just be ignored. ``It can't be opened,'' Gnus | |
10389 will tell you, without making the least effort to see whether that is | |
10390 actually the case or not. | |
10391 | |
10392 That might seem quite naughty, but it does make sense most of the time. | |
10393 Let's say you have 10 groups subscribed to on server | |
10394 @samp{nephelococcygia.com}. This server is located somewhere quite far | |
10395 away from you and the machine is quite slow, so it takes 1 minute just | |
10396 to find out that it refuses connection to you today. If Gnus were to | |
10397 attempt to do that 10 times, you'd be quite annoyed, so Gnus won't | |
10398 attempt to do that. Once it has gotten a single ``connection refused'', | |
10399 it will regard that server as ``down''. | |
10400 | |
10401 So, what happens if the machine was only feeling unwell temporarily? | |
10402 How do you test to see whether the machine has come up again? | |
10403 | |
10404 You jump to the server buffer (@pxref{The Server Buffer}) and poke it | |
10405 with the following commands: | |
10406 | |
10407 @table @kbd | |
10408 | |
10409 @item O | |
10410 @kindex O (Server) | |
10411 @findex gnus-server-open-server | |
10412 Try to establish connection to the server on the current line | |
10413 (@code{gnus-server-open-server}). | |
10414 | |
10415 @item C | |
10416 @kindex C (Server) | |
10417 @findex gnus-server-close-server | |
10418 Close the connection (if any) to the server | |
10419 (@code{gnus-server-close-server}). | |
10420 | |
10421 @item D | |
10422 @kindex D (Server) | |
10423 @findex gnus-server-deny-server | |
10424 Mark the current server as unreachable | |
10425 (@code{gnus-server-deny-server}). | |
10426 | |
10427 @item M-o | |
10428 @kindex M-o (Server) | |
10429 @findex gnus-server-open-all-servers | |
10430 Open the connections to all servers in the buffer | |
10431 (@code{gnus-server-open-all-servers}). | |
10432 | |
10433 @item M-c | |
10434 @kindex M-c (Server) | |
10435 @findex gnus-server-close-all-servers | |
10436 Close the connections to all servers in the buffer | |
10437 (@code{gnus-server-close-all-servers}). | |
10438 | |
10439 @item R | |
10440 @kindex R (Server) | |
10441 @findex gnus-server-remove-denials | |
10442 Remove all marks to whether Gnus was denied connection from any servers | |
10443 (@code{gnus-server-remove-denials}). | |
10444 | |
10445 @end table | |
10446 | |
10447 | |
10448 @node Getting News | |
10449 @section Getting News | |
10450 @cindex reading news | |
39395 | 10451 @cindex news back ends |
25829 | 10452 |
10453 A newsreader is normally used for reading news. Gnus currently provides | |
10454 only two methods of getting news---it can read from an @sc{nntp} server, | |
10455 or it can read from a local spool. | |
10456 | |
10457 @menu | |
10458 * NNTP:: Reading news from an @sc{nntp} server. | |
10459 * News Spool:: Reading news from the local spool. | |
10460 @end menu | |
10461 | |
10462 | |
10463 @node NNTP | |
10464 @subsection @sc{nntp} | |
10465 @cindex nntp | |
10466 | |
10467 Subscribing to a foreign group from an @sc{nntp} server is rather easy. | |
10468 You just specify @code{nntp} as method and the address of the @sc{nntp} | |
10469 server as the, uhm, address. | |
10470 | |
10471 If the @sc{nntp} server is located at a non-standard port, setting the | |
10472 third element of the select method to this port number should allow you | |
10473 to connect to the right port. You'll have to edit the group info for | |
10474 that (@pxref{Foreign Groups}). | |
10475 | |
10476 The name of the foreign group can be the same as a native group. In | |
10477 fact, you can subscribe to the same group from as many different servers | |
10478 you feel like. There will be no name collisions. | |
10479 | |
10480 The following variables can be used to create a virtual @code{nntp} | |
10481 server: | |
10482 | |
10483 @table @code | |
10484 | |
10485 @item nntp-server-opened-hook | |
10486 @vindex nntp-server-opened-hook | |
10487 @cindex @sc{mode reader} | |
10488 @cindex authinfo | |
10489 @cindex authentification | |
10490 @cindex nntp authentification | |
10491 @findex nntp-send-authinfo | |
10492 @findex nntp-send-mode-reader | |
10493 is run after a connection has been made. It can be used to send | |
10494 commands to the @sc{nntp} server after it has been contacted. By | |
10495 default it sends the command @code{MODE READER} to the server with the | |
10496 @code{nntp-send-mode-reader} function. This function should always be | |
10497 present in this hook. | |
10498 | |
10499 @item nntp-authinfo-function | |
10500 @vindex nntp-authinfo-function | |
10501 @findex nntp-send-authinfo | |
10502 @vindex nntp-authinfo-file | |
10503 This function will be used to send @samp{AUTHINFO} to the @sc{nntp} | |
10504 server. The default function is @code{nntp-send-authinfo}, which looks | |
10505 through your @file{~/.authinfo} (or whatever you've set the | |
10506 @code{nntp-authinfo-file} variable to) for applicable entries. If none | |
10507 are found, it will prompt you for a login name and a password. The | |
10508 format of the @file{~/.authinfo} file is (almost) the same as the | |
10509 @code{ftp} @file{~/.netrc} file, which is defined in the @code{ftp} | |
10510 manual page, but here are the salient facts: | |
10511 | |
10512 @enumerate | |
10513 @item | |
10514 The file contains one or more line, each of which define one server. | |
10515 | |
10516 @item | |
35614 | 10517 Each line may contain an arbitrary number of token/value pairs. |
10518 | |
34547 | 10519 The valid tokens include @samp{machine}, @samp{login}, @samp{password}, |
10520 @samp{default}. In addition Gnus introduces two new tokens, not present | |
10521 in the original @file{.netrc}/@code{ftp} syntax, namely @samp{port} and | |
10522 @samp{force}. (This is the only way the @file{.authinfo} file format | |
10523 deviates from the @file{.netrc} file format.) @samp{port} is used to | |
10524 indicate what port on the server the credentials apply to and | |
10525 @samp{force} is explained below. | |
25829 | 10526 |
10527 @end enumerate | |
10528 | |
10529 Here's an example file: | |
10530 | |
10531 @example | |
10532 machine news.uio.no login larsi password geheimnis | |
10533 machine nntp.ifi.uio.no login larsi force yes | |
10534 @end example | |
10535 | |
10536 The token/value pairs may appear in any order; @samp{machine} doesn't | |
10537 have to be first, for instance. | |
10538 | |
10539 In this example, both login name and password have been supplied for the | |
10540 former server, while the latter has only the login name listed, and the | |
10541 user will be prompted for the password. The latter also has the | |
10542 @samp{force} tag, which means that the authinfo will be sent to the | |
10543 @var{nntp} server upon connection; the default (i.e., when there is not | |
10544 @samp{force} tag) is to not send authinfo to the @var{nntp} server | |
10545 until the @var{nntp} server asks for it. | |
10546 | |
10547 You can also add @samp{default} lines that will apply to all servers | |
10548 that don't have matching @samp{machine} lines. | |
10549 | |
10550 @example | |
10551 default force yes | |
10552 @end example | |
10553 | |
10554 This will force sending @samp{AUTHINFO} commands to all servers not | |
10555 previously mentioned. | |
10556 | |
10557 Remember to not leave the @file{~/.authinfo} file world-readable. | |
10558 | |
10559 @item nntp-server-action-alist | |
10560 @vindex nntp-server-action-alist | |
10561 This is a list of regexps to match on server types and actions to be | |
10562 taken when matches are made. For instance, if you want Gnus to beep | |
10563 every time you connect to innd, you could say something like: | |
10564 | |
10565 @lisp | |
10566 (setq nntp-server-action-alist | |
10567 '(("innd" (ding)))) | |
10568 @end lisp | |
10569 | |
10570 You probably don't want to do that, though. | |
10571 | |
10572 The default value is | |
10573 | |
10574 @lisp | |
10575 '(("nntpd 1\\.5\\.11t" | |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
10576 (remove-hook 'nntp-server-opened-hook |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
10577 'nntp-send-mode-reader))) |
25829 | 10578 @end lisp |
10579 | |
10580 This ensures that Gnus doesn't send the @code{MODE READER} command to | |
10581 nntpd 1.5.11t, since that command chokes that server, I've been told. | |
10582 | |
10583 @item nntp-maximum-request | |
10584 @vindex nntp-maximum-request | |
39395 | 10585 If the @sc{nntp} server doesn't support @sc{nov} headers, this back end |
25829 | 10586 will collect headers by sending a series of @code{head} commands. To |
39395 | 10587 speed things up, the back end sends lots of these commands without |
25829 | 10588 waiting for reply, and then reads all the replies. This is controlled |
10589 by the @code{nntp-maximum-request} variable, and is 400 by default. If | |
10590 your network is buggy, you should set this to 1. | |
10591 | |
10592 @item nntp-connection-timeout | |
10593 @vindex nntp-connection-timeout | |
10594 If you have lots of foreign @code{nntp} groups that you connect to | |
10595 regularly, you're sure to have problems with @sc{nntp} servers not | |
10596 responding properly, or being too loaded to reply within reasonable | |
10597 time. This is can lead to awkward problems, which can be helped | |
10598 somewhat by setting @code{nntp-connection-timeout}. This is an integer | |
39395 | 10599 that says how many seconds the @code{nntp} back end should wait for a |
25829 | 10600 connection before giving up. If it is @code{nil}, which is the default, |
10601 no timeouts are done. | |
10602 | |
10603 @c @item nntp-command-timeout | |
10604 @c @vindex nntp-command-timeout | |
10605 @c @cindex PPP connections | |
10606 @c @cindex dynamic IP addresses | |
10607 @c If you're running Gnus on a machine that has a dynamically assigned | |
10608 @c address, Gnus may become confused. If the address of your machine | |
10609 @c changes after connecting to the @sc{nntp} server, Gnus will simply sit | |
10610 @c waiting forever for replies from the server. To help with this | |
10611 @c unfortunate problem, you can set this command to a number. Gnus will | |
10612 @c then, if it sits waiting for a reply from the server longer than that | |
10613 @c number of seconds, shut down the connection, start a new one, and resend | |
10614 @c the command. This should hopefully be transparent to the user. A | |
10615 @c likely number is 30 seconds. | |
10616 @c | |
10617 @c @item nntp-retry-on-break | |
10618 @c @vindex nntp-retry-on-break | |
10619 @c If this variable is non-@code{nil}, you can also @kbd{C-g} if Gnus | |
10620 @c hangs. This will have much the same effect as the command timeout | |
10621 @c described above. | |
10622 | |
10623 @item nntp-server-hook | |
10624 @vindex nntp-server-hook | |
10625 This hook is run as the last step when connecting to an @sc{nntp} | |
10626 server. | |
10627 | |
10628 @findex nntp-open-rlogin | |
10629 @findex nntp-open-telnet | |
10630 @findex nntp-open-network-stream | |
10631 @item nntp-open-connection-function | |
10632 @vindex nntp-open-connection-function | |
10633 This function is used to connect to the remote system. Four pre-made | |
10634 functions are supplied: | |
10635 | |
10636 @table @code | |
10637 @item nntp-open-network-stream | |
10638 This is the default, and simply connects to some port or other on the | |
10639 remote system. | |
10640 | |
10641 @item nntp-open-rlogin | |
10642 Does an @samp{rlogin} on the | |
10643 remote system, and then does a @samp{telnet} to the @sc{nntp} server | |
10644 available there. | |
10645 | |
10646 @code{nntp-open-rlogin}-related variables: | |
10647 | |
10648 @table @code | |
10649 | |
10650 @item nntp-rlogin-program | |
10651 @vindex nntp-rlogin-program | |
10652 Program used to log in on remote machines. The default is @samp{rsh}, | |
10653 but @samp{ssh} is a popular alternative. | |
10654 | |
10655 @item nntp-rlogin-parameters | |
10656 @vindex nntp-rlogin-parameters | |
10657 This list will be used as the parameter list given to @code{rsh}. | |
10658 | |
10659 @item nntp-rlogin-user-name | |
10660 @vindex nntp-rlogin-user-name | |
10661 User name on the remote system. | |
10662 | |
10663 @end table | |
10664 | |
10665 @item nntp-open-telnet | |
10666 Does a @samp{telnet} to the remote system and then another @samp{telnet} | |
10667 to get to the @sc{nntp} server. | |
10668 | |
10669 @code{nntp-open-telnet}-related variables: | |
10670 | |
10671 @table @code | |
10672 @item nntp-telnet-command | |
10673 @vindex nntp-telnet-command | |
10674 Command used to start @code{telnet}. | |
10675 | |
10676 @item nntp-telnet-switches | |
10677 @vindex nntp-telnet-switches | |
10678 List of strings to be used as the switches to the @code{telnet} command. | |
10679 | |
10680 @item nntp-telnet-user-name | |
10681 @vindex nntp-telnet-user-name | |
10682 User name for log in on the remote system. | |
10683 | |
10684 @item nntp-telnet-passwd | |
10685 @vindex nntp-telnet-passwd | |
10686 Password to use when logging in. | |
10687 | |
10688 @item nntp-telnet-parameters | |
10689 @vindex nntp-telnet-parameters | |
10690 A list of strings executed as a command after logging in | |
10691 via @code{telnet}. | |
10692 | |
10693 @item nntp-telnet-shell-prompt | |
10694 @vindex nntp-telnet-shell-prompt | |
10695 Regexp matching the shell prompt on the remote machine. The default is | |
10696 @samp{bash\\|\$ *\r?$\\|> *\r?}. | |
10697 | |
10698 @item nntp-open-telnet-envuser | |
10699 @vindex nntp-open-telnet-envuser | |
10700 If non-@code{nil}, the @code{telnet} session (client and server both) | |
10701 will support the @code{ENVIRON} option and not prompt for login name. | |
10702 This works for Solaris @code{telnet}, for instance. | |
10703 | |
10704 @end table | |
10705 | |
10706 @findex nntp-open-ssl-stream | |
10707 @item nntp-open-ssl-stream | |
10708 Opens a connection to a server over a @dfn{secure} channel. To use this | |
10709 you must have SSLay installed | |
33292 | 10710 (@uref{ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL}, and you also need |
35073 | 10711 @file{ssl.el} (from the W3 distribution, for instance). You then |
25829 | 10712 define a server as follows: |
10713 | |
10714 @lisp | |
10715 ;; Type `C-c C-c' after you've finished editing. | |
10716 ;; | |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
10717 ;; "snews" is port 563 and is predefined |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
10718 ;; in our /etc/services |
25829 | 10719 ;; |
10720 (nntp "snews.bar.com" | |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
10721 (nntp-open-connection-function |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
10722 nntp-open-ssl-stream) |
25829 | 10723 (nntp-port-number "snews") |
10724 (nntp-address "snews.bar.com")) | |
10725 @end lisp | |
10726 | |
10727 @end table | |
10728 | |
10729 @item nntp-end-of-line | |
10730 @vindex nntp-end-of-line | |
10731 String to use as end-of-line marker when talking to the @sc{nntp} | |
10732 server. This is @samp{\r\n} by default, but should be @samp{\n} when | |
10733 using @code{rlogin} to talk to the server. | |
10734 | |
10735 @item nntp-rlogin-user-name | |
10736 @vindex nntp-rlogin-user-name | |
10737 User name on the remote system when using the @code{rlogin} connect | |
10738 function. | |
10739 | |
10740 @item nntp-address | |
10741 @vindex nntp-address | |
10742 The address of the remote system running the @sc{nntp} server. | |
10743 | |
10744 @item nntp-port-number | |
10745 @vindex nntp-port-number | |
10746 Port number to connect to when using the @code{nntp-open-network-stream} | |
10747 connect function. | |
10748 | |
10749 @item nntp-buggy-select | |
10750 @vindex nntp-buggy-select | |
10751 Set this to non-@code{nil} if your select routine is buggy. | |
10752 | |
10753 @item nntp-nov-is-evil | |
10754 @vindex nntp-nov-is-evil | |
10755 If the @sc{nntp} server does not support @sc{nov}, you could set this | |
10756 variable to @code{t}, but @code{nntp} usually checks automatically whether @sc{nov} | |
10757 can be used. | |
10758 | |
10759 @item nntp-xover-commands | |
10760 @vindex nntp-xover-commands | |
10761 @cindex nov | |
10762 @cindex XOVER | |
10763 List of strings used as commands to fetch @sc{nov} lines from a | |
10764 server. The default value of this variable is @code{("XOVER" | |
10765 "XOVERVIEW")}. | |
10766 | |
10767 @item nntp-nov-gap | |
10768 @vindex nntp-nov-gap | |
10769 @code{nntp} normally sends just one big request for @sc{nov} lines to | |
10770 the server. The server responds with one huge list of lines. However, | |
10771 if you have read articles 2-5000 in the group, and only want to read | |
10772 article 1 and 5001, that means that @code{nntp} will fetch 4999 @sc{nov} | |
10773 lines that you will not need. This variable says how | |
10774 big a gap between two consecutive articles is allowed to be before the | |
10775 @code{XOVER} request is split into several request. Note that if your | |
10776 network is fast, setting this variable to a really small number means | |
10777 that fetching will probably be slower. If this variable is @code{nil}, | |
10778 @code{nntp} will never split requests. The default is 5. | |
10779 | |
10780 @item nntp-prepare-server-hook | |
10781 @vindex nntp-prepare-server-hook | |
10782 A hook run before attempting to connect to an @sc{nntp} server. | |
10783 | |
10784 @item nntp-warn-about-losing-connection | |
10785 @vindex nntp-warn-about-losing-connection | |
10786 If this variable is non-@code{nil}, some noise will be made when a | |
10787 server closes connection. | |
10788 | |
10789 @item nntp-record-commands | |
10790 @vindex nntp-record-commands | |
10791 If non-@code{nil}, @code{nntp} will log all commands it sends to the | |
35073 | 10792 @sc{nntp} server (along with a timestamp) in the @samp{*nntp-log*} |
25829 | 10793 buffer. This is useful if you are debugging a Gnus/@sc{nntp} connection |
10794 that doesn't seem to work. | |
10795 | |
10796 @end table | |
10797 | |
10798 | |
10799 @node News Spool | |
10800 @subsection News Spool | |
10801 @cindex nnspool | |
10802 @cindex news spool | |
10803 | |
10804 Subscribing to a foreign group from the local spool is extremely easy, | |
10805 and might be useful, for instance, to speed up reading groups that | |
10806 contain very big articles---@samp{alt.binaries.pictures.furniture}, for | |
10807 instance. | |
10808 | |
35073 | 10809 Anyway, you just specify @code{nnspool} as the method and @code{""} (or |
25829 | 10810 anything else) as the address. |
10811 | |
10812 If you have access to a local spool, you should probably use that as the | |
10813 native select method (@pxref{Finding the News}). It is normally faster | |
10814 than using an @code{nntp} select method, but might not be. It depends. | |
10815 You just have to try to find out what's best at your site. | |
10816 | |
10817 @table @code | |
10818 | |
10819 @item nnspool-inews-program | |
10820 @vindex nnspool-inews-program | |
10821 Program used to post an article. | |
10822 | |
10823 @item nnspool-inews-switches | |
10824 @vindex nnspool-inews-switches | |
10825 Parameters given to the inews program when posting an article. | |
10826 | |
10827 @item nnspool-spool-directory | |
10828 @vindex nnspool-spool-directory | |
10829 Where @code{nnspool} looks for the articles. This is normally | |
10830 @file{/usr/spool/news/}. | |
10831 | |
10832 @item nnspool-nov-directory | |
10833 @vindex nnspool-nov-directory | |
10834 Where @code{nnspool} will look for @sc{nov} files. This is normally | |
10835 @file{/usr/spool/news/over.view/}. | |
10836 | |
10837 @item nnspool-lib-dir | |
10838 @vindex nnspool-lib-dir | |
10839 Where the news lib dir is (@file{/usr/lib/news/} by default). | |
10840 | |
10841 @item nnspool-active-file | |
10842 @vindex nnspool-active-file | |
10843 The path to the active file. | |
10844 | |
10845 @item nnspool-newsgroups-file | |
10846 @vindex nnspool-newsgroups-file | |
10847 The path to the group descriptions file. | |
10848 | |
10849 @item nnspool-history-file | |
10850 @vindex nnspool-history-file | |
10851 The path to the news history file. | |
10852 | |
10853 @item nnspool-active-times-file | |
10854 @vindex nnspool-active-times-file | |
10855 The path to the active date file. | |
10856 | |
10857 @item nnspool-nov-is-evil | |
10858 @vindex nnspool-nov-is-evil | |
10859 If non-@code{nil}, @code{nnspool} won't try to use any @sc{nov} files | |
10860 that it finds. | |
10861 | |
10862 @item nnspool-sift-nov-with-sed | |
10863 @vindex nnspool-sift-nov-with-sed | |
10864 @cindex sed | |
10865 If non-@code{nil}, which is the default, use @code{sed} to get the | |
10866 relevant portion from the overview file. If nil, @code{nnspool} will | |
10867 load the entire file into a buffer and process it there. | |
10868 | |
10869 @end table | |
10870 | |
10871 | |
10872 @node Getting Mail | |
10873 @section Getting Mail | |
10874 @cindex reading mail | |
10875 @cindex mail | |
10876 | |
10877 Reading mail with a newsreader---isn't that just plain WeIrD? But of | |
10878 course. | |
10879 | |
10880 @menu | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10881 * Mail in a Newsreader:: Important introductory notes. |
25829 | 10882 * Getting Started Reading Mail:: A simple cookbook example. |
10883 * Splitting Mail:: How to create mail groups. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10884 * Mail Sources:: How to tell Gnus where to get mail from. |
39395 | 10885 * Mail Back End Variables:: Variables for customizing mail handling. |
25829 | 10886 * Fancy Mail Splitting:: Gnus can do hairy splitting of incoming mail. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10887 * Group Mail Splitting:: Use group customize to drive mail splitting. |
25829 | 10888 * Incorporating Old Mail:: What about the old mail you have? |
10889 * Expiring Mail:: Getting rid of unwanted mail. | |
10890 * Washing Mail:: Removing gruft from the mail you get. | |
10891 * Duplicates:: Dealing with duplicated mail. | |
39395 | 10892 * Not Reading Mail:: Using mail back ends for reading other files. |
10893 * Choosing a Mail Back End:: Gnus can read a variety of mail formats. | |
25829 | 10894 @end menu |
10895 | |
10896 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10897 @node Mail in a Newsreader |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10898 @subsection Mail in a Newsreader |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10899 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10900 If you are used to traditional mail readers, but have decided to switch |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10901 to reading mail with Gnus, you may find yourself experiencing something |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10902 of a culture shock. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10903 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10904 Gnus does not behave like traditional mail readers. If you want to make |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10905 it behave that way, you can, but it's an uphill battle. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10906 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10907 Gnus, by default, handles all its groups using the same approach. This |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10908 approach is very newsreaderly---you enter a group, see the new/unread |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10909 messages, and when you read the messages, they get marked as read, and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10910 you don't see them any more. (Unless you explicitly ask for them.) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10911 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10912 In particular, you do not do anything explicitly to delete messages. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10913 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10914 Does this mean that all the messages that have been marked as read are |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10915 deleted? How awful! |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10916 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10917 But, no, it means that old messages are @dfn{expired} according to some |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10918 scheme or other. For news messages, the expire process is controlled by |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10919 the news administrator; for mail, the expire process is controlled by |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10920 you. The expire process for mail is covered in depth in @pxref{Expiring |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10921 Mail}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10922 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10923 What many Gnus users find, after using it a while for both news and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10924 mail, is that the transport mechanism has very little to do with how |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10925 they want to treat a message. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10926 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10927 Many people subscribe to several mailing lists. These are transported |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10928 via SMTP, and are therefore mail. But we might go for weeks without |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10929 answering, or even reading these messages very carefully. We may not |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10930 need to save them because if we should need to read one again, they are |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10931 archived somewhere else. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10932 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10933 Some people have local news groups which have only a handful of readers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10934 These are transported via @sc{nntp}, and are therefore news. But we may need |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10935 to read and answer a large fraction of the messages very carefully in |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10936 order to do our work. And there may not be an archive, so we may need |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10937 to save the interesting messages the same way we would personal mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10938 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10939 The important distinction turns out to be not the transport mechanism, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10940 but other factors such as how interested we are in the subject matter, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10941 or how easy it is to retrieve the message if we need to read it again. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10942 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10943 Gnus provides many options for sorting mail into ``groups'' which behave |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10944 like newsgroups, and for treating each group (whether mail or news) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10945 differently. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10946 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10947 Some users never get comfortable using the Gnus (ahem) paradigm and wish |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10948 that Gnus should grow up and be a male, er, mail reader. It is possible |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10949 to whip Gnus into a more mailreaderly being, but, as said before, it's |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10950 not easy. People who prefer proper mail readers should try @sc{vm} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10951 instead, which is an excellent, and proper, mail reader. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10952 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10953 I don't mean to scare anybody off, but I want to make it clear that you |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10954 may be required to learn a new way of thinking about messages. After |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10955 you've been subjected to The Gnus Way, you will come to love it. I can |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10956 guarantee it. (At least the guy who sold me the Emacs Subliminal |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10957 Brain-Washing Functions that I've put into Gnus did guarantee it. You |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10958 Will Be Assimilated. You Love Gnus. You Love The Gnus Mail Way. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10959 You Do.) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10960 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10961 |
25829 | 10962 @node Getting Started Reading Mail |
10963 @subsection Getting Started Reading Mail | |
10964 | |
10965 It's quite easy to use Gnus to read your new mail. You just plonk the | |
39395 | 10966 mail back end of your choice into @code{gnus-secondary-select-methods}, |
25829 | 10967 and things will happen automatically. |
10968 | |
10969 For instance, if you want to use @code{nnml} (which is a "one file per | |
39395 | 10970 mail" back end), you could put the following in your @file{.gnus} file: |
25829 | 10971 |
10972 @lisp | |
10973 (setq gnus-secondary-select-methods | |
10974 '((nnml "private"))) | |
10975 @end lisp | |
10976 | |
39395 | 10977 Now, the next time you start Gnus, this back end will be queried for new |
25829 | 10978 articles, and it will move all the messages in your spool file to its |
10979 directory, which is @code{~/Mail/} by default. The new group that will | |
10980 be created (@samp{mail.misc}) will be subscribed, and you can read it | |
10981 like any other group. | |
10982 | |
10983 You will probably want to split the mail into several groups, though: | |
10984 | |
10985 @lisp | |
10986 (setq nnmail-split-methods | |
10987 '(("junk" "^From:.*Lars Ingebrigtsen") | |
10988 ("crazy" "^Subject:.*die\\|^Organization:.*flabby") | |
10989 ("other" ""))) | |
10990 @end lisp | |
10991 | |
10992 This will result in three new @code{nnml} mail groups being created: | |
10993 @samp{nnml:junk}, @samp{nnml:crazy}, and @samp{nnml:other}. All the | |
10994 mail that doesn't fit into the first two groups will be placed in the | |
10995 last group. | |
10996 | |
10997 This should be sufficient for reading mail with Gnus. You might want to | |
10998 give the other sections in this part of the manual a perusal, though. | |
39395 | 10999 Especially @pxref{Choosing a Mail Back End} and @pxref{Expiring Mail}. |
25829 | 11000 |
11001 | |
11002 @node Splitting Mail | |
11003 @subsection Splitting Mail | |
11004 @cindex splitting mail | |
11005 @cindex mail splitting | |
11006 | |
11007 @vindex nnmail-split-methods | |
11008 The @code{nnmail-split-methods} variable says how the incoming mail is | |
11009 to be split into groups. | |
11010 | |
11011 @lisp | |
11012 (setq nnmail-split-methods | |
11013 '(("mail.junk" "^From:.*Lars Ingebrigtsen") | |
11014 ("mail.crazy" "^Subject:.*die\\|^Organization:.*flabby") | |
11015 ("mail.other" ""))) | |
11016 @end lisp | |
11017 | |
11018 This variable is a list of lists, where the first element of each of | |
11019 these lists is the name of the mail group (they do not have to be called | |
11020 something beginning with @samp{mail}, by the way), and the second | |
11021 element is a regular expression used on the header of each mail to | |
11022 determine if it belongs in this mail group. The first string may | |
11023 contain @samp{\\1} forms, like the ones used by @code{replace-match} to | |
11024 insert sub-expressions from the matched text. For instance: | |
11025 | |
11026 @lisp | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11027 ("list.\\1" "From:.* \\(.*\\)-list@@majordomo.com") |
25829 | 11028 @end lisp |
11029 | |
11030 The second element can also be a function. In that case, it will be | |
11031 called narrowed to the headers with the first element of the rule as the | |
11032 argument. It should return a non-@code{nil} value if it thinks that the | |
11033 mail belongs in that group. | |
11034 | |
11035 The last of these groups should always be a general one, and the regular | |
11036 expression should @emph{always} be @samp{} so that it matches any mails | |
11037 that haven't been matched by any of the other regexps. (These rules are | |
11038 processed from the beginning of the alist toward the end. The first | |
11039 rule to make a match will "win", unless you have crossposting enabled. | |
11040 In that case, all matching rules will "win".) | |
11041 | |
11042 If you like to tinker with this yourself, you can set this variable to a | |
11043 function of your choice. This function will be called without any | |
11044 arguments in a buffer narrowed to the headers of an incoming mail | |
11045 message. The function should return a list of group names that it | |
11046 thinks should carry this mail message. | |
11047 | |
39395 | 11048 Note that the mail back ends are free to maul the poor, innocent, |
25829 | 11049 incoming headers all they want to. They all add @code{Lines} headers; |
11050 some add @code{X-Gnus-Group} headers; most rename the Unix mbox | |
36028 | 11051 @samp{From } line to something else. |
25829 | 11052 |
11053 @vindex nnmail-crosspost | |
39395 | 11054 The mail back ends all support cross-posting. If several regexps match, |
25829 | 11055 the mail will be ``cross-posted'' to all those groups. |
11056 @code{nnmail-crosspost} says whether to use this mechanism or not. Note | |
11057 that no articles are crossposted to the general (@samp{}) group. | |
11058 | |
11059 @vindex nnmail-crosspost-link-function | |
11060 @cindex crosspost | |
11061 @cindex links | |
11062 @code{nnmh} and @code{nnml} makes crossposts by creating hard links to | |
11063 the crossposted articles. However, not all file systems support hard | |
11064 links. If that's the case for you, set | |
11065 @code{nnmail-crosspost-link-function} to @code{copy-file}. (This | |
11066 variable is @code{add-name-to-file} by default.) | |
11067 | |
11068 @kindex M-x nnmail-split-history | |
11069 @kindex nnmail-split-history | |
11070 If you wish to see where the previous mail split put the messages, you | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11071 can use the @kbd{M-x nnmail-split-history} command. If you wish to see |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11072 where re-spooling messages would put the messages, you can use |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11073 @code{gnus-summary-respool-trace} and related commands (@pxref{Mail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11074 Group Commands}). |
25829 | 11075 |
11076 Gnus gives you all the opportunity you could possibly want for shooting | |
11077 yourself in the foot. Let's say you create a group that will contain | |
11078 all the mail you get from your boss. And then you accidentally | |
11079 unsubscribe from the group. Gnus will still put all the mail from your | |
11080 boss in the unsubscribed group, and so, when your boss mails you ``Have | |
11081 that report ready by Monday or you're fired!'', you'll never see it and, | |
11082 come Tuesday, you'll still believe that you're gainfully employed while | |
11083 you really should be out collecting empty bottles to save up for next | |
11084 month's rent money. | |
11085 | |
11086 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11087 @node Mail Sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11088 @subsection Mail Sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11089 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11090 Mail can be gotten from many different sources---the mail spool, from a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11091 POP mail server, from a procmail directory, or from a maildir, for |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11092 instance. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11093 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11094 @menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11095 * Mail Source Specifiers:: How to specify what a mail source is. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11096 * Mail Source Customization:: Some variables that influence things. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11097 * Fetching Mail:: Using the mail source specifiers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11098 @end menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11099 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11100 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11101 @node Mail Source Specifiers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11102 @subsubsection Mail Source Specifiers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11103 @cindex POP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11104 @cindex mail server |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11105 @cindex procmail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11106 @cindex mail spool |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11107 @cindex mail source |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11108 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11109 You tell Gnus how to fetch mail by setting @code{mail-sources} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11110 (@pxref{Fetching Mail}) to a @dfn{mail source specifier}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11111 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11112 Here's an example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11113 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11114 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11115 (pop :server "pop3.mailserver.com" :user "myname") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11116 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11117 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11118 As can be observed, a mail source specifier is a list where the first |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11119 element is a @dfn{mail source type}, followed by an arbitrary number of |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11120 @dfn{keywords}. Keywords that are not explicitly specified are given |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11121 default values. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11122 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11123 The following mail source types are available: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11124 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11125 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11126 @item file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11127 Get mail from a single file; typically from the mail spool. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11128 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11129 Keywords: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11130 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11131 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11132 @item :path |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11133 The path of the file. Defaults to the value of the @code{MAIL} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11134 environment variable or @file{/usr/mail/spool/user-name}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11135 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11136 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11137 An example file mail source: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11138 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11139 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11140 (file :path "/usr/spool/mail/user-name") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11141 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11142 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11143 Or using the default path: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11144 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11145 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11146 (file) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11147 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11148 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11149 If the mail spool file is not located on the local machine, it's best to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11150 use POP or @sc{imap} or the like to fetch the mail. You can not use ange-ftp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11151 file names here---it has no way to lock the mail spool while moving the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11152 mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11153 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11154 If it's impossible to set up a proper server, you can use ssh instead. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11155 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11156 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11157 (setq mail-sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11158 '((file :prescript "ssh host bin/getmail >%t"))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11159 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11160 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11161 The @samp{getmail} script would look something like the following: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11162 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11163 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11164 #!/bin/sh |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11165 # getmail - move mail from spool to stdout |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11166 # flu@@iki.fi |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11167 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11168 MOVEMAIL=/usr/lib/emacs/20.3/i386-redhat-linux/movemail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11169 TMP=$HOME/Mail/tmp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11170 rm -f $TMP; $MOVEMAIL $MAIL $TMP >/dev/null && cat $TMP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11171 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11172 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11173 Alter this script to fit find the @samp{movemail} you want to use. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11174 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11175 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11176 @item directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11177 Get mail from several files in a directory. This is typically used when |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11178 you have procmail split the incoming mail into several files. Setting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11179 @code{nnmail-scan-directory-mail-source-once} to non-nil force Gnus to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11180 scan the mail source only once. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11181 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11182 Keywords: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11183 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11184 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11185 @item :path |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11186 The path of the directory where the files are. There is no default |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11187 value. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11188 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11189 @item :suffix |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11190 Only files ending with this suffix are used. The default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11191 @samp{.spool}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11192 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11193 @item :predicate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11194 Only files that have this predicate return non-@code{nil} are returned. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11195 The default is @code{identity}. This is used as an additional |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11196 filter---only files that have the right suffix @emph{and} satisfy this |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11197 predicate are considered. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11198 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11199 @item :prescript |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11200 @itemx :postscript |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11201 Script run before/after fetching mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11202 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11203 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11204 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11205 An example directory mail source: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11206 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11207 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11208 (directory :path "/home/user-name/procmail-dir/" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11209 :suffix ".prcml") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11210 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11211 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11212 @item pop |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11213 Get mail from a POP server. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11214 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11215 Keywords: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11216 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11217 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11218 @item :server |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11219 The name of the POP server. The default is taken from the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11220 @code{MAILHOST} environment variable. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11221 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11222 @item :port |
33522 | 11223 The port number of the POP server. This can be a number (e.g.@: |
11224 @samp{:port 110}) or a string (e.g.@: @samp{:port "pop3"}). If it is a | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11225 string, it should be a service name as listed in @file{/etc/services} on |
33522 | 11226 Unix systems. The default is @samp{"pop3"}. On some systems you might |
11227 need to specify it as @samp{"pop-3"} instead. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11228 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11229 @item :user |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11230 The user name to give to the POP server. The default is the login |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11231 name. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11232 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11233 @item :password |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11234 The password to give to the POP server. If not specified, the user is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11235 prompted. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11236 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11237 @item :program |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11238 The program to use to fetch mail from the POP server. This should be |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11239 a @code{format}-like string. Here's an example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11240 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11241 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11242 fetchmail %u@@%s -P %p %t |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11243 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11244 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11245 The valid format specifier characters are: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11246 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11247 @table @samp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11248 @item t |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11249 The name of the file the mail is to be moved to. This must always be |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11250 included in this string. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11251 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11252 @item s |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11253 The name of the server. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11254 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11255 @item P |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11256 The port number of the server. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11257 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11258 @item u |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11259 The user name to use. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11260 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11261 @item p |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11262 The password to use. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11263 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11264 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11265 The values used for these specs are taken from the values you give the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11266 corresponding keywords. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11267 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11268 @item :prescript |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11269 A script to be run before fetching the mail. The syntax is the same as |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11270 the @code{:program} keyword. This can also be a function to be run. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11271 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11272 @item :postscript |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11273 A script to be run after fetching the mail. The syntax is the same as |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11274 the @code{:program} keyword. This can also be a function to be run. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11275 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11276 @item :function |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11277 The function to use to fetch mail from the POP server. The function is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11278 called with one parameter---the name of the file where the mail should |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11279 be moved to. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11280 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11281 @item :authentication |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11282 This can be either the symbol @code{password} or the symbol @code{apop} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11283 and says what authentication scheme to use. The default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11284 @code{password}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11285 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11286 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11287 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11288 If the @code{:program} and @code{:function} keywords aren't specified, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11289 @code{pop3-movemail} will be used. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11290 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11291 Here are some examples. Fetch from the default POP server, using the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11292 default user name, and default fetcher: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11293 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11294 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11295 (pop) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11296 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11297 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11298 Fetch from a named server with a named user and password: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11299 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11300 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11301 (pop :server "my.pop.server" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11302 :user "user-name" :password "secret") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11303 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11304 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11305 Use @samp{movemail} to move the mail: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11306 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11307 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11308 (pop :program "movemail po:%u %t %p") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11309 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11310 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11311 @item maildir |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11312 Get mail from a maildir. This is a type of mailbox that is supported by |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11313 at least qmail and postfix, where each file in a special directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11314 contains exactly one mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11315 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11316 Keywords: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11317 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11318 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11319 @item :path |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11320 The path of the directory where the mails are stored. The default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11321 taken from the @code{MAILDIR} environment variable or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11322 @samp{~/Maildir/}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11323 @item :subdirs |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11324 The subdirectories of the Maildir. The default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11325 @samp{("new" "cur")}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11326 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11327 @c If you sometimes look at your mail through a pop3 daemon before fetching |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11328 @c them with Gnus, you may also have to fetch your mails from the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11329 @c @code{cur} directory inside the maildir, like in the first example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11330 @c below. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11331 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11332 You can also get mails from remote hosts (because maildirs don't suffer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11333 from locking problems). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11334 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11335 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11336 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11337 Two example maildir mail sources: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11338 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11339 @lisp |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
11340 (maildir :path "/home/user-name/Maildir/" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
11341 :subdirs ("cur" "new")) |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
11342 @end lisp |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
11343 |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
11344 @lisp |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
11345 (maildir :path "/user@@remotehost.org:~/Maildir/" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
11346 :subdirs ("new")) |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11347 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11348 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11349 @item imap |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11350 Get mail from a @sc{imap} server. If you don't want to use @sc{imap} |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11351 as intended, as a network mail reading protocol (ie with nnimap), for |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11352 some reason or other, Gnus let you treat it similar to a POP server |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11353 and fetches articles from a given @sc{imap} mailbox. @xref{IMAP}, for |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11354 more information. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11355 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11356 Keywords: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11357 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11358 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11359 @item :server |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11360 The name of the @sc{imap} server. The default is taken from the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11361 @code{MAILHOST} environment variable. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11362 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11363 @item :port |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11364 The port number of the @sc{imap} server. The default is @samp{143}, or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11365 @samp{993} for SSL connections. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11366 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11367 @item :user |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11368 The user name to give to the @sc{imap} server. The default is the login |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11369 name. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11370 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11371 @item :password |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11372 The password to give to the @sc{imap} server. If not specified, the user is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11373 prompted. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11374 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11375 @item :stream |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11376 What stream to use for connecting to the server, this is one of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11377 symbols in @code{imap-stream-alist}. Right now, this means |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11378 @samp{kerberos4}, @samp{ssl} or the default @samp{network}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11379 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11380 @item :authentication |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11381 Which authenticator to use for authenticating to the server, this is one |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11382 of the symbols in @code{imap-authenticator-alist}. Right now, this |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11383 means @samp{kerberos4}, @samp{cram-md5}, @samp{anonymous} or the default |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11384 @samp{login}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11385 |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11386 @item :program |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11387 When using the `shell' :stream, the contents of this variable is |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11388 mapped into the `imap-shell-program' variable. This should be a |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11389 @code{format}-like string (or list of strings). Here's an example: |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11390 |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11391 @example |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11392 ssh %s imapd |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11393 @end example |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11394 |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11395 The valid format specifier characters are: |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11396 |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11397 @table @samp |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11398 @item s |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11399 The name of the server. |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11400 |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11401 @item l |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11402 User name from `imap-default-user'. |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11403 |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11404 @item p |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11405 The port number of the server. |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11406 @end table |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11407 |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11408 The values used for these specs are taken from the values you give the |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11409 corresponding keywords. |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
11410 |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11411 @item :mailbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11412 The name of the mailbox to get mail from. The default is @samp{INBOX} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11413 which normally is the mailbox which receive incoming mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11414 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11415 @item :predicate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11416 The predicate used to find articles to fetch. The default, @samp{UNSEEN |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11417 UNDELETED}, is probably the best choice for most people, but if you |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11418 sometimes peek in your mailbox with a @sc{imap} client and mark some |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11419 articles as read (or; SEEN) you might want to set this to @samp{nil}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11420 Then all articles in the mailbox is fetched, no matter what. For a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11421 complete list of predicates, see RFC 2060 §6.4.4. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11422 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11423 @item :fetchflag |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11424 How to flag fetched articles on the server, the default @samp{\Deleted} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11425 will mark them as deleted, an alternative would be @samp{\Seen} which |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11426 would simply mark them as read. These are the two most likely choices, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11427 but more flags are defined in RFC 2060 §2.3.2. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11428 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11429 @item :dontexpunge |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11430 If non-nil, don't remove all articles marked as deleted in the mailbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11431 after finishing the fetch. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11432 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11433 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11434 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11435 An example @sc{imap} mail source: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11436 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11437 @lisp |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
11438 (imap :server "mail.mycorp.com" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
11439 :stream kerberos4 |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
11440 :fetchflag "\\Seen") |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11441 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11442 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11443 @item webmail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11444 Get mail from a webmail server, such as www.hotmail.com, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11445 webmail.netscape.com, www.netaddress.com, www.my-deja.com. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11446 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11447 NOTE: Now mail.yahoo.com provides POP3 service, so @sc{pop} mail source |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11448 is suggested. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11449 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11450 NOTE: Webmail largely depends cookies. A "one-line-cookie" patch is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11451 required for url "4.0pre.46". |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11452 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11453 WARNING: Mails may lost. NO WARRANTY. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11454 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11455 Keywords: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11456 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11457 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11458 @item :subtype |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11459 The type of the webmail server. The default is @code{hotmail}. The |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11460 alternatives are @code{netscape}, @code{netaddress}, @code{my-deja}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11461 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11462 @item :user |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11463 The user name to give to the webmail server. The default is the login |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11464 name. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11465 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11466 @item :password |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11467 The password to give to the webmail server. If not specified, the user is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11468 prompted. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11469 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11470 @item :dontexpunge |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11471 If non-nil, only fetch unread articles and don't move them to trash |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11472 folder after finishing the fetch. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11473 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11474 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11475 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11476 An example webmail source: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11477 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11478 @lisp |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
11479 (webmail :subtype 'hotmail |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
11480 :user "user-name" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
11481 :password "secret") |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11482 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11483 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11484 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11485 @table @dfn |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11486 @item Common Keywords |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11487 Common keywords can be used in any type of mail source. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11488 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11489 Keywords: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11490 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11491 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11492 @item :plugged |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11493 If non-nil, fetch the mail even when Gnus is unplugged. If you use |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11494 directory source to get mail, you can specify it as in this example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11495 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11496 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11497 (setq mail-sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11498 '((directory :path "/home/pavel/.Spool/" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11499 :suffix "" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11500 :plugged t))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11501 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11502 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11503 Gnus will then fetch your mail even when you are unplugged. This is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11504 useful when you use local mail and news. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11505 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11506 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11507 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11508 |
35614 | 11509 @subsubsection Function Interface |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11510 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11511 Some of the above keywords specify a Lisp function to be executed. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11512 For each keyword @code{:foo}, the Lisp variable @code{foo} is bound to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11513 the value of the keyword while the function is executing. For example, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11514 consider the following mail-source setting: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11515 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11516 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11517 (setq mail-sources '((pop :user "jrl" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11518 :server "pophost" :function fetchfunc))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11519 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11520 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11521 While the function @code{fetchfunc} is executing, the symbol @code{user} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11522 is bound to @code{"jrl"}, and the symbol @code{server} is bound to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11523 @code{"pophost"}. The symbols @code{port}, @code{password}, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11524 @code{program}, @code{prescript}, @code{postscript}, @code{function}, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11525 and @code{authentication} are also bound (to their default values). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11526 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11527 See above for a list of keywords for each type of mail source. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11528 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11529 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11530 @node Mail Source Customization |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11531 @subsubsection Mail Source Customization |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11532 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11533 The following is a list of variables that influence how the mail is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11534 fetched. You would normally not need to set or change any of these |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11535 variables. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11536 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11537 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11538 @item mail-source-crash-box |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11539 @vindex mail-source-crash-box |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11540 File where mail will be stored while processing it. The default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11541 @file{~/.emacs-mail-crash-box}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11542 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11543 @item mail-source-delete-incoming |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11544 @vindex mail-source-delete-incoming |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11545 If non-@code{nil}, delete incoming files after handling them. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11546 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11547 @item mail-source-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11548 @vindex mail-source-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11549 Directory where files (if any) will be stored. The default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11550 @file{~/Mail/}. At present, the only thing this is used for is to say |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11551 where the incoming files will be stored if the previous variable is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11552 @code{nil}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11553 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11554 @item mail-source-incoming-file-prefix |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11555 @vindex mail-source-incoming-file-prefix |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11556 Prefix for file name for storing incoming mail. The default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11557 @file{Incoming}, in which case files will end up with names like |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11558 @file{Incoming30630D_} or @file{Incoming298602ZD}. This is really only |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11559 relevant if @code{mail-source-delete-incoming} is @code{nil}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11560 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11561 @item mail-source-default-file-modes |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11562 @vindex mail-source-default-file-modes |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11563 All new mail files will get this file mode. The default is 384. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11564 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11565 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11566 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11567 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11568 @node Fetching Mail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11569 @subsubsection Fetching Mail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11570 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11571 @vindex mail-sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11572 @vindex nnmail-spool-file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11573 The way to actually tell Gnus where to get new mail from is to set |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11574 @code{mail-sources} to a list of mail source specifiers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11575 (@pxref{Mail Source Specifiers}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11576 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11577 If this variable (and the obsolescent @code{nnmail-spool-file}) is |
39395 | 11578 @code{nil}, the mail back ends will never attempt to fetch mail by |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11579 themselves. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11580 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11581 If you want to fetch mail both from your local spool as well as a POP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11582 mail server, you'd say something like: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11583 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11584 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11585 (setq mail-sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11586 '((file) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11587 (pop :server "pop3.mail.server" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11588 :password "secret"))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11589 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11590 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11591 Or, if you don't want to use any of the keyword defaults: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11592 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11593 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11594 (setq mail-sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11595 '((file :path "/var/spool/mail/user-name") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11596 (pop :server "pop3.mail.server" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11597 :user "user-name" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11598 :port "pop3" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11599 :password "secret"))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11600 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11601 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11602 |
39395 | 11603 When you use a mail back end, Gnus will slurp all your mail from your |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11604 inbox and plonk it down in your home directory. Gnus doesn't move any |
39395 | 11605 mail if you're not using a mail back end---you have to do a lot of magic |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11606 invocations first. At the time when you have finished drawing the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11607 pentagram, lightened the candles, and sacrificed the goat, you really |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11608 shouldn't be too surprised when Gnus moves your mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11609 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11610 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11611 |
39395 | 11612 @node Mail Back End Variables |
11613 @subsection Mail Back End Variables | |
25829 | 11614 |
11615 These variables are (for the most part) pertinent to all the various | |
39395 | 11616 mail back ends. |
25829 | 11617 |
11618 @table @code | |
11619 @vindex nnmail-read-incoming-hook | |
11620 @item nnmail-read-incoming-hook | |
39395 | 11621 The mail back ends all call this hook after reading new mail. You can |
25829 | 11622 use this hook to notify any mail watch programs, if you want to. |
11623 | |
11624 @vindex nnmail-split-hook | |
11625 @item nnmail-split-hook | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11626 @findex article-decode-encoded-words |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11627 @findex RFC 1522 decoding |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11628 @findex RFC 2047 decoding |
25829 | 11629 Hook run in the buffer where the mail headers of each message is kept |
11630 just before the splitting based on these headers is done. The hook is | |
11631 free to modify the buffer contents in any way it sees fit---the buffer | |
11632 is discarded after the splitting has been done, and no changes performed | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11633 in the buffer will show up in any files. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11634 @code{gnus-article-decode-encoded-words} is one likely function to add |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11635 to this hook. |
25829 | 11636 |
11637 @vindex nnmail-pre-get-new-mail-hook | |
11638 @vindex nnmail-post-get-new-mail-hook | |
11639 @item nnmail-pre-get-new-mail-hook | |
11640 @itemx nnmail-post-get-new-mail-hook | |
11641 These are two useful hooks executed when treating new incoming | |
11642 mail---@code{nnmail-pre-get-new-mail-hook} (is called just before | |
11643 starting to handle the new mail) and | |
11644 @code{nnmail-post-get-new-mail-hook} (is called when the mail handling | |
11645 is done). Here's and example of using these two hooks to change the | |
11646 default file modes the new mail files get: | |
11647 | |
11648 @lisp | |
11649 (add-hook 'gnus-pre-get-new-mail-hook | |
11650 (lambda () (set-default-file-modes 511))) | |
11651 | |
11652 (add-hook 'gnus-post-get-new-mail-hook | |
11653 (lambda () (set-default-file-modes 551))) | |
11654 @end lisp | |
11655 | |
11656 @item nnmail-use-long-file-names | |
11657 @vindex nnmail-use-long-file-names | |
39395 | 11658 If non-@code{nil}, the mail back ends will use long file and directory |
25829 | 11659 names. Groups like @samp{mail.misc} will end up in directories |
39395 | 11660 (assuming use of @code{nnml} back end) or files (assuming use of |
11661 @code{nnfolder} back end) like @file{mail.misc}. If it is @code{nil}, | |
25829 | 11662 the same group will end up in @file{mail/misc}. |
11663 | |
11664 @item nnmail-delete-file-function | |
11665 @vindex nnmail-delete-file-function | |
11666 @findex delete-file | |
11667 Function called to delete files. It is @code{delete-file} by default. | |
11668 | |
11669 @item nnmail-cache-accepted-message-ids | |
11670 @vindex nnmail-cache-accepted-message-ids | |
11671 If non-@code{nil}, put the @code{Message-ID}s of articles imported into | |
39395 | 11672 the back end (via @code{Gcc}, for instance) into the mail duplication |
25829 | 11673 discovery cache. The default is @code{nil}. |
11674 | |
11675 @end table | |
11676 | |
11677 | |
11678 @node Fancy Mail Splitting | |
11679 @subsection Fancy Mail Splitting | |
11680 @cindex mail splitting | |
11681 @cindex fancy mail splitting | |
11682 | |
11683 @vindex nnmail-split-fancy | |
11684 @findex nnmail-split-fancy | |
11685 If the rather simple, standard method for specifying how to split mail | |
11686 doesn't allow you to do what you want, you can set | |
11687 @code{nnmail-split-methods} to @code{nnmail-split-fancy}. Then you can | |
11688 play with the @code{nnmail-split-fancy} variable. | |
11689 | |
11690 Let's look at an example value of this variable first: | |
11691 | |
11692 @lisp | |
11693 ;; Messages from the mailer daemon are not crossposted to any of | |
11694 ;; the ordinary groups. Warnings are put in a separate group | |
11695 ;; from real errors. | |
11696 (| ("from" mail (| ("subject" "warn.*" "mail.warning") | |
11697 "mail.misc")) | |
11698 ;; Non-error messages are crossposted to all relevant | |
11699 ;; groups, but we don't crosspost between the group for the | |
11700 ;; (ding) list and the group for other (ding) related mail. | |
11701 (& (| (any "ding@@ifi\\.uio\\.no" "ding.list") | |
11702 ("subject" "ding" "ding.misc")) | |
11703 ;; Other mailing lists... | |
11704 (any "procmail@@informatik\\.rwth-aachen\\.de" "procmail.list") | |
11705 (any "SmartList@@informatik\\.rwth-aachen\\.de" "SmartList.list") | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11706 ;; Both lists below have the same suffix, so prevent |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11707 ;; cross-posting to mkpkg.list of messages posted only to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11708 ;; the bugs- list, but allow cross-posting when the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11709 ;; message was really cross-posted. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11710 (any "bugs-mypackage@@somewhere" "mypkg.bugs") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11711 (any "mypackage@@somewhere\" - "bugs-mypackage" "mypkg.list") |
25829 | 11712 ;; People... |
11713 (any "larsi@@ifi\\.uio\\.no" "people.Lars_Magne_Ingebrigtsen")) | |
11714 ;; Unmatched mail goes to the catch all group. | |
11715 "misc.misc") | |
11716 @end lisp | |
11717 | |
11718 This variable has the format of a @dfn{split}. A split is a (possibly) | |
11719 recursive structure where each split may contain other splits. Here are | |
11720 the five possible split syntaxes: | |
11721 | |
11722 @enumerate | |
11723 | |
11724 @item | |
11725 @samp{group}: If the split is a string, that will be taken as a group | |
11726 name. Normal regexp match expansion will be done. See below for | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11727 examples. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11728 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11729 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11730 @code{(@var{field} @var{value} @code{[-} @var{restrict} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11731 @code{[@dots{}]}@code{]} @var{split})}: If the split is a list, the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11732 first element of which is a string, then store the message as |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11733 specified by @var{split}, if header @var{field} (a regexp) contains |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11734 @var{value} (also a regexp). If @var{restrict} (yet another regexp) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11735 matches some string after @var{field} and before the end of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11736 matched @var{value}, the @var{split} is ignored. If none of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11737 @var{restrict} clauses match, @var{split} is processed. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11738 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11739 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11740 @code{(| @var{split}@dots{})}: If the split is a list, and the first |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11741 element is @code{|} (vertical bar), then process each @var{split} until |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11742 one of them matches. A @var{split} is said to match if it will cause |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11743 the mail message to be stored in one or more groups. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11744 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11745 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11746 @code{(& @var{split}@dots{})}: If the split is a list, and the first |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11747 element is @code{&}, then process all @var{split}s in the list. |
25829 | 11748 |
11749 @item | |
11750 @code{junk}: If the split is the symbol @code{junk}, then don't save | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11751 this message. Use with extreme caution. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11752 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11753 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11754 @code{(: @var{function} @var{arg1} @var{arg2} @dots{})}: If the split is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11755 a list, and the first element is @code{:}, then the second element will |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11756 be called as a function with @var{args} given as arguments. The |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11757 function should return a @var{split}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11758 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11759 For instance, the following function could be used to split based on the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11760 body of the messages: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11761 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11762 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11763 (defun split-on-body () |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11764 (save-excursion |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11765 (set-buffer " *nnmail incoming*") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11766 (goto-char (point-min)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11767 (when (re-search-forward "Some.*string" nil t) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11768 "string.group"))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11769 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11770 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11771 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11772 @code{(! @var{func} @var{split})}: If the split is a list, and the first |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11773 element is @code{!}, then SPLIT will be processed, and FUNC will be |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11774 called as a function with the result of SPLIT as argument. FUNC should |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11775 return a split. |
25829 | 11776 |
11777 @item | |
11778 @code{nil}: If the split is @code{nil}, it is ignored. | |
11779 | |
11780 @end enumerate | |
11781 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11782 In these splits, @var{field} must match a complete field name. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11783 @var{value} must match a complete word according to the fundamental mode |
25829 | 11784 syntax table. You can use @code{.*} in the regexps to match partial |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11785 field names or words. In other words, all @var{value}'s are wrapped in |
25829 | 11786 @samp{\<} and @samp{\>} pairs. |
11787 | |
11788 @vindex nnmail-split-abbrev-alist | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11789 @var{field} and @var{value} can also be lisp symbols, in that case they |
25829 | 11790 are expanded as specified by the variable |
11791 @code{nnmail-split-abbrev-alist}. This is an alist of cons cells, where | |
11792 the @code{car} of a cell contains the key, and the @code{cdr} contains the associated | |
11793 value. | |
11794 | |
11795 @vindex nnmail-split-fancy-syntax-table | |
11796 @code{nnmail-split-fancy-syntax-table} is the syntax table in effect | |
11797 when all this splitting is performed. | |
11798 | |
11799 If you want to have Gnus create groups dynamically based on some | |
11800 information in the headers (i.e., do @code{replace-match}-like | |
11801 substitutions in the group names), you can say things like: | |
11802 | |
11803 @example | |
11804 (any "debian-\\b\\(\\w+\\)@@lists.debian.org" "mail.debian.\\1") | |
11805 @end example | |
11806 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11807 In this example, messages sent to @samp{debian-foo@@lists.debian.org} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11808 will be filed in @samp{mail.debian.foo}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11809 |
25829 | 11810 If the string contains the element @samp{\&}, then the previously |
11811 matched string will be substituted. Similarly, the elements @samp{\\1} | |
11812 up to @samp{\\9} will be substituted with the text matched by the | |
11813 groupings 1 through 9. | |
11814 | |
33130
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11815 @findex nnmail-split-fancy-with-parent |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11816 @code{nnmail-split-fancy-with-parent} is a function which allows you to |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11817 split followups into the same groups their parents are in. Sometimes |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11818 you can't make splitting rules for all your mail. For example, your |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11819 boss might send you personal mail regarding different projects you are |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11820 working on, and as you can't tell your boss to put a distinguishing |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11821 string into the subject line, you have to resort to manually moving the |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11822 messages into the right group. With this function, you only have to do |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11823 it once per thread. |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11824 |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11825 To use this feature, you have to set @code{nnmail-treat-duplicates} to a |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11826 non-nil value. And then you can include |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11827 @code{nnmail-split-fancy-with-parent} using the colon feature, like so: |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11828 @lisp |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11829 (setq nnmail-split-fancy |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11830 '(| (: nnmail-split-fancy-with-parent) |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11831 ;; other splits go here |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11832 )) |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11833 @end lisp |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11834 |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11835 This feature works as follows: when @code{nnmail-treat-duplicates} is |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11836 non-nil, Gnus records the message id of every message it sees in the |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11837 file specified by the variable @code{nnmail-message-id-cache-file}, |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11838 together with the group it is in (the group is omitted for non-mail |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11839 messages). When mail splitting is invoked, the function |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11840 @code{nnmail-split-fancy-with-parent} then looks at the References (and |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11841 In-Reply-To) header of each message to split and searches the file |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11842 specified by @code{nnmail-message-id-cache-file} for the message ids. |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11843 When it has found a parent, it returns the corresponding group name. It |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11844 is recommended that you set @code{nnmail-message-id-cache-length} to a |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11845 somewhat higher number than the default so that the message ids are |
34547 | 11846 still in the cache. (A value of 5000 appears to create a file some 300 |
11847 kBytes in size.) | |
11848 @vindex nnmail-cache-accepted-message-ids | |
11849 When @code{nnmail-cache-accepted-message-ids} is non-@code{nil}, Gnus | |
11850 also records the message ids of moved articles, so that the followup | |
11851 messages goes into the new group. | |
33130
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11852 |
25829 | 11853 |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11854 @node Group Mail Splitting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11855 @subsection Group Mail Splitting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11856 @cindex mail splitting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11857 @cindex group mail splitting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11858 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11859 @findex gnus-group-split |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11860 If you subscribe to dozens of mailing lists but you don't want to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11861 maintain mail splitting rules manually, group mail splitting is for you. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11862 You just have to set @var{to-list} and/or @var{to-address} in group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11863 parameters or group customization and set @code{nnmail-split-methods} to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11864 @code{gnus-group-split}. This splitting function will scan all groups |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11865 for those parameters and split mail accordingly, i.e., messages posted |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11866 from or to the addresses specified in the parameters @var{to-list} or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11867 @var{to-address} of a mail group will be stored in that group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11868 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11869 Sometimes, mailing lists have multiple addresses, and you may want mail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11870 splitting to recognize them all: just set the @var{extra-aliases} group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11871 parameter to the list of additional addresses and it's done. If you'd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11872 rather use a regular expression, set @var{split-regexp}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11873 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11874 All these parameters in a group will be used to create an |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11875 @code{nnmail-split-fancy} split, in which the @var{field} is @samp{any}, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11876 the @var{value} is a single regular expression that matches |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11877 @var{to-list}, @var{to-address}, all of @var{extra-aliases} and all |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11878 matches of @var{split-regexp}, and the @var{split} is the name of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11879 group. @var{restrict}s are also supported: just set the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11880 @var{split-exclude} parameter to a list of regular expressions. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11881 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11882 If you can't get the right split to be generated using all these |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11883 parameters, or you just need something fancier, you can set the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11884 parameter @var{split-spec} to an @code{nnmail-split-fancy} split. In |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11885 this case, all other aforementioned parameters will be ignored by |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11886 @code{gnus-group-split}. In particular, @var{split-spec} may be set to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11887 @code{nil}, in which case the group will be ignored by |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11888 @code{gnus-group-split}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11889 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11890 @vindex gnus-group-split-default-catch-all-group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11891 @code{gnus-group-split} will do cross-posting on all groups that match, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11892 by defining a single @code{&} fancy split containing one split for each |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11893 group. If a message doesn't match any split, it will be stored in the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11894 group named in @code{gnus-group-split-default-catch-all-group}, unless |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11895 some group has @var{split-spec} set to @code{catch-all}, in which case |
34547 | 11896 that group is used as the catch-all group. Even though this variable is |
11897 often used just to name a group, it may also be set to an arbitrarily | |
11898 complex fancy split (after all, a group name is a fancy split), and this | |
11899 may be useful to split mail that doesn't go to any mailing list to | |
11900 personal mail folders. Note that this fancy split is added as the last | |
11901 element of a @code{|} split list that also contains a @code{&} split | |
11902 with the rules extracted from group parameters. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11903 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11904 It's time for an example. Assume the following group parameters have |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11905 been defined: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11906 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11907 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11908 nnml:mail.bar: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11909 ((to-address . "bar@@femail.com") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11910 (split-regexp . ".*@@femail\\.com")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11911 nnml:mail.foo: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11912 ((to-list . "foo@@nowhere.gov") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11913 (extra-aliases "foo@@localhost" "foo-redist@@home") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11914 (split-exclude "bugs-foo" "rambling-foo") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11915 (admin-address . "foo-request@@nowhere.gov")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11916 nnml:mail.others: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11917 ((split-spec . catch-all)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11918 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11919 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11920 Setting @code{nnmail-split-methods} to @code{gnus-group-split} will |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11921 behave as if @code{nnmail-split-fancy} had been selected and variable |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11922 @code{nnmail-split-fancy} had been set as follows: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11923 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11924 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11925 (| (& (any "\\(bar@@femail\\.com\\|.*@@femail\\.com\\)" "mail.bar") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11926 (any "\\(foo@@nowhere\\.gov\\|foo@@localhost\\|foo-redist@@home\\)" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11927 - "bugs-foo" - "rambling-foo" "mail.foo")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11928 "mail.others") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11929 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11930 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11931 @findex gnus-group-split-fancy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11932 If you'd rather not use group splitting for all your mail groups, you |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11933 may use it for only some of them, by using @code{nnmail-split-fancy} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11934 splits like this: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11935 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11936 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11937 (: gnus-mlsplt-fancy GROUPS NO-CROSSPOST CATCH-ALL) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11938 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11939 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11940 @var{groups} may be a regular expression or a list of group names whose |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11941 parameters will be scanned to generate the output split. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11942 @var{no-crosspost} can be used to disable cross-posting; in this case, a |
34547 | 11943 single @code{|} split will be output. @var{catch-all} is the fallback |
11944 fancy split, used like @var{gnus-group-split-default-catch-all-group}. | |
11945 If @var{catch-all} is @code{nil}, or if @var{split-regexp} matches the | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11946 empty string in any selected group, no catch-all split will be issued. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11947 Otherwise, if some group has @var{split-spec} set to @code{catch-all}, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11948 this group will override the value of the @var{catch-all} argument. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11949 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11950 @findex gnus-group-split-setup |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11951 Unfortunately, scanning all groups and their parameters can be quite |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11952 slow, especially considering that it has to be done for every message. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11953 But don't despair! The function @code{gnus-group-split-setup} can be |
34547 | 11954 used to enable @code{gnus-group-split} in a much more efficient way. It |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11955 sets @code{nnmail-split-methods} to @code{nnmail-split-fancy} and sets |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11956 @code{nnmail-split-fancy} to the split produced by |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11957 @code{gnus-group-split-fancy}. Thus, the group parameters are only |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11958 scanned once, no matter how many messages are split. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11959 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11960 @findex gnus-group-split-update |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11961 However, if you change group parameters, you have to update |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11962 @code{nnmail-split-fancy} manually. You can do it by running |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11963 @code{gnus-group-split-update}. If you'd rather have it updated |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11964 automatically, just tell @code{gnus-group-split-setup} to do it for |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11965 you. For example, add to your @file{.gnus}: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11966 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11967 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11968 (gnus-group-split-setup AUTO-UPDATE CATCH-ALL) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11969 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11970 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11971 If @var{auto-update} is non-@code{nil}, @code{gnus-group-split-update} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11972 will be added to @code{nnmail-pre-get-new-mail-hook}, so you won't ever |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11973 have to worry about updating @code{nnmail-split-fancy} again. If you |
34547 | 11974 don't omit @var{catch-all} (it's optional, equivalent to @code{nil}), |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11975 @code{gnus-group-split-default-catch-all-group} will be set to its |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11976 value. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11977 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11978 @vindex gnus-group-split-updated-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11979 Because you may want to change @code{nnmail-split-fancy} after it is set |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11980 by @code{gnus-group-split-update}, this function will run |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11981 @code{gnus-group-split-updated-hook} just before finishing. |
25829 | 11982 |
11983 @node Incorporating Old Mail | |
11984 @subsection Incorporating Old Mail | |
11985 | |
11986 Most people have lots of old mail stored in various file formats. If | |
11987 you have set up Gnus to read mail using one of the spiffy Gnus mail | |
39395 | 11988 back ends, you'll probably wish to have that old mail incorporated into |
25829 | 11989 your mail groups. |
11990 | |
11991 Doing so can be quite easy. | |
11992 | |
11993 To take an example: You're reading mail using @code{nnml} | |
11994 (@pxref{Mail Spool}), and have set @code{nnmail-split-methods} to a | |
11995 satisfactory value (@pxref{Splitting Mail}). You have an old Unix mbox | |
11996 file filled with important, but old, mail. You want to move it into | |
11997 your @code{nnml} groups. | |
11998 | |
11999 Here's how: | |
12000 | |
12001 @enumerate | |
12002 @item | |
12003 Go to the group buffer. | |
12004 | |
12005 @item | |
36028 | 12006 Type @kbd{G f} and give the path to the mbox file when prompted to create an |
25829 | 12007 @code{nndoc} group from the mbox file (@pxref{Foreign Groups}). |
12008 | |
12009 @item | |
36028 | 12010 Type @key{SPC} to enter the newly created group. |
12011 | |
12012 @item | |
12013 Type @kbd{M P b} to process-mark all articles in this group's buffer | |
25829 | 12014 (@pxref{Setting Process Marks}). |
12015 | |
12016 @item | |
36028 | 12017 Type @kbd{B r} to respool all the process-marked articles, and answer |
25829 | 12018 @samp{nnml} when prompted (@pxref{Mail Group Commands}). |
12019 @end enumerate | |
12020 | |
12021 All the mail messages in the mbox file will now also be spread out over | |
12022 all your @code{nnml} groups. Try entering them and check whether things | |
12023 have gone without a glitch. If things look ok, you may consider | |
12024 deleting the mbox file, but I wouldn't do that unless I was absolutely | |
12025 sure that all the mail has ended up where it should be. | |
12026 | |
12027 Respooling is also a handy thing to do if you're switching from one mail | |
39395 | 12028 back end to another. Just respool all the mail in the old mail groups |
12029 using the new mail back end. | |
25829 | 12030 |
12031 | |
12032 @node Expiring Mail | |
12033 @subsection Expiring Mail | |
12034 @cindex article expiry | |
12035 | |
12036 Traditional mail readers have a tendency to remove mail articles when | |
12037 you mark them as read, in some way. Gnus takes a fundamentally | |
12038 different approach to mail reading. | |
12039 | |
12040 Gnus basically considers mail just to be news that has been received in | |
12041 a rather peculiar manner. It does not think that it has the power to | |
12042 actually change the mail, or delete any mail messages. If you enter a | |
12043 mail group, and mark articles as ``read'', or kill them in some other | |
12044 fashion, the mail articles will still exist on the system. I repeat: | |
12045 Gnus will not delete your old, read mail. Unless you ask it to, of | |
12046 course. | |
12047 | |
12048 To make Gnus get rid of your unwanted mail, you have to mark the | |
12049 articles as @dfn{expirable}. This does not mean that the articles will | |
12050 disappear right away, however. In general, a mail article will be | |
12051 deleted from your system if, 1) it is marked as expirable, AND 2) it is | |
12052 more than one week old. If you do not mark an article as expirable, it | |
12053 will remain on your system until hell freezes over. This bears | |
12054 repeating one more time, with some spurious capitalizations: IF you do | |
12055 NOT mark articles as EXPIRABLE, Gnus will NEVER delete those ARTICLES. | |
12056 | |
12057 @vindex gnus-auto-expirable-newsgroups | |
12058 You do not have to mark articles as expirable by hand. Groups that | |
12059 match the regular expression @code{gnus-auto-expirable-newsgroups} will | |
12060 have all articles that you read marked as expirable automatically. All | |
12061 articles marked as expirable have an @samp{E} in the first | |
12062 column in the summary buffer. | |
12063 | |
12064 By default, if you have auto expiry switched on, Gnus will mark all the | |
12065 articles you read as expirable, no matter if they were read or unread | |
12066 before. To avoid having articles marked as read marked as expirable | |
12067 automatically, you can put something like the following in your | |
12068 @file{.gnus} file: | |
12069 | |
12070 @vindex gnus-mark-article-hook | |
12071 @lisp | |
12072 (remove-hook 'gnus-mark-article-hook | |
12073 'gnus-summary-mark-read-and-unread-as-read) | |
12074 (add-hook 'gnus-mark-article-hook 'gnus-summary-mark-unread-as-read) | |
12075 @end lisp | |
12076 | |
12077 Note that making a group auto-expirable doesn't mean that all read | |
12078 articles are expired---only the articles marked as expirable | |
12079 will be expired. Also note that using the @kbd{d} command won't make | |
12080 groups expirable---only semi-automatic marking of articles as read will | |
12081 mark the articles as expirable in auto-expirable groups. | |
12082 | |
12083 Let's say you subscribe to a couple of mailing lists, and you want the | |
12084 articles you have read to disappear after a while: | |
12085 | |
12086 @lisp | |
12087 (setq gnus-auto-expirable-newsgroups | |
12088 "mail.nonsense-list\\|mail.nice-list") | |
12089 @end lisp | |
12090 | |
12091 Another way to have auto-expiry happen is to have the element | |
12092 @code{auto-expire} in the group parameters of the group. | |
12093 | |
12094 If you use adaptive scoring (@pxref{Adaptive Scoring}) and | |
12095 auto-expiring, you'll have problems. Auto-expiring and adaptive scoring | |
12096 don't really mix very well. | |
12097 | |
12098 @vindex nnmail-expiry-wait | |
12099 The @code{nnmail-expiry-wait} variable supplies the default time an | |
12100 expirable article has to live. Gnus starts counting days from when the | |
12101 message @emph{arrived}, not from when it was sent. The default is seven | |
12102 days. | |
12103 | |
12104 Gnus also supplies a function that lets you fine-tune how long articles | |
12105 are to live, based on what group they are in. Let's say you want to | |
12106 have one month expiry period in the @samp{mail.private} group, a one day | |
12107 expiry period in the @samp{mail.junk} group, and a six day expiry period | |
12108 everywhere else: | |
12109 | |
12110 @vindex nnmail-expiry-wait-function | |
12111 @lisp | |
12112 (setq nnmail-expiry-wait-function | |
12113 (lambda (group) | |
12114 (cond ((string= group "mail.private") | |
12115 31) | |
12116 ((string= group "mail.junk") | |
12117 1) | |
12118 ((string= group "important") | |
12119 'never) | |
12120 (t | |
12121 6)))) | |
12122 @end lisp | |
12123 | |
12124 The group names this function is fed are ``unadorned'' group | |
12125 names---no @samp{nnml:} prefixes and the like. | |
12126 | |
12127 The @code{nnmail-expiry-wait} variable and | |
12128 @code{nnmail-expiry-wait-function} function can either be a number (not | |
12129 necessarily an integer) or one of the symbols @code{immediate} or | |
12130 @code{never}. | |
12131 | |
12132 You can also use the @code{expiry-wait} group parameter to selectively | |
12133 change the expiry period (@pxref{Group Parameters}). | |
12134 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12135 @vindex nnmail-expiry-target |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12136 The normal action taken when expiring articles is to delete them. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12137 However, in some circumstances it might make more sense to move them to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12138 other groups instead of deleting them. The variable @code{nnmail-expiry-target} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12139 (and the @code{expiry-target} group parameter) controls this. The |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12140 variable supplies a default value for all groups, which can be |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12141 overridden for specific groups by the group parameter. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12142 default value is @code{delete}, but this can also be a string (which |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12143 should be the name of the group the message should be moved to), or a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12144 function (which will be called in a buffer narrowed to the message in |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12145 question, and with the name of the group being moved from as its |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12146 parameter) which should return a target -- either a group name or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12147 @code{delete}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12148 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12149 Here's an example for specifying a group name: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12150 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12151 (setq nnmail-expiry-target "nnml:expired") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12152 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12153 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12154 |
25829 | 12155 @vindex nnmail-keep-last-article |
12156 If @code{nnmail-keep-last-article} is non-@code{nil}, Gnus will never | |
12157 expire the final article in a mail newsgroup. This is to make life | |
12158 easier for procmail users. | |
12159 | |
12160 @vindex gnus-total-expirable-newsgroups | |
12161 By the way: That line up there, about Gnus never expiring non-expirable | |
12162 articles, is a lie. If you put @code{total-expire} in the group | |
12163 parameters, articles will not be marked as expirable, but all read | |
12164 articles will be put through the expiry process. Use with extreme | |
12165 caution. Even more dangerous is the | |
12166 @code{gnus-total-expirable-newsgroups} variable. All groups that match | |
12167 this regexp will have all read articles put through the expiry process, | |
12168 which means that @emph{all} old mail articles in the groups in question | |
12169 will be deleted after a while. Use with extreme caution, and don't come | |
12170 crying to me when you discover that the regexp you used matched the | |
12171 wrong group and all your important mail has disappeared. Be a | |
12172 @emph{man}! Or a @emph{woman}! Whatever you feel more comfortable | |
12173 with! So there! | |
12174 | |
12175 Most people make most of their mail groups total-expirable, though. | |
12176 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12177 @vindex gnus-inhibit-user-auto-expire |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12178 If @code{gnus-inhibit-user-auto-expire} is non-@code{nil}, user marking |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12179 commands will not mark an article as expirable, even if the group has |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12180 auto-expire turned on. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12181 |
25829 | 12182 |
12183 @node Washing Mail | |
12184 @subsection Washing Mail | |
12185 @cindex mail washing | |
12186 @cindex list server brain damage | |
12187 @cindex incoming mail treatment | |
12188 | |
12189 Mailers and list servers are notorious for doing all sorts of really, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12190 really stupid things with mail. ``Hey, RFC 822 doesn't explicitly |
25829 | 12191 prohibit us from adding the string @code{wE aRe ElItE!!!!!1!!} to the |
12192 end of all lines passing through our server, so let's do that!!!!1!'' | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12193 Yes, but RFC 822 wasn't designed to be read by morons. Things that were |
25829 | 12194 considered to be self-evident were not discussed. So. Here we are. |
12195 | |
12196 Case in point: The German version of Microsoft Exchange adds @samp{AW: | |
12197 } to the subjects of replies instead of @samp{Re: }. I could pretend to | |
12198 be shocked and dismayed by this, but I haven't got the energy. It is to | |
12199 laugh. | |
12200 | |
12201 Gnus provides a plethora of functions for washing articles while | |
12202 displaying them, but it might be nicer to do the filtering before | |
12203 storing the mail to disc. For that purpose, we have three hooks and | |
12204 various functions that can be put in these hooks. | |
12205 | |
12206 @table @code | |
12207 @item nnmail-prepare-incoming-hook | |
12208 @vindex nnmail-prepare-incoming-hook | |
12209 This hook is called before doing anything with the mail and is meant for | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12210 grand, sweeping gestures. It is called in a buffer that contains all |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12211 the new, incoming mail. Functions to be used include: |
25829 | 12212 |
12213 @table @code | |
12214 @item nnheader-ms-strip-cr | |
12215 @findex nnheader-ms-strip-cr | |
12216 Remove trailing carriage returns from each line. This is default on | |
12217 Emacs running on MS machines. | |
12218 | |
12219 @end table | |
12220 | |
12221 @item nnmail-prepare-incoming-header-hook | |
12222 @vindex nnmail-prepare-incoming-header-hook | |
12223 This hook is called narrowed to each header. It can be used when | |
12224 cleaning up the headers. Functions that can be used include: | |
12225 | |
12226 @table @code | |
12227 @item nnmail-remove-leading-whitespace | |
12228 @findex nnmail-remove-leading-whitespace | |
12229 Clear leading white space that ``helpful'' listservs have added to the | |
12230 headers to make them look nice. Aaah. | |
12231 | |
12232 @item nnmail-remove-list-identifiers | |
12233 @findex nnmail-remove-list-identifiers | |
12234 Some list servers add an identifier---for example, @samp{(idm)}---to the | |
12235 beginning of all @code{Subject} headers. I'm sure that's nice for | |
12236 people who use stone age mail readers. This function will remove | |
12237 strings that match the @code{nnmail-list-identifiers} regexp, which can | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12238 also be a list of regexp. @code{nnmail-list-identifiers} may not contain |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12239 @code{\\(..\\)}. |
25829 | 12240 |
12241 For instance, if you want to remove the @samp{(idm)} and the | |
12242 @samp{nagnagnag} identifiers: | |
12243 | |
12244 @lisp | |
12245 (setq nnmail-list-identifiers | |
12246 '("(idm)" "nagnagnag")) | |
12247 @end lisp | |
12248 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12249 This can also be done non-destructively with |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12250 @code{gnus-list-identifiers}, @xref{Article Hiding}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12251 |
25829 | 12252 @item nnmail-remove-tabs |
12253 @findex nnmail-remove-tabs | |
36028 | 12254 Translate all tab characters into space characters. |
25829 | 12255 |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12256 @item nnmail-fix-eudora-headers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12257 @findex nnmail-fix-eudora-headers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12258 @cindex Eudora |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12259 Eudora produces broken @code{References} headers, but OK |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12260 @code{In-Reply-To} headers. This function will get rid of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12261 @code{References} headers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12262 |
25829 | 12263 @end table |
12264 | |
12265 @item nnmail-prepare-incoming-message-hook | |
12266 @vindex nnmail-prepare-incoming-message-hook | |
12267 This hook is called narrowed to each message. Functions to be used | |
12268 include: | |
12269 | |
12270 @table @code | |
12271 @item article-de-quoted-unreadable | |
12272 @findex article-de-quoted-unreadable | |
12273 Decode Quoted Readable encoding. | |
12274 | |
12275 @end table | |
12276 @end table | |
12277 | |
12278 | |
12279 @node Duplicates | |
12280 @subsection Duplicates | |
12281 | |
12282 @vindex nnmail-treat-duplicates | |
12283 @vindex nnmail-message-id-cache-length | |
12284 @vindex nnmail-message-id-cache-file | |
12285 @cindex duplicate mails | |
12286 If you are a member of a couple of mailing lists, you will sometimes | |
12287 receive two copies of the same mail. This can be quite annoying, so | |
12288 @code{nnmail} checks for and treats any duplicates it might find. To do | |
12289 this, it keeps a cache of old @code{Message-ID}s--- | |
12290 @code{nnmail-message-id-cache-file}, which is @file{~/.nnmail-cache} by | |
12291 default. The approximate maximum number of @code{Message-ID}s stored | |
12292 there is controlled by the @code{nnmail-message-id-cache-length} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12293 variable, which is 1000 by default. (So 1000 @code{Message-ID}s will be |
25829 | 12294 stored.) If all this sounds scary to you, you can set |
12295 @code{nnmail-treat-duplicates} to @code{warn} (which is what it is by | |
12296 default), and @code{nnmail} won't delete duplicate mails. Instead it | |
12297 will insert a warning into the head of the mail saying that it thinks | |
12298 that this is a duplicate of a different message. | |
12299 | |
12300 This variable can also be a function. If that's the case, the function | |
12301 will be called from a buffer narrowed to the message in question with | |
12302 the @code{Message-ID} as a parameter. The function must return either | |
12303 @code{nil}, @code{warn}, or @code{delete}. | |
12304 | |
12305 You can turn this feature off completely by setting the variable to | |
12306 @code{nil}. | |
12307 | |
12308 If you want all the duplicate mails to be put into a special | |
12309 @dfn{duplicates} group, you could do that using the normal mail split | |
12310 methods: | |
12311 | |
12312 @lisp | |
12313 (setq nnmail-split-fancy | |
12314 '(| ;; Messages duplicates go to a separate group. | |
12315 ("gnus-warning" "duplication of message" "duplicate") | |
12316 ;; Message from daemons, postmaster, and the like to another. | |
12317 (any mail "mail.misc") | |
12318 ;; Other rules. | |
12319 [ ... ] )) | |
12320 @end lisp | |
12321 | |
12322 Or something like: | |
12323 @lisp | |
12324 (setq nnmail-split-methods | |
12325 '(("duplicates" "^Gnus-Warning:") | |
12326 ;; Other rules. | |
12327 [...])) | |
12328 @end lisp | |
12329 | |
12330 Here's a neat feature: If you know that the recipient reads her mail | |
12331 with Gnus, and that she has @code{nnmail-treat-duplicates} set to | |
12332 @code{delete}, you can send her as many insults as you like, just by | |
12333 using a @code{Message-ID} of a mail that you know that she's already | |
12334 received. Think of all the fun! She'll never see any of it! Whee! | |
12335 | |
12336 | |
12337 @node Not Reading Mail | |
12338 @subsection Not Reading Mail | |
12339 | |
39395 | 12340 If you start using any of the mail back ends, they have the annoying |
25829 | 12341 habit of assuming that you want to read mail with them. This might not |
12342 be unreasonable, but it might not be what you want. | |
12343 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12344 If you set @code{mail-sources} and @code{nnmail-spool-file} to |
39395 | 12345 @code{nil}, none of the back ends will ever attempt to read incoming |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12346 mail, which should help. |
25829 | 12347 |
12348 @vindex nnbabyl-get-new-mail | |
12349 @vindex nnmbox-get-new-mail | |
12350 @vindex nnml-get-new-mail | |
12351 @vindex nnmh-get-new-mail | |
12352 @vindex nnfolder-get-new-mail | |
12353 This might be too much, if, for instance, you are reading mail quite | |
12354 happily with @code{nnml} and just want to peek at some old @sc{rmail} | |
39395 | 12355 file you have stashed away with @code{nnbabyl}. All back ends have |
12356 variables called back-end-@code{get-new-mail}. If you want to disable | |
25829 | 12357 the @code{nnbabyl} mail reading, you edit the virtual server for the |
12358 group to have a setting where @code{nnbabyl-get-new-mail} to @code{nil}. | |
12359 | |
39395 | 12360 All the mail back ends will call @code{nn}*@code{-prepare-save-mail-hook} |
25829 | 12361 narrowed to the article to be saved before saving it when reading |
12362 incoming mail. | |
12363 | |
12364 | |
39395 | 12365 @node Choosing a Mail Back End |
12366 @subsection Choosing a Mail Back End | |
25829 | 12367 |
12368 Gnus will read the mail spool when you activate a mail group. The mail | |
12369 file is first copied to your home directory. What happens after that | |
12370 depends on what format you want to store your mail in. | |
12371 | |
39395 | 12372 There are five different mail back ends in the standard Gnus, and more |
12373 back ends are available separately. The mail back end most people use | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12374 (because it is the fastest and most flexible) is @code{nnml} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12375 (@pxref{Mail Spool}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12376 |
25829 | 12377 @menu |
12378 * Unix Mail Box:: Using the (quite) standard Un*x mbox. | |
12379 * Rmail Babyl:: Emacs programs use the rmail babyl format. | |
12380 * Mail Spool:: Store your mail in a private spool? | |
39395 | 12381 * MH Spool:: An mhspool-like back end. |
25829 | 12382 * Mail Folders:: Having one file for each group. |
39395 | 12383 * Comparing Mail Back Ends:: An in-depth looks at pros and cons. |
25829 | 12384 @end menu |
12385 | |
12386 | |
12387 @node Unix Mail Box | |
12388 @subsubsection Unix Mail Box | |
12389 @cindex nnmbox | |
12390 @cindex unix mail box | |
12391 | |
12392 @vindex nnmbox-active-file | |
12393 @vindex nnmbox-mbox-file | |
39395 | 12394 The @dfn{nnmbox} back end will use the standard Un*x mbox file to store |
25829 | 12395 mail. @code{nnmbox} will add extra headers to each mail article to say |
12396 which group it belongs in. | |
12397 | |
12398 Virtual server settings: | |
12399 | |
12400 @table @code | |
12401 @item nnmbox-mbox-file | |
12402 @vindex nnmbox-mbox-file | |
12403 The name of the mail box in the user's home directory. | |
12404 | |
12405 @item nnmbox-active-file | |
12406 @vindex nnmbox-active-file | |
12407 The name of the active file for the mail box. | |
12408 | |
12409 @item nnmbox-get-new-mail | |
12410 @vindex nnmbox-get-new-mail | |
12411 If non-@code{nil}, @code{nnmbox} will read incoming mail and split it | |
12412 into groups. | |
12413 @end table | |
12414 | |
12415 | |
12416 @node Rmail Babyl | |
12417 @subsubsection Rmail Babyl | |
12418 @cindex nnbabyl | |
12419 @cindex rmail mbox | |
12420 | |
12421 @vindex nnbabyl-active-file | |
12422 @vindex nnbabyl-mbox-file | |
39395 | 12423 The @dfn{nnbabyl} back end will use a babyl mail box (aka. @dfn{rmail |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12424 mbox}) to store mail. @code{nnbabyl} will add extra headers to each |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12425 mail article to say which group it belongs in. |
25829 | 12426 |
12427 Virtual server settings: | |
12428 | |
12429 @table @code | |
12430 @item nnbabyl-mbox-file | |
12431 @vindex nnbabyl-mbox-file | |
12432 The name of the rmail mbox file. | |
12433 | |
12434 @item nnbabyl-active-file | |
12435 @vindex nnbabyl-active-file | |
12436 The name of the active file for the rmail box. | |
12437 | |
12438 @item nnbabyl-get-new-mail | |
12439 @vindex nnbabyl-get-new-mail | |
12440 If non-@code{nil}, @code{nnbabyl} will read incoming mail. | |
12441 @end table | |
12442 | |
12443 | |
12444 @node Mail Spool | |
12445 @subsubsection Mail Spool | |
12446 @cindex nnml | |
12447 @cindex mail @sc{nov} spool | |
12448 | |
12449 The @dfn{nnml} spool mail format isn't compatible with any other known | |
12450 format. It should be used with some caution. | |
12451 | |
12452 @vindex nnml-directory | |
39395 | 12453 If you use this back end, Gnus will split all incoming mail into files, |
25829 | 12454 one file for each mail, and put the articles into the corresponding |
12455 directories under the directory specified by the @code{nnml-directory} | |
12456 variable. The default value is @file{~/Mail/}. | |
12457 | |
12458 You do not have to create any directories beforehand; Gnus will take | |
12459 care of all that. | |
12460 | |
12461 If you have a strict limit as to how many files you are allowed to store | |
39395 | 12462 in your account, you should not use this back end. As each mail gets its |
25829 | 12463 own file, you might very well occupy thousands of inodes within a few |
12464 weeks. If this is no problem for you, and it isn't a problem for you | |
12465 having your friendly systems administrator walking around, madly, | |
12466 shouting ``Who is eating all my inodes?! Who? Who!?!'', then you should | |
12467 know that this is probably the fastest format to use. You do not have | |
12468 to trudge through a big mbox file just to read your new mail. | |
12469 | |
39395 | 12470 @code{nnml} is probably the slowest back end when it comes to article |
25829 | 12471 splitting. It has to create lots of files, and it also generates |
12472 @sc{nov} databases for the incoming mails. This makes it the fastest | |
39395 | 12473 back end when it comes to reading mail. |
25829 | 12474 |
12475 Virtual server settings: | |
12476 | |
12477 @table @code | |
12478 @item nnml-directory | |
12479 @vindex nnml-directory | |
12480 All @code{nnml} directories will be placed under this directory. | |
12481 | |
12482 @item nnml-active-file | |
12483 @vindex nnml-active-file | |
12484 The active file for the @code{nnml} server. | |
12485 | |
12486 @item nnml-newsgroups-file | |
12487 @vindex nnml-newsgroups-file | |
12488 The @code{nnml} group descriptions file. @xref{Newsgroups File | |
12489 Format}. | |
12490 | |
12491 @item nnml-get-new-mail | |
12492 @vindex nnml-get-new-mail | |
12493 If non-@code{nil}, @code{nnml} will read incoming mail. | |
12494 | |
12495 @item nnml-nov-is-evil | |
12496 @vindex nnml-nov-is-evil | |
39395 | 12497 If non-@code{nil}, this back end will ignore any @sc{nov} files. |
25829 | 12498 |
12499 @item nnml-nov-file-name | |
12500 @vindex nnml-nov-file-name | |
12501 The name of the @sc{nov} files. The default is @file{.overview}. | |
12502 | |
12503 @item nnml-prepare-save-mail-hook | |
12504 @vindex nnml-prepare-save-mail-hook | |
12505 Hook run narrowed to an article before saving. | |
12506 | |
12507 @end table | |
12508 | |
12509 @findex nnml-generate-nov-databases | |
12510 If your @code{nnml} groups and @sc{nov} files get totally out of whack, | |
12511 you can do a complete update by typing @kbd{M-x | |
12512 nnml-generate-nov-databases}. This command will trawl through the | |
12513 entire @code{nnml} hierarchy, looking at each and every article, so it | |
12514 might take a while to complete. A better interface to this | |
12515 functionality can be found in the server buffer (@pxref{Server | |
12516 Commands}). | |
12517 | |
12518 | |
12519 @node MH Spool | |
12520 @subsubsection MH Spool | |
12521 @cindex nnmh | |
12522 @cindex mh-e mail spool | |
12523 | |
12524 @code{nnmh} is just like @code{nnml}, except that is doesn't generate | |
12525 @sc{nov} databases and it doesn't keep an active file. This makes | |
39395 | 12526 @code{nnmh} a @emph{much} slower back end than @code{nnml}, but it also |
25829 | 12527 makes it easier to write procmail scripts for. |
12528 | |
12529 Virtual server settings: | |
12530 | |
12531 @table @code | |
12532 @item nnmh-directory | |
12533 @vindex nnmh-directory | |
12534 All @code{nnmh} directories will be located under this directory. | |
12535 | |
12536 @item nnmh-get-new-mail | |
12537 @vindex nnmh-get-new-mail | |
12538 If non-@code{nil}, @code{nnmh} will read incoming mail. | |
12539 | |
12540 @item nnmh-be-safe | |
12541 @vindex nnmh-be-safe | |
12542 If non-@code{nil}, @code{nnmh} will go to ridiculous lengths to make | |
12543 sure that the articles in the folder are actually what Gnus thinks they | |
12544 are. It will check date stamps and stat everything in sight, so | |
12545 setting this to @code{t} will mean a serious slow-down. If you never | |
12546 use anything but Gnus to read the @code{nnmh} articles, you do not have | |
12547 to set this variable to @code{t}. | |
12548 @end table | |
12549 | |
12550 | |
12551 @node Mail Folders | |
12552 @subsubsection Mail Folders | |
12553 @cindex nnfolder | |
12554 @cindex mbox folders | |
12555 @cindex mail folders | |
12556 | |
39395 | 12557 @code{nnfolder} is a back end for storing each mail group in a separate |
25829 | 12558 file. Each file is in the standard Un*x mbox format. @code{nnfolder} |
12559 will add extra headers to keep track of article numbers and arrival | |
12560 dates. | |
12561 | |
12562 Virtual server settings: | |
12563 | |
12564 @table @code | |
12565 @item nnfolder-directory | |
12566 @vindex nnfolder-directory | |
12567 All the @code{nnfolder} mail boxes will be stored under this directory. | |
12568 | |
12569 @item nnfolder-active-file | |
12570 @vindex nnfolder-active-file | |
12571 The name of the active file. | |
12572 | |
12573 @item nnfolder-newsgroups-file | |
12574 @vindex nnfolder-newsgroups-file | |
12575 The name of the group descriptions file. @xref{Newsgroups File Format}. | |
12576 | |
12577 @item nnfolder-get-new-mail | |
12578 @vindex nnfolder-get-new-mail | |
12579 If non-@code{nil}, @code{nnfolder} will read incoming mail. | |
12580 | |
12581 @item nnfolder-save-buffer-hook | |
12582 @vindex nnfolder-save-buffer-hook | |
12583 @cindex backup files | |
12584 Hook run before saving the folders. Note that Emacs does the normal | |
12585 backup renaming of files even with the @code{nnfolder} buffers. If you | |
12586 wish to switch this off, you could say something like the following in | |
12587 your @file{.emacs} file: | |
12588 | |
12589 @lisp | |
12590 (defun turn-off-backup () | |
12591 (set (make-local-variable 'backup-inhibited) t)) | |
12592 | |
12593 (add-hook 'nnfolder-save-buffer-hook 'turn-off-backup) | |
12594 @end lisp | |
12595 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12596 @item nnfolder-delete-mail-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12597 @vindex nnfolder-delete-mail-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12598 Hook run in a buffer narrowed to the message that is to be deleted. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12599 This function can be used to copy the message to somewhere else, or to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12600 extract some information from it before removing it. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12601 |
25829 | 12602 @end table |
12603 | |
12604 | |
12605 @findex nnfolder-generate-active-file | |
12606 @kindex M-x nnfolder-generate-active-file | |
12607 If you have lots of @code{nnfolder}-like files you'd like to read with | |
12608 @code{nnfolder}, you can use the @kbd{M-x nnfolder-generate-active-file} | |
12609 command to make @code{nnfolder} aware of all likely files in | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12610 @code{nnfolder-directory}. This only works if you use long file names, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12611 though. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12612 |
39395 | 12613 @node Comparing Mail Back Ends |
12614 @subsubsection Comparing Mail Back Ends | |
12615 | |
12616 First, just for terminology, the @dfn{back end} is the common word for a | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12617 low-level access method---a transport, if you will, by which something |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12618 is acquired. The sense is that one's mail has to come from somewhere, |
39395 | 12619 and so selection of a suitable back end is required in order to get that |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12620 mail within spitting distance of Gnus. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12621 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12622 The same concept exists for Usenet itself: Though access to articles is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12623 typically done by @sc{nntp} these days, once upon a midnight dreary, everyone |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12624 in the world got at Usenet by running a reader on the machine where the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12625 articles lay (the machine which today we call an @sc{nntp} server), and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12626 access was by the reader stepping into the articles' directory spool |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12627 area directly. One can still select between either the @code{nntp} or |
39395 | 12628 @code{nnspool} back ends, to select between these methods, if one happens |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12629 actually to live on the server (or can see its spool directly, anyway, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12630 via NFS). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12631 |
39395 | 12632 The goal in selecting a mail back end is to pick one which |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12633 simultaneously represents a suitable way of dealing with the original |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12634 format plus leaving mail in a form that is convenient to use in the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12635 future. Here are some high and low points on each: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12636 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12637 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12638 @item nnmbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12639 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12640 UNIX systems have historically had a single, very common, and well- |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12641 defined format. All messages arrive in a single @dfn{spool file}, and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12642 they are delineated by a line whose regular expression matches |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12643 @samp{^From_}. (My notational use of @samp{_} is to indicate a space, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12644 to make it clear in this instance that this is not the RFC-specified |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12645 @samp{From:} header.) Because Emacs and therefore Gnus emanate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12646 historically from the Unix environment, it is simplest if one does not |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12647 mess a great deal with the original mailbox format, so if one chooses |
39395 | 12648 this back end, Gnus' primary activity in getting mail from the real spool |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12649 area to Gnus' preferred directory is simply to copy it, with no |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12650 (appreciable) format change in the process. It is the ``dumbest'' way |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12651 to move mail into availability in the Gnus environment. This makes it |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12652 fast to move into place, but slow to parse, when Gnus has to look at |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12653 what's where. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12654 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12655 @item nnbabyl |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12656 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12657 Once upon a time, there was the DEC-10 and DEC-20, running operating |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12658 systems called TOPS and related things, and the usual (only?) mail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12659 reading environment was a thing called Babyl. I don't know what format |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12660 was used for mail landing on the system, but Babyl had its own internal |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12661 format to which mail was converted, primarily involving creating a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12662 spool-file-like entity with a scheme for inserting Babyl-specific |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12663 headers and status bits above the top of each message in the file. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12664 RMAIL was Emacs' first mail reader, it was written by Richard Stallman, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12665 and Stallman came out of that TOPS/Babyl environment, so he wrote RMAIL |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12666 to understand the mail files folks already had in existence. Gnus (and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12667 VM, for that matter) continue to support this format because it's |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12668 perceived as having some good qualities in those mailer-specific |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12669 headers/status bits stuff. RMAIL itself still exists as well, of |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12670 course, and is still maintained by Stallman. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12671 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12672 Both of the above forms leave your mail in a single file on your |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12673 filesystem, and they must parse that entire file each time you take a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12674 look at your mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12675 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12676 @item nnml |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12677 |
39395 | 12678 @code{nnml} is the back end which smells the most as though you were |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12679 actually operating with an @code{nnspool}-accessed Usenet system. (In |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12680 fact, I believe @code{nnml} actually derived from @code{nnspool} code, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12681 lo these years ago.) One's mail is taken from the original spool file, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12682 and is then cut up into individual message files, 1:1. It maintains a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12683 Usenet-style active file (analogous to what one finds in an INN- or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12684 CNews-based news system in (for instance) @file{/var/lib/news/active}, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12685 or what is returned via the @samp{NNTP LIST} verb) and also creates |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12686 @dfn{overview} files for efficient group entry, as has been defined for |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12687 @sc{nntp} servers for some years now. It is slower in mail-splitting, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12688 due to the creation of lots of files, updates to the @code{nnml} active |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12689 file, and additions to overview files on a per-message basis, but it is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12690 extremely fast on access because of what amounts to the indexing support |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12691 provided by the active file and overviews. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12692 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12693 @code{nnml} costs @dfn{inodes} in a big way; that is, it soaks up the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12694 resource which defines available places in the filesystem to put new |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12695 files. Sysadmins take a dim view of heavy inode occupation within |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12696 tight, shared filesystems. But if you live on a personal machine where |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12697 the filesystem is your own and space is not at a premium, @code{nnml} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12698 wins big. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12699 |
39395 | 12700 It is also problematic using this back end if you are living in a |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12701 FAT16-based Windows world, since much space will be wasted on all these |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12702 tiny files. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12703 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12704 @item nnmh |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12705 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12706 The Rand MH mail-reading system has been around UNIX systems for a very |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12707 long time; it operates by splitting one's spool file of messages into |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12708 individual files, but with little or no indexing support -- @code{nnmh} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12709 is considered to be semantically equivalent to ``@code{nnml} without |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12710 active file or overviews''. This is arguably the worst choice, because |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12711 one gets the slowness of individual file creation married to the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12712 slowness of access parsing when learning what's new in one's groups. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12713 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12714 @item nnfolder |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12715 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12716 Basically the effect of @code{nnfolder} is @code{nnmbox} (the first |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12717 method described above) on a per-group basis. That is, @code{nnmbox} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12718 itself puts *all* one's mail in one file; @code{nnfolder} provides a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12719 little bit of optimization to this so that each of one's mail groups has |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12720 a Unix mail box file. It's faster than @code{nnmbox} because each group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12721 can be parsed separately, and still provides the simple Unix mail box |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12722 format requiring minimal effort in moving the mail around. In addition, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12723 it maintains an ``active'' file making it much faster for Gnus to figure |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12724 out how many messages there are in each separate group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12725 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12726 If you have groups that are expected to have a massive amount of |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12727 messages, @code{nnfolder} is not the best choice, but if you receive |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12728 only a moderate amount of mail, @code{nnfolder} is probably the most |
39395 | 12729 friendly mail back end all over. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12730 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12731 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12732 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12733 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12734 @node Browsing the Web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12735 @section Browsing the Web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12736 @cindex web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12737 @cindex browsing the web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12738 @cindex www |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12739 @cindex http |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12740 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12741 Web-based discussion forums are getting more and more popular. On many |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12742 subjects, the web-based forums have become the most important forums, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12743 eclipsing the importance of mailing lists and news groups. The reason |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12744 is easy to understand---they are friendly to new users; you just point |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12745 and click, and there's the discussion. With mailing lists, you have to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12746 go through a cumbersome subscription procedure, and most people don't |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12747 even know what a news group is. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12748 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12749 The problem with this scenario is that web browsers are not very good at |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12750 being newsreaders. They do not keep track of what articles you've read; |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12751 they do not allow you to score on subjects you're interested in; they do |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12752 not allow off-line browsing; they require you to click around and drive |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12753 you mad in the end. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12754 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12755 So---if web browsers suck at reading discussion forums, why not use Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12756 to do it instead? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12757 |
39395 | 12758 Gnus has been getting a bit of a collection of back ends for providing |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12759 interfaces to these sources. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12760 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12761 @menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12762 * Web Searches:: Creating groups from articles that match a string. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12763 * Slashdot:: Reading the Slashdot comments. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12764 * Ultimate:: The Ultimate Bulletin Board systems. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12765 * Web Archive:: Reading mailing list archived on web. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12766 * Customizing w3:: Doing stuff to Emacs/w3 from Gnus. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12767 @end menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12768 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12769 All the web sources require Emacs/w3 and the url library to work. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12770 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12771 The main caveat with all these web sources is that they probably won't |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12772 work for a very long time. Gleaning information from the @sc{html} data |
39395 | 12773 is guesswork at best, and when the layout is altered, the Gnus back end |
12774 will fail. If you have reasonably new versions of these back ends, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12775 though, you should be ok. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12776 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12777 One thing all these Web methods have in common is that the Web sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12778 are often down, unavailable or just plain too slow to be fun. In those |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12779 cases, it makes a lot of sense to let the Gnus Agent (@pxref{Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12780 Unplugged}) handle downloading articles, and then you can read them at |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12781 leisure from your local disk. No more World Wide Wait for you. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12782 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12783 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12784 @node Web Searches |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12785 @subsection Web Searches |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12786 @cindex nnweb |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12787 @cindex DejaNews |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12788 @cindex Alta Vista |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12789 @cindex InReference |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12790 @cindex Usenet searches |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12791 @cindex searching the Usenet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12792 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12793 It's, like, too neat to search the Usenet for articles that match a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12794 string, but it, like, totally @emph{sucks}, like, totally, to use one of |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12795 those, like, Web browsers, and you, like, have to, rilly, like, look at |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12796 the commercials, so, like, with Gnus you can do @emph{rad}, rilly, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12797 searches without having to use a browser. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12798 |
39395 | 12799 The @code{nnweb} back end allows an easy interface to the mighty search |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12800 engine. You create an @code{nnweb} group, enter a search pattern, and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12801 then enter the group and read the articles like you would any normal |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12802 group. The @kbd{G w} command in the group buffer (@pxref{Foreign |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12803 Groups}) will do this in an easy-to-use fashion. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12804 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12805 @code{nnweb} groups don't really lend themselves to being solid |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12806 groups---they have a very fleeting idea of article numbers. In fact, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12807 each time you enter an @code{nnweb} group (not even changing the search |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12808 pattern), you are likely to get the articles ordered in a different |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12809 manner. Not even using duplicate suppression (@pxref{Duplicate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12810 Suppression}) will help, since @code{nnweb} doesn't even know the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12811 @code{Message-ID} of the articles before reading them using some search |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12812 engines (DejaNews, for instance). The only possible way to keep track |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12813 of which articles you've read is by scoring on the @code{Date} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12814 header---mark all articles posted before the last date you read the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12815 group as read. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12816 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12817 If the search engine changes its output substantially, @code{nnweb} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12818 won't be able to parse it and will fail. One could hardly fault the Web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12819 providers if they were to do this---their @emph{raison d'être} is to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12820 make money off of advertisements, not to provide services to the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12821 community. Since @code{nnweb} washes the ads off all the articles, one |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12822 might think that the providers might be somewhat miffed. We'll see. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12823 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12824 You must have the @code{url} and @code{w3} package installed to be able |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12825 to use @code{nnweb}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12826 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12827 Virtual server variables: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12828 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12829 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12830 @item nnweb-type |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12831 @vindex nnweb-type |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12832 What search engine type is being used. The currently supported types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12833 are @code{dejanews}, @code{dejanewsold}, @code{altavista} and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12834 @code{reference}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12835 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12836 @item nnweb-search |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12837 @vindex nnweb-search |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12838 The search string to feed to the search engine. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12839 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12840 @item nnweb-max-hits |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12841 @vindex nnweb-max-hits |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12842 Advisory maximum number of hits per search to display. The default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12843 100. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12844 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12845 @item nnweb-type-definition |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12846 @vindex nnweb-type-definition |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12847 Type-to-definition alist. This alist says what @code{nnweb} should do |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12848 with the various search engine types. The following elements must be |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12849 present: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12850 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12851 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12852 @item article |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12853 Function to decode the article and provide something that Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12854 understands. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12855 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12856 @item map |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12857 Function to create an article number to message header and URL alist. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12858 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12859 @item search |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12860 Function to send the search string to the search engine. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12861 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12862 @item address |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12863 The address the aforementioned function should send the search string |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12864 to. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12865 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12866 @item id |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12867 Format string URL to fetch an article by @code{Message-ID}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12868 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12869 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12870 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12871 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12872 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12873 @node Slashdot |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12874 @subsection Slashdot |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12875 @cindex Slashdot |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12876 @cindex nnslashdot |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12877 |
33292 | 12878 Slashdot (@uref{http://slashdot.org/}) is a popular news site, with |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12879 lively discussion following the news articles. @code{nnslashdot} will |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12880 let you read this forum in a convenient manner. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12881 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12882 The easiest way to read this source is to put something like the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12883 following in your @file{.gnus.el} file: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12884 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12885 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12886 (setq gnus-secondary-select-methods |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12887 '((nnslashdot ""))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12888 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12889 |
39395 | 12890 This will make Gnus query the @code{nnslashdot} back end for new comments |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12891 and groups. The @kbd{F} command will subscribe each new news article as |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12892 a new Gnus group, and you can read the comments by entering these |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12893 groups. (Note that the default subscription method is to subscribe new |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12894 groups as zombies. Other methods are available (@pxref{Subscription |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12895 Methods}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12896 |
36028 | 12897 If you want to remove an old @code{nnslashdot} group, the @kbd{G @key{DEL}} |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12898 command is the most handy tool (@pxref{Foreign Groups}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12899 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12900 When following up to @code{nnslashdot} comments (or posting new |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12901 comments), some light @sc{html}izations will be performed. In |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12902 particular, text quoted with @samp{> } will be quoted with |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12903 @code{blockquote} instead, and signatures will have @code{br} added to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12904 the end of each line. Other than that, you can just write @sc{html} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12905 directly into the message buffer. Note that Slashdot filters out some |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12906 @sc{html} forms. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12907 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12908 The following variables can be altered to change its behavior: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12909 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12910 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12911 @item nnslashdot-threaded |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12912 Whether @code{nnslashdot} should display threaded groups or not. The |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12913 default is @code{t}. To be able to display threads, @code{nnslashdot} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12914 has to retrieve absolutely all comments in a group upon entry. If a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12915 threaded display is not required, @code{nnslashdot} will only retrieve |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12916 the comments that are actually wanted by the user. Threading is nicer, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12917 but much, much slower than untreaded. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12918 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12919 @item nnslashdot-login-name |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12920 @vindex nnslashdot-login-name |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12921 The login name to use when posting. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12922 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12923 @item nnslashdot-password |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12924 @vindex nnslashdot-password |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12925 The password to use when posting. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12926 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12927 @item nnslashdot-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12928 @vindex nnslashdot-directory |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
12929 Where @code{nnslashdot} will store its files. The default is |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12930 @samp{~/News/slashdot/}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12931 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12932 @item nnslashdot-active-url |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12933 @vindex nnslashdot-active-url |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
12934 The @sc{url} format string that will be used to fetch the information on |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
12935 news articles and comments. Default: |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12936 @samp{http://slashdot.org/search.pl?section=&min=%d}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12937 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12938 @item nnslashdot-comments-url |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12939 @vindex nnslashdot-comments-url |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12940 The @sc{url} format string that will be used to fetch comments. The |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12941 default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12942 @samp{http://slashdot.org/comments.pl?sid=%s&threshold=%d&commentsort=%d&mode=flat&startat=%d}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12943 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12944 @item nnslashdot-article-url |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12945 @vindex nnslashdot-article-url |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12946 The @sc{url} format string that will be used to fetch the news article. The |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12947 default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12948 @samp{http://slashdot.org/article.pl?sid=%s&mode=nocomment}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12949 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12950 @item nnslashdot-threshold |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12951 @vindex nnslashdot-threshold |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12952 The score threshold. The default is -1. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12953 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12954 @item nnslashdot-group-number |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12955 @vindex nnslashdot-group-number |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12956 The number of old groups, in addition to the ten latest, to keep |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12957 updated. The default is 0. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12958 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12959 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12960 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12961 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12962 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12963 @node Ultimate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12964 @subsection Ultimate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12965 @cindex nnultimate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12966 @cindex Ultimate Bulletin Board |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12967 |
33292 | 12968 The Ultimate Bulletin Board (@uref{http://www.ultimatebb.com/}) is |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12969 probably the most popular Web bulletin board system used. It has a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12970 quite regular and nice interface, and it's possible to get the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12971 information Gnus needs to keep groups updated. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12972 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12973 The easiest way to get started with @code{nnultimate} is to say |
36028 | 12974 something like the following in the group buffer: @kbd{B nnultimate @key{RET} |
12975 http://www.tcj.com/messboard/ubbcgi/ @key{RET}}. (Substitute the @sc{url} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12976 (not including @samp{Ultimate.cgi} or the like at the end) for a forum |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12977 you're interested in; there's quite a list of them on the Ultimate web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12978 site.) Then subscribe to the groups you're interested in from the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12979 server buffer, and read them from the group buffer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12980 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12981 The following @code{nnultimate} variables can be altered: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12982 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12983 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12984 @item nnultimate-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12985 @vindex nnultimate-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12986 The directory where @code{nnultimate} stores its files. The default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12987 @samp{~/News/ultimate/}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12988 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12989 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12990 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12991 @node Web Archive |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12992 @subsection Web Archive |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12993 @cindex nnwarchive |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12994 @cindex Web Archive |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12995 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12996 Some mailing lists only have archives on Web servers, such as |
33292 | 12997 @uref{http://www.egroups.com/} and |
12998 @uref{http://www.mail-archive.com/}. It has a quite regular and nice | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12999 interface, and it's possible to get the information Gnus needs to keep |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13000 groups updated. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13001 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13002 The easiest way to get started with @code{nnwarchive} is to say |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13003 something like the following in the group buffer: @kbd{M-x |
36028 | 13004 gnus-group-make-warchive-group @key{RET} an_egroup @key{RET} egroups @key{RET} |
13005 www.egroups.com @key{RET} your@@email.address @key{RET}}. (Substitute the | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13006 @sc{an_egroup} with the mailing list you subscribed, the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13007 @sc{your@@email.address} with your email address.), or to browse the |
39395 | 13008 back end by @kbd{B nnwarchive @key{RET} mail-archive @key{RET}}. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13009 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13010 The following @code{nnwarchive} variables can be altered: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13011 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13012 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13013 @item nnwarchive-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13014 @vindex nnwarchive-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13015 The directory where @code{nnwarchive} stores its files. The default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13016 @samp{~/News/warchive/}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13017 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13018 @item nnwarchive-login |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13019 @vindex nnwarchive-login |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13020 The account name on the web server. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13021 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13022 @item nnwarchive-passwd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13023 @vindex nnwarchive-passwd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13024 The password for your account on the web server. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13025 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13026 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13027 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13028 @node Customizing w3 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13029 @subsection Customizing w3 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13030 @cindex w3 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13031 @cindex html |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13032 @cindex url |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13033 @cindex Netscape |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13034 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13035 Gnus uses the url library to fetch web pages and Emacs/w3 to display web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13036 pages. Emacs/w3 is documented in its own manual, but there are some |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13037 things that may be more relevant for Gnus users. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13038 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13039 For instance, a common question is how to make Emacs/w3 follow links |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13040 using the @code{browse-url} functions (which will call some external web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13041 browser like Netscape). Here's one way: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13042 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13043 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13044 (eval-after-load "w3" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13045 '(progn |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13046 (fset 'w3-fetch-orig (symbol-function 'w3-fetch)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13047 (defun w3-fetch (&optional url target) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13048 (interactive (list (w3-read-url-with-default))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13049 (if (eq major-mode 'gnus-article-mode) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13050 (browse-url url) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13051 (w3-fetch-orig url target))))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13052 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13053 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13054 Put that in your @file{.emacs} file, and hitting links in w3-rendered |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13055 @sc{html} in the Gnus article buffers will use @code{browse-url} to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13056 follow the link. |
25829 | 13057 |
13058 | |
13059 @node Other Sources | |
13060 @section Other Sources | |
13061 | |
13062 Gnus can do more than just read news or mail. The methods described | |
13063 below allow Gnus to view directories and files as if they were | |
13064 newsgroups. | |
13065 | |
13066 @menu | |
13067 * Directory Groups:: You can read a directory as if it was a newsgroup. | |
13068 * Anything Groups:: Dired? Who needs dired? | |
13069 * Document Groups:: Single files can be the basis of a group. | |
26290 | 13070 * SOUP:: Reading @sc{soup} packets ``offline''. |
25829 | 13071 * Mail-To-News Gateways:: Posting articles via mail-to-news gateways. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13072 * IMAP:: Using Gnus as a @sc{imap} client. |
25829 | 13073 @end menu |
13074 | |
13075 | |
13076 @node Directory Groups | |
13077 @subsection Directory Groups | |
13078 @cindex nndir | |
13079 @cindex directory groups | |
13080 | |
13081 If you have a directory that has lots of articles in separate files in | |
13082 it, you might treat it as a newsgroup. The files have to have numerical | |
13083 names, of course. | |
13084 | |
13085 This might be an opportune moment to mention @code{ange-ftp} (and its | |
13086 successor @code{efs}), that most wonderful of all wonderful Emacs | |
13087 packages. When I wrote @code{nndir}, I didn't think much about it---a | |
39395 | 13088 back end to read directories. Big deal. |
25829 | 13089 |
13090 @code{ange-ftp} changes that picture dramatically. For instance, if you | |
13091 enter the @code{ange-ftp} file name | |
13092 @file{/ftp.hpc.uh.edu:/pub/emacs/ding-list/} as the directory name, | |
13093 @code{ange-ftp} or @code{efs} will actually allow you to read this | |
13094 directory over at @samp{sina} as a newsgroup. Distributed news ahoy! | |
13095 | |
13096 @code{nndir} will use @sc{nov} files if they are present. | |
13097 | |
39395 | 13098 @code{nndir} is a ``read-only'' back end---you can't delete or expire |
25829 | 13099 articles with this method. You can use @code{nnmh} or @code{nnml} for |
13100 whatever you use @code{nndir} for, so you could switch to any of those | |
13101 methods if you feel the need to have a non-read-only @code{nndir}. | |
13102 | |
13103 | |
13104 @node Anything Groups | |
13105 @subsection Anything Groups | |
13106 @cindex nneething | |
13107 | |
39395 | 13108 From the @code{nndir} back end (which reads a single spool-like |
25829 | 13109 directory), it's just a hop and a skip to @code{nneething}, which |
13110 pretends that any arbitrary directory is a newsgroup. Strange, but | |
13111 true. | |
13112 | |
13113 When @code{nneething} is presented with a directory, it will scan this | |
13114 directory and assign article numbers to each file. When you enter such | |
13115 a group, @code{nneething} must create ``headers'' that Gnus can use. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13116 After all, Gnus is a newsreader, in case you're forgetting. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13117 @code{nneething} does this in a two-step process. First, it snoops each |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13118 file in question. If the file looks like an article (i.e., the first |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13119 few lines look like headers), it will use this as the head. If this is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13120 just some arbitrary file without a head (e.g. a C source file), |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13121 @code{nneething} will cobble up a header out of thin air. It will use |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13122 file ownership, name and date and do whatever it can with these |
25829 | 13123 elements. |
13124 | |
13125 All this should happen automatically for you, and you will be presented | |
13126 with something that looks very much like a newsgroup. Totally like a | |
13127 newsgroup, to be precise. If you select an article, it will be displayed | |
13128 in the article buffer, just as usual. | |
13129 | |
13130 If you select a line that represents a directory, Gnus will pop you into | |
13131 a new summary buffer for this @code{nneething} group. And so on. You can | |
13132 traverse the entire disk this way, if you feel like, but remember that | |
13133 Gnus is not dired, really, and does not intend to be, either. | |
13134 | |
13135 There are two overall modes to this action---ephemeral or solid. When | |
13136 doing the ephemeral thing (i.e., @kbd{G D} from the group buffer), Gnus | |
13137 will not store information on what files you have read, and what files | |
13138 are new, and so on. If you create a solid @code{nneething} group the | |
13139 normal way with @kbd{G m}, Gnus will store a mapping table between | |
13140 article numbers and file names, and you can treat this group like any | |
13141 other groups. When you activate a solid @code{nneething} group, you will | |
13142 be told how many unread articles it contains, etc., etc. | |
13143 | |
13144 Some variables: | |
13145 | |
13146 @table @code | |
13147 @item nneething-map-file-directory | |
13148 @vindex nneething-map-file-directory | |
13149 All the mapping files for solid @code{nneething} groups will be stored | |
13150 in this directory, which defaults to @file{~/.nneething/}. | |
13151 | |
13152 @item nneething-exclude-files | |
13153 @vindex nneething-exclude-files | |
13154 All files that match this regexp will be ignored. Nice to use to exclude | |
13155 auto-save files and the like, which is what it does by default. | |
13156 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13157 @item nneething-include-files |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13158 @vindex nneething-include-files |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13159 Regexp saying what files to include in the group. If this variable is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13160 non-@code{nil}, only files matching this regexp will be included. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13161 |
25829 | 13162 @item nneething-map-file |
13163 @vindex nneething-map-file | |
13164 Name of the map files. | |
13165 @end table | |
13166 | |
13167 | |
13168 @node Document Groups | |
13169 @subsection Document Groups | |
13170 @cindex nndoc | |
13171 @cindex documentation group | |
13172 @cindex help group | |
13173 | |
13174 @code{nndoc} is a cute little thing that will let you read a single file | |
13175 as a newsgroup. Several files types are supported: | |
13176 | |
13177 @table @code | |
13178 @cindex babyl | |
13179 @cindex rmail mbox | |
13180 | |
13181 @item babyl | |
13182 The babyl (rmail) mail box. | |
13183 @cindex mbox | |
13184 @cindex Unix mbox | |
13185 | |
13186 @item mbox | |
13187 The standard Unix mbox file. | |
13188 | |
13189 @cindex MMDF mail box | |
13190 @item mmdf | |
13191 The MMDF mail box format. | |
13192 | |
13193 @item news | |
13194 Several news articles appended into a file. | |
13195 | |
13196 @item rnews | |
13197 @cindex rnews batch files | |
13198 The rnews batch transport format. | |
13199 @cindex forwarded messages | |
13200 | |
13201 @item forward | |
13202 Forwarded articles. | |
13203 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13204 @item nsmail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13205 Netscape mail boxes. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13206 |
25829 | 13207 @item mime-parts |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13208 MIME multipart messages. |
25829 | 13209 |
13210 @item standard-digest | |
13211 The standard (RFC 1153) digest format. | |
13212 | |
13213 @item slack-digest | |
13214 Non-standard digest format---matches most things, but does it badly. | |
13215 @end table | |
13216 | |
13217 You can also use the special ``file type'' @code{guess}, which means | |
13218 that @code{nndoc} will try to guess what file type it is looking at. | |
13219 @code{digest} means that @code{nndoc} should guess what digest type the | |
13220 file is. | |
13221 | |
13222 @code{nndoc} will not try to change the file or insert any extra headers into | |
13223 it---it will simply, like, let you use the file as the basis for a | |
13224 group. And that's it. | |
13225 | |
13226 If you have some old archived articles that you want to insert into your | |
39395 | 13227 new & spiffy Gnus mail back end, @code{nndoc} can probably help you with |
25829 | 13228 that. Say you have an old @file{RMAIL} file with mail that you now want |
13229 to split into your new @code{nnml} groups. You look at that file using | |
13230 @code{nndoc} (using the @kbd{G f} command in the group buffer | |
13231 (@pxref{Foreign Groups})), set the process mark on all the articles in | |
13232 the buffer (@kbd{M P b}, for instance), and then re-spool (@kbd{B r}) | |
13233 using @code{nnml}. If all goes well, all the mail in the @file{RMAIL} | |
13234 file is now also stored in lots of @code{nnml} directories, and you can | |
13235 delete that pesky @file{RMAIL} file. If you have the guts! | |
13236 | |
13237 Virtual server variables: | |
13238 | |
13239 @table @code | |
13240 @item nndoc-article-type | |
13241 @vindex nndoc-article-type | |
13242 This should be one of @code{mbox}, @code{babyl}, @code{digest}, | |
13243 @code{news}, @code{rnews}, @code{mmdf}, @code{forward}, @code{rfc934}, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13244 @code{rfc822-forward}, @code{mime-parts}, @code{standard-digest}, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13245 @code{slack-digest}, @code{clari-briefs}, @code{nsmail} or @code{guess}. |
25829 | 13246 |
13247 @item nndoc-post-type | |
13248 @vindex nndoc-post-type | |
13249 This variable says whether Gnus is to consider the group a news group or | |
13250 a mail group. There are two valid values: @code{mail} (the default) | |
13251 and @code{news}. | |
13252 @end table | |
13253 | |
13254 @menu | |
13255 * Document Server Internals:: How to add your own document types. | |
13256 @end menu | |
13257 | |
13258 | |
13259 @node Document Server Internals | |
13260 @subsubsection Document Server Internals | |
13261 | |
13262 Adding new document types to be recognized by @code{nndoc} isn't | |
13263 difficult. You just have to whip up a definition of what the document | |
13264 looks like, write a predicate function to recognize that document type, | |
13265 and then hook into @code{nndoc}. | |
13266 | |
13267 First, here's an example document type definition: | |
13268 | |
13269 @example | |
13270 (mmdf | |
13271 (article-begin . "^\^A\^A\^A\^A\n") | |
13272 (body-end . "^\^A\^A\^A\^A\n")) | |
13273 @end example | |
13274 | |
13275 The definition is simply a unique @dfn{name} followed by a series of | |
13276 regexp pseudo-variable settings. Below are the possible | |
13277 variables---don't be daunted by the number of variables; most document | |
13278 types can be defined with very few settings: | |
13279 | |
13280 @table @code | |
13281 @item first-article | |
13282 If present, @code{nndoc} will skip past all text until it finds | |
13283 something that match this regexp. All text before this will be | |
13284 totally ignored. | |
13285 | |
13286 @item article-begin | |
13287 This setting has to be present in all document type definitions. It | |
13288 says what the beginning of each article looks like. | |
13289 | |
13290 @item head-begin-function | |
13291 If present, this should be a function that moves point to the head of | |
13292 the article. | |
13293 | |
13294 @item nndoc-head-begin | |
13295 If present, this should be a regexp that matches the head of the | |
13296 article. | |
13297 | |
13298 @item nndoc-head-end | |
13299 This should match the end of the head of the article. It defaults to | |
13300 @samp{^$}---the empty line. | |
13301 | |
13302 @item body-begin-function | |
13303 If present, this function should move point to the beginning of the body | |
13304 of the article. | |
13305 | |
13306 @item body-begin | |
13307 This should match the beginning of the body of the article. It defaults | |
13308 to @samp{^\n}. | |
13309 | |
13310 @item body-end-function | |
13311 If present, this function should move point to the end of the body of | |
13312 the article. | |
13313 | |
13314 @item body-end | |
13315 If present, this should match the end of the body of the article. | |
13316 | |
13317 @item file-end | |
13318 If present, this should match the end of the file. All text after this | |
13319 regexp will be totally ignored. | |
13320 | |
13321 @end table | |
13322 | |
13323 So, using these variables @code{nndoc} is able to dissect a document | |
13324 file into a series of articles, each with a head and a body. However, a | |
13325 few more variables are needed since not all document types are all that | |
13326 news-like---variables needed to transform the head or the body into | |
13327 something that's palatable for Gnus: | |
13328 | |
13329 @table @code | |
13330 @item prepare-body-function | |
13331 If present, this function will be called when requesting an article. It | |
13332 will be called with point at the start of the body, and is useful if the | |
13333 document has encoded some parts of its contents. | |
13334 | |
13335 @item article-transform-function | |
13336 If present, this function is called when requesting an article. It's | |
13337 meant to be used for more wide-ranging transformation of both head and | |
13338 body of the article. | |
13339 | |
13340 @item generate-head-function | |
13341 If present, this function is called to generate a head that Gnus can | |
13342 understand. It is called with the article number as a parameter, and is | |
13343 expected to generate a nice head for the article in question. It is | |
13344 called when requesting the headers of all articles. | |
13345 | |
13346 @end table | |
13347 | |
13348 Let's look at the most complicated example I can come up with---standard | |
13349 digests: | |
13350 | |
13351 @example | |
13352 (standard-digest | |
13353 (first-article . ,(concat "^" (make-string 70 ?-) "\n\n+")) | |
13354 (article-begin . ,(concat "\n\n" (make-string 30 ?-) "\n\n+")) | |
13355 (prepare-body-function . nndoc-unquote-dashes) | |
13356 (body-end-function . nndoc-digest-body-end) | |
13357 (head-end . "^ ?$") | |
13358 (body-begin . "^ ?\n") | |
13359 (file-end . "^End of .*digest.*[0-9].*\n\\*\\*\\|^End of.*Digest *$") | |
13360 (subtype digest guess)) | |
13361 @end example | |
13362 | |
13363 We see that all text before a 70-width line of dashes is ignored; all | |
13364 text after a line that starts with that @samp{^End of} is also ignored; | |
13365 each article begins with a 30-width line of dashes; the line separating | |
13366 the head from the body may contain a single space; and that the body is | |
13367 run through @code{nndoc-unquote-dashes} before being delivered. | |
13368 | |
13369 To hook your own document definition into @code{nndoc}, use the | |
13370 @code{nndoc-add-type} function. It takes two parameters---the first is | |
13371 the definition itself and the second (optional) parameter says where in | |
13372 the document type definition alist to put this definition. The alist is | |
13373 traversed sequentially, and @code{nndoc-TYPE-type-p} is called for a given type @code{TYPE}. So @code{nndoc-mmdf-type-p} is called to see whether a document | |
13374 is of @code{mmdf} type, and so on. These type predicates should return | |
13375 @code{nil} if the document is not of the correct type; @code{t} if it is | |
13376 of the correct type; and a number if the document might be of the | |
13377 correct type. A high number means high probability; a low number means | |
13378 low probability with @samp{0} being the lowest valid number. | |
13379 | |
13380 | |
13381 @node SOUP | |
13382 @subsection SOUP | |
13383 @cindex SOUP | |
13384 @cindex offline | |
13385 | |
13386 In the PC world people often talk about ``offline'' newsreaders. These | |
13387 are thingies that are combined reader/news transport monstrosities. | |
13388 With built-in modem programs. Yecchh! | |
13389 | |
13390 Of course, us Unix Weenie types of human beans use things like | |
13391 @code{uucp} and, like, @code{nntpd} and set up proper news and mail | |
13392 transport things like Ghod intended. And then we just use normal | |
13393 newsreaders. | |
13394 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13395 However, it can sometimes be convenient to do something that's a bit |
25829 | 13396 easier on the brain if you have a very slow modem, and you're not really |
13397 that interested in doing things properly. | |
13398 | |
13399 A file format called @sc{soup} has been developed for transporting news | |
13400 and mail from servers to home machines and back again. It can be a bit | |
13401 fiddly. | |
13402 | |
13403 First some terminology: | |
13404 | |
13405 @table @dfn | |
13406 | |
13407 @item server | |
13408 This is the machine that is connected to the outside world and where you | |
13409 get news and/or mail from. | |
13410 | |
13411 @item home machine | |
13412 This is the machine that you want to do the actual reading and responding | |
13413 on. It is typically not connected to the rest of the world in any way. | |
13414 | |
13415 @item packet | |
13416 Something that contains messages and/or commands. There are two kinds | |
13417 of packets: | |
13418 | |
13419 @table @dfn | |
13420 @item message packets | |
13421 These are packets made at the server, and typically contain lots of | |
13422 messages for you to read. These are called @file{SoupoutX.tgz} by | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13423 default, where @var{x} is a number. |
25829 | 13424 |
13425 @item response packets | |
13426 These are packets made at the home machine, and typically contains | |
13427 replies that you've written. These are called @file{SoupinX.tgz} by | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13428 default, where @var{x} is a number. |
25829 | 13429 |
13430 @end table | |
13431 | |
13432 @end table | |
13433 | |
13434 | |
13435 @enumerate | |
13436 | |
13437 @item | |
13438 You log in on the server and create a @sc{soup} packet. You can either | |
13439 use a dedicated @sc{soup} thingie (like the @code{awk} program), or you | |
13440 can use Gnus to create the packet with its @sc{soup} commands (@kbd{O | |
13441 s} and/or @kbd{G s b}; and then @kbd{G s p}) (@pxref{SOUP Commands}). | |
13442 | |
13443 @item | |
13444 You transfer the packet home. Rail, boat, car or modem will do fine. | |
13445 | |
13446 @item | |
13447 You put the packet in your home directory. | |
13448 | |
13449 @item | |
39395 | 13450 You fire up Gnus on your home machine using the @code{nnsoup} back end as |
25829 | 13451 the native or secondary server. |
13452 | |
13453 @item | |
13454 You read articles and mail and answer and followup to the things you | |
13455 want (@pxref{SOUP Replies}). | |
13456 | |
13457 @item | |
13458 You do the @kbd{G s r} command to pack these replies into a @sc{soup} | |
13459 packet. | |
13460 | |
13461 @item | |
13462 You transfer this packet to the server. | |
13463 | |
13464 @item | |
13465 You use Gnus to mail this packet out with the @kbd{G s s} command. | |
13466 | |
13467 @item | |
13468 You then repeat until you die. | |
13469 | |
13470 @end enumerate | |
13471 | |
13472 So you basically have a bipartite system---you use @code{nnsoup} for | |
13473 reading and Gnus for packing/sending these @sc{soup} packets. | |
13474 | |
13475 @menu | |
13476 * SOUP Commands:: Commands for creating and sending @sc{soup} packets | |
39395 | 13477 * SOUP Groups:: A back end for reading @sc{soup} packets. |
25829 | 13478 * SOUP Replies:: How to enable @code{nnsoup} to take over mail and news. |
13479 @end menu | |
13480 | |
13481 | |
13482 @node SOUP Commands | |
13483 @subsubsection SOUP Commands | |
13484 | |
13485 These are commands for creating and manipulating @sc{soup} packets. | |
13486 | |
13487 @table @kbd | |
13488 @item G s b | |
36028 | 13489 @kindex G s b @r{(Group)} |
25829 | 13490 @findex gnus-group-brew-soup |
13491 Pack all unread articles in the current group | |
13492 (@code{gnus-group-brew-soup}). This command understands the | |
13493 process/prefix convention. | |
13494 | |
13495 @item G s w | |
36028 | 13496 @kindex G s w @r{(Group)} |
25829 | 13497 @findex gnus-soup-save-areas |
13498 Save all @sc{soup} data files (@code{gnus-soup-save-areas}). | |
13499 | |
13500 @item G s s | |
36028 | 13501 @kindex G s s @r{(Group)} |
25829 | 13502 @findex gnus-soup-send-replies |
13503 Send all replies from the replies packet | |
13504 (@code{gnus-soup-send-replies}). | |
13505 | |
13506 @item G s p | |
36028 | 13507 @kindex G s p @r{(Group)} |
25829 | 13508 @findex gnus-soup-pack-packet |
13509 Pack all files into a @sc{soup} packet (@code{gnus-soup-pack-packet}). | |
13510 | |
13511 @item G s r | |
36028 | 13512 @kindex G s r @r{(Group)} |
25829 | 13513 @findex nnsoup-pack-replies |
13514 Pack all replies into a replies packet (@code{nnsoup-pack-replies}). | |
13515 | |
13516 @item O s | |
36028 | 13517 @kindex O s @r{(Summary)} |
25829 | 13518 @findex gnus-soup-add-article |
13519 This summary-mode command adds the current article to a @sc{soup} packet | |
13520 (@code{gnus-soup-add-article}). It understands the process/prefix | |
13521 convention (@pxref{Process/Prefix}). | |
13522 | |
13523 @end table | |
13524 | |
13525 | |
13526 There are a few variables to customize where Gnus will put all these | |
13527 thingies: | |
13528 | |
13529 @table @code | |
13530 | |
13531 @item gnus-soup-directory | |
13532 @vindex gnus-soup-directory | |
13533 Directory where Gnus will save intermediate files while composing | |
13534 @sc{soup} packets. The default is @file{~/SoupBrew/}. | |
13535 | |
13536 @item gnus-soup-replies-directory | |
13537 @vindex gnus-soup-replies-directory | |
13538 This is what Gnus will use as a temporary directory while sending our | |
13539 reply packets. @file{~/SoupBrew/SoupReplies/} is the default. | |
13540 | |
13541 @item gnus-soup-prefix-file | |
13542 @vindex gnus-soup-prefix-file | |
13543 Name of the file where Gnus stores the last used prefix. The default is | |
13544 @samp{gnus-prefix}. | |
13545 | |
13546 @item gnus-soup-packer | |
13547 @vindex gnus-soup-packer | |
13548 A format string command for packing a @sc{soup} packet. The default is | |
13549 @samp{tar cf - %s | gzip > $HOME/Soupout%d.tgz}. | |
13550 | |
13551 @item gnus-soup-unpacker | |
13552 @vindex gnus-soup-unpacker | |
13553 Format string command for unpacking a @sc{soup} packet. The default is | |
13554 @samp{gunzip -c %s | tar xvf -}. | |
13555 | |
13556 @item gnus-soup-packet-directory | |
13557 @vindex gnus-soup-packet-directory | |
13558 Where Gnus will look for reply packets. The default is @file{~/}. | |
13559 | |
13560 @item gnus-soup-packet-regexp | |
13561 @vindex gnus-soup-packet-regexp | |
13562 Regular expression matching @sc{soup} reply packets in | |
13563 @code{gnus-soup-packet-directory}. | |
13564 | |
13565 @end table | |
13566 | |
13567 | |
13568 @node SOUP Groups | |
13569 @subsubsection @sc{soup} Groups | |
13570 @cindex nnsoup | |
13571 | |
39395 | 13572 @code{nnsoup} is the back end for reading @sc{soup} packets. It will |
25829 | 13573 read incoming packets, unpack them, and put them in a directory where |
13574 you can read them at leisure. | |
13575 | |
13576 These are the variables you can use to customize its behavior: | |
13577 | |
13578 @table @code | |
13579 | |
13580 @item nnsoup-tmp-directory | |
13581 @vindex nnsoup-tmp-directory | |
13582 When @code{nnsoup} unpacks a @sc{soup} packet, it does it in this | |
13583 directory. (@file{/tmp/} by default.) | |
13584 | |
13585 @item nnsoup-directory | |
13586 @vindex nnsoup-directory | |
13587 @code{nnsoup} then moves each message and index file to this directory. | |
13588 The default is @file{~/SOUP/}. | |
13589 | |
13590 @item nnsoup-replies-directory | |
13591 @vindex nnsoup-replies-directory | |
13592 All replies will be stored in this directory before being packed into a | |
13593 reply packet. The default is @file{~/SOUP/replies/"}. | |
13594 | |
13595 @item nnsoup-replies-format-type | |
13596 @vindex nnsoup-replies-format-type | |
13597 The @sc{soup} format of the replies packets. The default is @samp{?n} | |
13598 (rnews), and I don't think you should touch that variable. I probably | |
13599 shouldn't even have documented it. Drats! Too late! | |
13600 | |
13601 @item nnsoup-replies-index-type | |
13602 @vindex nnsoup-replies-index-type | |
13603 The index type of the replies packet. The default is @samp{?n}, which | |
13604 means ``none''. Don't fiddle with this one either! | |
13605 | |
13606 @item nnsoup-active-file | |
13607 @vindex nnsoup-active-file | |
13608 Where @code{nnsoup} stores lots of information. This is not an ``active | |
13609 file'' in the @code{nntp} sense; it's an Emacs Lisp file. If you lose | |
13610 this file or mess it up in any way, you're dead. The default is | |
13611 @file{~/SOUP/active}. | |
13612 | |
13613 @item nnsoup-packer | |
13614 @vindex nnsoup-packer | |
13615 Format string command for packing a reply @sc{soup} packet. The default | |
13616 is @samp{tar cf - %s | gzip > $HOME/Soupin%d.tgz}. | |
13617 | |
13618 @item nnsoup-unpacker | |
13619 @vindex nnsoup-unpacker | |
13620 Format string command for unpacking incoming @sc{soup} packets. The | |
13621 default is @samp{gunzip -c %s | tar xvf -}. | |
13622 | |
13623 @item nnsoup-packet-directory | |
13624 @vindex nnsoup-packet-directory | |
13625 Where @code{nnsoup} will look for incoming packets. The default is | |
13626 @file{~/}. | |
13627 | |
13628 @item nnsoup-packet-regexp | |
13629 @vindex nnsoup-packet-regexp | |
13630 Regular expression matching incoming @sc{soup} packets. The default is | |
13631 @samp{Soupout}. | |
13632 | |
13633 @item nnsoup-always-save | |
13634 @vindex nnsoup-always-save | |
13635 If non-@code{nil}, save the replies buffer after each posted message. | |
13636 | |
13637 @end table | |
13638 | |
13639 | |
13640 @node SOUP Replies | |
13641 @subsubsection SOUP Replies | |
13642 | |
13643 Just using @code{nnsoup} won't mean that your postings and mailings end | |
13644 up in @sc{soup} reply packets automagically. You have to work a bit | |
13645 more for that to happen. | |
13646 | |
13647 @findex nnsoup-set-variables | |
13648 The @code{nnsoup-set-variables} command will set the appropriate | |
13649 variables to ensure that all your followups and replies end up in the | |
13650 @sc{soup} system. | |
13651 | |
13652 In specific, this is what it does: | |
13653 | |
13654 @lisp | |
13655 (setq message-send-news-function 'nnsoup-request-post) | |
13656 (setq message-send-mail-function 'nnsoup-request-mail) | |
13657 @end lisp | |
13658 | |
13659 And that's it, really. If you only want news to go into the @sc{soup} | |
13660 system you just use the first line. If you only want mail to be | |
13661 @sc{soup}ed you use the second. | |
13662 | |
13663 | |
13664 @node Mail-To-News Gateways | |
13665 @subsection Mail-To-News Gateways | |
13666 @cindex mail-to-news gateways | |
13667 @cindex gateways | |
13668 | |
13669 If your local @code{nntp} server doesn't allow posting, for some reason | |
13670 or other, you can post using one of the numerous mail-to-news gateways. | |
39395 | 13671 The @code{nngateway} back end provides the interface. |
13672 | |
13673 Note that you can't read anything from this back end---it can only be | |
25829 | 13674 used to post with. |
13675 | |
13676 Server variables: | |
13677 | |
13678 @table @code | |
13679 @item nngateway-address | |
13680 @vindex nngateway-address | |
13681 This is the address of the mail-to-news gateway. | |
13682 | |
13683 @item nngateway-header-transformation | |
13684 @vindex nngateway-header-transformation | |
13685 News headers often have to be transformed in some odd way or other | |
13686 for the mail-to-news gateway to accept it. This variable says what | |
13687 transformation should be called, and defaults to | |
13688 @code{nngateway-simple-header-transformation}. The function is called | |
13689 narrowed to the headers to be transformed and with one parameter---the | |
13690 gateway address. | |
13691 | |
13692 This default function just inserts a new @code{To} header based on the | |
13693 @code{Newsgroups} header and the gateway address. | |
13694 For instance, an article with this @code{Newsgroups} header: | |
13695 | |
13696 @example | |
13697 Newsgroups: alt.religion.emacs | |
13698 @end example | |
13699 | |
13700 will get this @code{From} header inserted: | |
13701 | |
13702 @example | |
13703 To: alt-religion-emacs@@GATEWAY | |
13704 @end example | |
13705 | |
13706 The following pre-defined functions exist: | |
13707 | |
13708 @findex nngateway-simple-header-transformation | |
13709 @table @code | |
13710 | |
13711 @item nngateway-simple-header-transformation | |
13712 Creates a @code{To} header that looks like | |
13713 @var{newsgroup}@@@code{nngateway-address}. | |
13714 | |
13715 @findex nngateway-mail2news-header-transformation | |
13716 | |
13717 @item nngateway-mail2news-header-transformation | |
13718 Creates a @code{To} header that looks like | |
13719 @code{nngateway-address}. | |
13720 | |
13721 Here's an example: | |
13722 | |
13723 @lisp | |
13724 (setq gnus-post-method | |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
13725 '(nngateway |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
13726 "mail2news@@replay.com" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
13727 (nngateway-header-transformation |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
13728 nngateway-mail2news-header-transformation))) |
25829 | 13729 @end lisp |
13730 | |
13731 @end table | |
13732 | |
13733 | |
13734 @end table | |
13735 | |
13736 So, to use this, simply say something like: | |
13737 | |
13738 @lisp | |
13739 (setq gnus-post-method '(nngateway "GATEWAY.ADDRESS")) | |
13740 @end lisp | |
13741 | |
13742 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13743 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13744 @node IMAP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13745 @subsection @sc{imap} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13746 @cindex nnimap |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13747 @cindex @sc{imap} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13748 |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13749 @sc{imap} is a network protocol for reading mail (or news, or@dots{}), |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13750 think of it as a modernized @sc{nntp}. Connecting to a @sc{imap} |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13751 server is much similar to connecting to a news server, you just |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13752 specify the network address of the server. |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13753 |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13754 @sc{imap} has two properties. First, @sc{imap} can do everything that |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13755 POP can, it can hence be viewed as POP++. Secondly, @sc{imap} is a |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13756 mail storage protocol, similar to @sc{nntp} being a news storage |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13757 protocol. (@sc{imap} offers more features than @sc{nntp} because news |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13758 is more or less read-only whereas mail is read-write.) |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13759 |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13760 If you want to use @sc{imap} as POP++, use an imap entry in |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13761 mail-sources. With this, Gnus will fetch mails from the @sc{imap} |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13762 server and store them on the local disk. This is not the usage |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13763 described in this section. @xref{Mail Sources}. |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13764 |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13765 If you want to use @sc{imap} as a mail storage protocol, use an nnimap |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13766 entry in gnus-secondary-select-methods. With this, Gnus will |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13767 manipulate mails stored on the @sc{imap} server. This is the kind of |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13768 usage explained in this section. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13769 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13770 A server configuration in @code{~/.gnus} with a few @sc{imap} servers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13771 might look something like this: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13772 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13773 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13774 (setq gnus-secondary-select-methods |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13775 '((nnimap "simpleserver") ; no special configuration |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13776 ; perhaps a ssh port forwarded server: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13777 (nnimap "dolk" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13778 (nnimap-address "localhost") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13779 (nnimap-server-port 1430)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13780 ; a UW server running on localhost |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13781 (nnimap "barbar" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13782 (nnimap-server-port 143) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13783 (nnimap-address "localhost") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13784 (nnimap-list-pattern ("INBOX" "mail/*"))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13785 ; anonymous public cyrus server: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13786 (nnimap "cyrus.andrew.cmu.edu" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13787 (nnimap-authenticator anonymous) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13788 (nnimap-list-pattern "archive.*") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13789 (nnimap-stream network)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13790 ; a ssl server on a non-standard port: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13791 (nnimap "vic20" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13792 (nnimap-address "vic20.somewhere.com") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13793 (nnimap-server-port 9930) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13794 (nnimap-stream ssl)))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13795 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13796 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13797 The following variables can be used to create a virtual @code{nnimap} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13798 server: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13799 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13800 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13801 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13802 @item nnimap-address |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13803 @vindex nnimap-address |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13804 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13805 The address of the remote @sc{imap} server. Defaults to the virtual |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13806 server name if not specified. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13807 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13808 @item nnimap-server-port |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13809 @vindex nnimap-server-port |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13810 Port on server to contact. Defaults to port 143, or 993 for SSL. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13811 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13812 Note that this should be a integer, example server specification: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13813 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13814 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13815 (nnimap "mail.server.com" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13816 (nnimap-server-port 4711)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13817 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13818 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13819 @item nnimap-list-pattern |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13820 @vindex nnimap-list-pattern |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13821 String or list of strings of mailboxes to limit available groups to. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13822 This is used when the server has very many mailboxes and you're only |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13823 interested in a few -- some servers export your home directory via |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13824 @sc{imap}, you'll probably want to limit the mailboxes to those in |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13825 @file{~/Mail/*} then. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13826 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13827 The string can also be a cons of REFERENCE and the string as above, what |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13828 REFERENCE is used for is server specific, but on the University of |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13829 Washington server it's a directory that will be concatenated with the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13830 mailbox. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13831 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13832 Example server specification: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13833 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13834 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13835 (nnimap "mail.server.com" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13836 (nnimap-list-pattern ("INBOX" "Mail/*" "alt.sex.*" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13837 ("~friend/Mail/" . "list/*")))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13838 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13839 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13840 @item nnimap-stream |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13841 @vindex nnimap-stream |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13842 The type of stream used to connect to your server. By default, nnimap |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13843 will detect and automatically use all of the below, with the exception |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13844 of SSL. (SSL is being replaced by STARTTLS, which can be automatically |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13845 detected, but it's not widely deployed yet). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13846 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13847 Example server specification: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13848 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13849 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13850 (nnimap "mail.server.com" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13851 (nnimap-stream ssl)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13852 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13853 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13854 Please note that the value of @code{nnimap-stream} is a symbol! |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13855 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13856 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13857 @item |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13858 @dfn{gssapi:} Connect with GSSAPI (usually Kerberos 5). Requires the |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13859 @command{imtest} program. |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13860 @item |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13861 @dfn{kerberos4:} Connect with Kerberos 4. Requires the |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13862 @command{imtest} program. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13863 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13864 @dfn{starttls:} Connect via the STARTTLS extension (similar to |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13865 SSL)@. Requires the library @file{starttls.el} and program |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13866 @command{starttls}. |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13867 @item |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13868 @dfn{ssl:} Connect through SSL@. Requires OpenSSL (the |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13869 program @command{openssl}) or SSLeay (@command{s_client}). |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13870 @item |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13871 @dfn{shell:} Use a shell command to start an @sc{imap} connection. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13872 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13873 @dfn{network:} Plain, TCP/IP network connection. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13874 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13875 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13876 @vindex imap-kerberos4-program |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13877 The @command{imtest} program is shipped with Cyrus IMAPD@. Nnimap supports |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13878 both @command{imtest} version 1.5.x and version 1.6.x. The variable |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13879 @code{imap-kerberos4-program} contains parameters to pass to the |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13880 @command{imtest} program. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13881 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13882 @vindex imap-ssl-program |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13883 For SSL connections, the OpenSSL program is available from |
33292 | 13884 @uref{http://www.openssl.org/}. OpenSSL was formerly known as SSLeay, |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13885 and nnimap supports it too. However, the most recent versions of |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13886 SSLeay, 0.9.x, are known to have serious bugs making it |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13887 useless. Earlier versions, especially 0.8.x, of SSLeay are known to |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13888 work. The variable @code{imap-ssl-program} contains parameters to pass |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13889 to OpenSSL/SSLeay. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13890 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13891 @vindex imap-shell-program |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13892 @vindex imap-shell-host |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13893 For @sc{imap} connections using the @code{shell} stream, the variable |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13894 @code{imap-shell-program} specifies what program to call. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13895 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13896 @item nnimap-authenticator |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13897 @vindex nnimap-authenticator |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13898 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13899 The authenticator used to connect to the server. By default, nnimap |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13900 will use the most secure authenticator your server supports. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13901 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13902 Example server specification: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13903 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13904 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13905 (nnimap "mail.server.com" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13906 (nnimap-authenticator anonymous)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13907 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13908 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13909 Please note that the value of @code{nnimap-authenticator} is a symbol! |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13910 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13911 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13912 @item |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13913 @dfn{gssapi:} GSSAPI (usually Kerberos 5) authentication. Requires the |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13914 external program @command{imtest}. |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13915 @item |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13916 @dfn{kerberos4:} Kerberos authentication. Requires the external program |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13917 @command{imtest}. |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13918 @item |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13919 @dfn{digest-md5:} Encrypted username/password via DIGEST-MD5@. Requires |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13920 external library @command{digest-md5.el}. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13921 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13922 @dfn{cram-md5:} Encrypted username/password via CRAM-MD5. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13923 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13924 @dfn{login:} Plain-text username/password via LOGIN. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13925 @item |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13926 @dfn{anonymous:} Login as `anonymous', supplying your email address as |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13927 password. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13928 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13929 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13930 @item nnimap-expunge-on-close |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13931 @cindex Expunging |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13932 @vindex nnimap-expunge-on-close |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13933 Unlike Parmenides, the @sc{imap} designers decided that things that |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13934 don't exist actually do exist. More specifically, @sc{imap} has |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13935 the concept of marking articles @code{Deleted} which doesn't actually |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13936 delete them, and this (marking them @code{Deleted}, that is) is what |
36028 | 13937 nnimap does when you delete a article in Gnus (with @kbd{G @key{DEL}} or |
35073 | 13938 similar). |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13939 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13940 Since the articles aren't really removed when we mark them with the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13941 @code{Deleted} flag we'll need a way to actually delete them. Feel like |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13942 running in circles yet? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13943 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13944 Traditionally, nnimap has removed all articles marked as @code{Deleted} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13945 when closing a mailbox but this is now configurable by this server |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13946 variable. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13947 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13948 The possible options are: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13949 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13950 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13951 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13952 @item always |
35073 | 13953 The default behavior, delete all articles marked as "Deleted" when |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13954 closing a mailbox. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13955 @item never |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13956 Never actually delete articles. Currently there is no way of showing |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13957 the articles marked for deletion in nnimap, but other @sc{imap} clients |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13958 may allow you to do this. If you ever want to run the EXPUNGE command |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13959 manually, @xref{Expunging mailboxes}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13960 @item ask |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13961 When closing mailboxes, nnimap will ask if you wish to expunge deleted |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13962 articles or not. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13963 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13964 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13965 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13966 @item nnimap-authinfo-file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13967 @vindex nnimap-authinfo-file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13968 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13969 A file containing credentials used to log in on servers. The format |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13970 is (almost) the same as the @code{ftp} @file{~/.netrc} file. See |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13971 `nntp-authinfo-file' for exact syntax. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13972 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13973 A file containing credentials used to log in on servers. The format is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13974 (almost) the same as the @code{ftp} @file{~/.netrc} file. See the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13975 variable @code{nntp-authinfo-file} for exact syntax; also see |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13976 @xref{NNTP}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13977 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13978 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13979 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13980 @menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13981 * Splitting in IMAP:: Splitting mail with nnimap. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13982 * Editing IMAP ACLs:: Limiting/enabling other users access to a mailbox. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13983 * Expunging mailboxes:: Equivalent of a "compress mailbox" button. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13984 @end menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13985 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13986 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13987 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13988 @node Splitting in IMAP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13989 @subsubsection Splitting in @sc{imap} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13990 @cindex splitting imap mail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13991 |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13992 Splitting is something Gnus users have loved and used for years, and now |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13993 the rest of the world is catching up. Yeah, dream on; not many |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13994 @sc{imap} servers have server side splitting and those that have splitting |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13995 seem to use some non-standard protocol. This means that @sc{imap} |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
13996 support for Gnus has to do its own splitting. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13997 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13998 And it does. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13999 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14000 Here are the variables of interest: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14001 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14002 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14003 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14004 @item nnimap-split-crosspost |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14005 @cindex splitting, crosspost |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14006 @cindex crosspost |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14007 @vindex nnimap-split-crosspost |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14008 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14009 If non-nil, do crossposting if several split methods match the mail. If |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14010 nil, the first match in @code{nnimap-split-rule} found will be used. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14011 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14012 Nnmail equivalent: @code{nnmail-crosspost}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14013 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14014 @item nnimap-split-inbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14015 @cindex splitting, inbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14016 @cindex inbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14017 @vindex nnimap-split-inbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14018 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14019 A string or a list of strings that gives the name(s) of @sc{imap} |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
14020 mailboxes to split from. Defaults to @code{nil}, which means that |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
14021 splitting is disabled! |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14022 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14023 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14024 (setq nnimap-split-inbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14025 '("INBOX" ("~/friend/Mail" . "lists/*") "lists.imap")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14026 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14027 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14028 No nnmail equivalent. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14029 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14030 @item nnimap-split-rule |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14031 @cindex Splitting, rules |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14032 @vindex nnimap-split-rule |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14033 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14034 New mail found in @code{nnimap-split-inbox} will be split according to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14035 this variable. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14036 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14037 This variable contains a list of lists, where the first element in the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14038 sublist gives the name of the @sc{imap} mailbox to move articles |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14039 matching the regexp in the second element in the sublist. Got that? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14040 Neither did I, we need examples. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14041 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14042 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14043 (setq nnimap-split-rule |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
14044 '(("INBOX.nnimap" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
14045 "^Sender: owner-nnimap@@vic20.globalcom.se") |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14046 ("INBOX.junk" "^Subject:.*MAKE MONEY") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14047 ("INBOX.private" ""))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14048 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14049 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14050 This will put all articles from the nnimap mailing list into mailbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14051 INBOX.nnimap, all articles containing MAKE MONEY in the Subject: line |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14052 into INBOX.spam and everything else in INBOX.private. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14053 |
36028 | 14054 The first string may contain @samp{\\@var{digit}} forms, like the ones used by |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14055 replace-match to insert sub-expressions from the matched text. For |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14056 instance: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14057 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14058 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14059 ("INBOX.lists.\\1" "^Sender: owner-\\([a-z-]+\\)@@") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14060 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14061 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14062 The second element can also be a function. In that case, it will be |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14063 called with the first element of the rule as the argument, in a buffer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14064 containing the headers of the article. It should return a non-nil value |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14065 if it thinks that the mail belongs in that group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14066 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14067 Nnmail users might recollect that the last regexp had to be empty to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14068 match all articles (like in the example above). This is not required in |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14069 nnimap. Articles not matching any of the regexps will not be moved out |
36333
a0141ceb7edc
(Splitting in IMAP): Remove doubled `might'.
Gerd Moellmann <gerd@gnu.org>
parents:
36057
diff
changeset
|
14070 of your inbox. (This might affect performance if you keep lots of |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14071 unread articles in your inbox, since the splitting code would go over |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14072 them every time you fetch new mail.) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14073 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14074 These rules are processed from the beginning of the alist toward the |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
14075 end. The first rule to make a match will `win', unless you have |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
14076 crossposting enabled. In that case, all matching rules will `win'. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14077 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14078 This variable can also have a function as its value, the function will |
35073 | 14079 be called with the headers narrowed and should return a group to where |
14080 it thinks the article should be split. See @code{nnimap-split-fancy}. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14081 |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
14082 The splitting code tries to create mailboxes if it needs too. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14083 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14084 To allow for different split rules on different virtual servers, and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14085 even different split rules in different inboxes on the same server, |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
14086 the syntax of this variable has been extended along the lines of: |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14087 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14088 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14089 (setq nnimap-split-rule |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14090 '(("my1server" (".*" (("ding" "ding@@gnus.org") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14091 ("junk" "From:.*Simon"))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14092 ("my2server" ("INBOX" nnimap-split-fancy)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14093 ("my[34]server" (".*" (("private" "To:.*Simon") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14094 ("junk" my-junk-func))))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14095 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14096 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14097 The virtual server name is in fact a regexp, so that the same rules |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14098 may apply to several servers. In the example, the servers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14099 @code{my3server} and @code{my4server} both use the same rules. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14100 Similarly, the inbox string is also a regexp. The actual splitting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14101 rules are as before, either a function, or a list with group/regexp or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14102 group/function elements. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14103 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14104 Nnmail equivalent: @code{nnmail-split-methods}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14105 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14106 @item nnimap-split-predicate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14107 @cindex splitting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14108 @vindex nnimap-split-predicate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14109 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14110 Mail matching this predicate in @code{nnimap-split-inbox} will be |
35073 | 14111 split; it is a string and the default is @samp{UNSEEN UNDELETED}. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14112 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14113 This might be useful if you use another @sc{imap} client to read mail in |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14114 your inbox but would like Gnus to split all articles in the inbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14115 regardless of readedness. Then you might change this to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14116 @samp{UNDELETED}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14117 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14118 @item nnimap-split-fancy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14119 @cindex splitting, fancy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14120 @findex nnimap-split-fancy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14121 @vindex nnimap-split-fancy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14122 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14123 It's possible to set @code{nnimap-split-rule} to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14124 @code{nnmail-split-fancy} if you want to use fancy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14125 splitting. @xref{Fancy Mail Splitting}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14126 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14127 However, to be able to have different fancy split rules for nnmail and |
39395 | 14128 nnimap back ends you can set @code{nnimap-split-rule} to |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14129 @code{nnimap-split-fancy} and define the nnimap specific fancy split |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14130 rule in @code{nnimap-split-fancy}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14131 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14132 Example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14133 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14134 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14135 (setq nnimap-split-rule 'nnimap-split-fancy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14136 nnimap-split-fancy ...) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14137 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14138 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14139 Nnmail equivalent: @code{nnmail-split-fancy}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14140 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14141 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14142 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14143 @node Editing IMAP ACLs |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14144 @subsubsection Editing @sc{imap} ACLs |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14145 @cindex editing imap acls |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14146 @cindex Access Control Lists |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14147 @cindex Editing @sc{imap} ACLs |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14148 @kindex G l |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14149 @findex gnus-group-nnimap-edit-acl |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14150 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14151 ACL stands for Access Control List. ACLs are used in @sc{imap} for |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14152 limiting (or enabling) other users access to your mail boxes. Not all |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14153 @sc{imap} servers support this, this function will give an error if it |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14154 doesn't. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14155 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14156 To edit a ACL for a mailbox, type @kbd{G l} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14157 (@code{gnus-group-edit-nnimap-acl}) and you'll be presented with a ACL |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14158 editing window with detailed instructions. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14159 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14160 Some possible uses: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14161 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14162 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14163 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14164 Giving "anyone" the "lrs" rights (lookup, read, keep seen/unseen flags) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14165 on your mailing list mailboxes enables other users on the same server to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14166 follow the list without subscribing to it. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14167 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14168 At least with the Cyrus server, you are required to give the user |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14169 "anyone" posting ("p") capabilities to have "plussing" work (that is, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14170 mail sent to user+mailbox@@domain ending up in the @sc{imap} mailbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14171 INBOX.mailbox). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14172 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14173 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14174 @node Expunging mailboxes |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14175 @subsubsection Expunging mailboxes |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14176 @cindex expunging |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14177 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14178 @cindex Expunge |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14179 @cindex Manual expunging |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14180 @kindex G x |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14181 @findex gnus-group-nnimap-expunge |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14182 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14183 If you're using the @code{never} setting of @code{nnimap-expunge-close}, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14184 you may want the option of expunging all deleted articles in a mailbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14185 manually. This is exactly what @kbd{G x} does. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14186 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14187 Currently there is no way of showing deleted articles, you can just |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14188 delete them. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14189 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14190 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14191 |
25829 | 14192 @node Combined Groups |
14193 @section Combined Groups | |
14194 | |
14195 Gnus allows combining a mixture of all the other group types into bigger | |
14196 groups. | |
14197 | |
14198 @menu | |
14199 * Virtual Groups:: Combining articles from many groups. | |
14200 * Kibozed Groups:: Looking through parts of the newsfeed for articles. | |
14201 @end menu | |
14202 | |
14203 | |
14204 @node Virtual Groups | |
14205 @subsection Virtual Groups | |
14206 @cindex nnvirtual | |
14207 @cindex virtual groups | |
14208 @cindex merging groups | |
14209 | |
14210 An @dfn{nnvirtual group} is really nothing more than a collection of | |
14211 other groups. | |
14212 | |
14213 For instance, if you are tired of reading many small groups, you can | |
14214 put them all in one big group, and then grow tired of reading one | |
14215 big, unwieldy group. The joys of computing! | |
14216 | |
14217 You specify @code{nnvirtual} as the method. The address should be a | |
14218 regexp to match component groups. | |
14219 | |
14220 All marks in the virtual group will stick to the articles in the | |
14221 component groups. So if you tick an article in a virtual group, the | |
14222 article will also be ticked in the component group from whence it came. | |
14223 (And vice versa---marks from the component groups will also be shown in | |
14224 the virtual group.) | |
14225 | |
14226 Here's an example @code{nnvirtual} method that collects all Andrea Dworkin | |
14227 newsgroups into one, big, happy newsgroup: | |
14228 | |
14229 @lisp | |
14230 (nnvirtual "^alt\\.fan\\.andrea-dworkin$\\|^rec\\.dworkin.*") | |
14231 @end lisp | |
14232 | |
14233 The component groups can be native or foreign; everything should work | |
14234 smoothly, but if your computer explodes, it was probably my fault. | |
14235 | |
14236 Collecting the same group from several servers might actually be a good | |
14237 idea if users have set the Distribution header to limit distribution. | |
14238 If you would like to read @samp{soc.motss} both from a server in Japan | |
14239 and a server in Norway, you could use the following as the group regexp: | |
14240 | |
14241 @example | |
14242 "^nntp\\+server\\.jp:soc\\.motss$\\|^nntp\\+server\\.no:soc\\.motss$" | |
14243 @end example | |
14244 | |
14245 (Remember, though, that if you're creating the group with @kbd{G m}, you | |
14246 shouldn't double the backslashes, and you should leave off the quote | |
14247 characters at the beginning and the end of the string.) | |
14248 | |
14249 This should work kinda smoothly---all articles from both groups should | |
14250 end up in this one, and there should be no duplicates. Threading (and | |
14251 the rest) will still work as usual, but there might be problems with the | |
14252 sequence of articles. Sorting on date might be an option here | |
14253 (@pxref{Selecting a Group}). | |
14254 | |
14255 One limitation, however---all groups included in a virtual | |
14256 group have to be alive (i.e., subscribed or unsubscribed). Killed or | |
14257 zombie groups can't be component groups for @code{nnvirtual} groups. | |
14258 | |
14259 @vindex nnvirtual-always-rescan | |
14260 If the @code{nnvirtual-always-rescan} is non-@code{nil}, | |
14261 @code{nnvirtual} will always scan groups for unread articles when | |
14262 entering a virtual group. If this variable is @code{nil} (which is the | |
14263 default) and you read articles in a component group after the virtual | |
14264 group has been activated, the read articles from the component group | |
14265 will show up when you enter the virtual group. You'll also see this | |
14266 effect if you have two virtual groups that have a component group in | |
14267 common. If that's the case, you should set this variable to @code{t}. | |
14268 Or you can just tap @code{M-g} on the virtual group every time before | |
14269 you enter it---it'll have much the same effect. | |
14270 | |
14271 @code{nnvirtual} can have both mail and news groups as component groups. | |
14272 When responding to articles in @code{nnvirtual} groups, @code{nnvirtual} | |
39395 | 14273 has to ask the back end of the component group the article comes from |
14274 whether it is a news or mail back end. However, when you do a @kbd{^}, | |
14275 there is typically no sure way for the component back end to know this, | |
25829 | 14276 and in that case @code{nnvirtual} tells Gnus that the article came from a |
39395 | 14277 not-news back end. (Just to be on the safe side.) |
25829 | 14278 |
14279 @kbd{C-c C-t} in the message buffer will insert the @code{Newsgroups} | |
14280 line from the article you respond to in these cases. | |
14281 | |
14282 | |
14283 | |
14284 @node Kibozed Groups | |
14285 @subsection Kibozed Groups | |
14286 @cindex nnkiboze | |
14287 @cindex kibozing | |
14288 | |
14289 @dfn{Kibozing} is defined by @sc{oed} as ``grepping through (parts of) | |
39395 | 14290 the news feed''. @code{nnkiboze} is a back end that will do this for |
25829 | 14291 you. Oh joy! Now you can grind any @sc{nntp} server down to a halt |
14292 with useless requests! Oh happiness! | |
14293 | |
36028 | 14294 @kindex G k @r{(Group)} |
25829 | 14295 To create a kibozed group, use the @kbd{G k} command in the group |
14296 buffer. | |
14297 | |
14298 The address field of the @code{nnkiboze} method is, as with | |
14299 @code{nnvirtual}, a regexp to match groups to be ``included'' in the | |
14300 @code{nnkiboze} group. That's where most similarities between @code{nnkiboze} | |
14301 and @code{nnvirtual} end. | |
14302 | |
14303 In addition to this regexp detailing component groups, an @code{nnkiboze} group | |
14304 must have a score file to say what articles are to be included in | |
14305 the group (@pxref{Scoring}). | |
14306 | |
14307 @kindex M-x nnkiboze-generate-groups | |
14308 @findex nnkiboze-generate-groups | |
14309 You must run @kbd{M-x nnkiboze-generate-groups} after creating the | |
14310 @code{nnkiboze} groups you want to have. This command will take time. Lots of | |
14311 time. Oodles and oodles of time. Gnus has to fetch the headers from | |
14312 all the articles in all the component groups and run them through the | |
14313 scoring process to determine if there are any articles in the groups | |
14314 that are to be part of the @code{nnkiboze} groups. | |
14315 | |
14316 Please limit the number of component groups by using restrictive | |
14317 regexps. Otherwise your sysadmin may become annoyed with you, and the | |
14318 @sc{nntp} site may throw you off and never let you back in again. | |
14319 Stranger things have happened. | |
14320 | |
14321 @code{nnkiboze} component groups do not have to be alive---they can be dead, | |
14322 and they can be foreign. No restrictions. | |
14323 | |
14324 @vindex nnkiboze-directory | |
14325 The generation of an @code{nnkiboze} group means writing two files in | |
14326 @code{nnkiboze-directory}, which is @file{~/News/} by default. One | |
14327 contains the @sc{nov} header lines for all the articles in the group, | |
14328 and the other is an additional @file{.newsrc} file to store information | |
14329 on what groups have been searched through to find component articles. | |
14330 | |
14331 Articles marked as read in the @code{nnkiboze} group will have | |
14332 their @sc{nov} lines removed from the @sc{nov} file. | |
14333 | |
14334 | |
14335 @node Gnus Unplugged | |
14336 @section Gnus Unplugged | |
14337 @cindex offline | |
14338 @cindex unplugged | |
14339 @cindex Agent | |
14340 @cindex Gnus Agent | |
14341 @cindex Gnus Unplugged | |
14342 | |
14343 In olden times (ca. February '88), people used to run their newsreaders | |
14344 on big machines with permanent connections to the net. News transport | |
14345 was dealt with by news servers, and all the newsreaders had to do was to | |
14346 read news. Believe it or not. | |
14347 | |
14348 Nowadays most people read news and mail at home, and use some sort of | |
14349 modem to connect to the net. To avoid running up huge phone bills, it | |
14350 would be nice to have a way to slurp down all the news and mail, hang up | |
14351 the phone, read for several hours, and then upload any responses you | |
14352 have to make. And then you repeat the procedure. | |
14353 | |
14354 Of course, you can use news servers for doing this as well. I've used | |
14355 @code{inn} together with @code{slurp}, @code{pop} and @code{sendmail} | |
14356 for some years, but doing that's a bore. Moving the news server | |
14357 functionality up to the newsreader makes sense if you're the only person | |
14358 reading news on a machine. | |
14359 | |
14360 Using Gnus as an ``offline'' newsreader is quite simple. | |
14361 | |
14362 @itemize @bullet | |
14363 @item | |
14364 First, set up Gnus as you would do if you were running it on a machine | |
14365 that has full connection to the net. Go ahead. I'll still be waiting | |
14366 here. | |
14367 | |
14368 @item | |
14369 Then, put the following magical incantation at the end of your | |
14370 @file{.gnus.el} file: | |
14371 | |
14372 @lisp | |
14373 (gnus-agentize) | |
14374 @end lisp | |
14375 @end itemize | |
14376 | |
14377 That's it. Gnus is now an ``offline'' newsreader. | |
14378 | |
14379 Of course, to use it as such, you have to learn a few new commands. | |
14380 | |
14381 @menu | |
14382 * Agent Basics:: How it all is supposed to work. | |
14383 * Agent Categories:: How to tell the Gnus Agent what to download. | |
14384 * Agent Commands:: New commands for all the buffers. | |
14385 * Agent Expiry:: How to make old articles go away. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14386 * Agent and IMAP:: How to use the Agent with IMAP. |
25829 | 14387 * Outgoing Messages:: What happens when you post/mail something? |
14388 * Agent Variables:: Customizing is fun. | |
14389 * Example Setup:: An example @file{.gnus.el} file for offline people. | |
14390 * Batching Agents:: How to fetch news from a @code{cron} job. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14391 * Agent Caveats:: What you think it'll do and what it does. |
25829 | 14392 @end menu |
14393 | |
14394 | |
14395 @node Agent Basics | |
14396 @subsection Agent Basics | |
14397 | |
14398 First, let's get some terminology out of the way. | |
14399 | |
14400 The Gnus Agent is said to be @dfn{unplugged} when you have severed the | |
14401 connection to the net (and notified the Agent that this is the case). | |
14402 When the connection to the net is up again (and Gnus knows this), the | |
14403 Agent is @dfn{plugged}. | |
14404 | |
14405 The @dfn{local} machine is the one you're running on, and which isn't | |
14406 connected to the net continuously. | |
14407 | |
14408 @dfn{Downloading} means fetching things from the net to your local | |
14409 machine. @dfn{Uploading} is doing the opposite. | |
14410 | |
14411 Let's take a typical Gnus session using the Agent. | |
14412 | |
14413 @itemize @bullet | |
14414 | |
14415 @item | |
14416 You start Gnus with @code{gnus-unplugged}. This brings up the Gnus | |
14417 Agent in a disconnected state. You can read all the news that you have | |
14418 already fetched while in this mode. | |
14419 | |
14420 @item | |
14421 You then decide to see whether any new news has arrived. You connect | |
14422 your machine to the net (using PPP or whatever), and then hit @kbd{J j} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14423 to make Gnus become @dfn{plugged} and use @kbd{g} to check for new mail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14424 as usual. To check for new mail in unplugged mode, see (@pxref{Mail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14425 Source Specifiers}). |
25829 | 14426 |
14427 @item | |
14428 You can then read the new news immediately, or you can download the news | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14429 onto your local machine. If you want to do the latter, you press @kbd{g} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14430 to check if there are any new news and then @kbd{J |
25829 | 14431 s} to fetch all the eligible articles in all the groups. (To let Gnus |
14432 know which articles you want to download, @pxref{Agent Categories}.) | |
14433 | |
14434 @item | |
14435 After fetching the articles, you press @kbd{J j} to make Gnus become | |
14436 unplugged again, and you shut down the PPP thing (or whatever). And | |
14437 then you read the news offline. | |
14438 | |
14439 @item | |
14440 And then you go to step 2. | |
14441 @end itemize | |
14442 | |
14443 Here are some things you should do the first time (or so) that you use | |
14444 the Agent. | |
14445 | |
14446 @itemize @bullet | |
14447 | |
14448 @item | |
14449 Decide which servers should be covered by the Agent. If you have a mail | |
39395 | 14450 back end, it would probably be nonsensical to have it covered by the |
25829 | 14451 Agent. Go to the server buffer (@kbd{^} in the group buffer) and press |
14452 @kbd{J a} the server (or servers) that you wish to have covered by the | |
14453 Agent (@pxref{Server Agent Commands}). This will typically be only the | |
14454 primary select method, which is listed on the bottom in the buffer. | |
14455 | |
14456 @item | |
14457 Decide on download policy. @xref{Agent Categories}. | |
14458 | |
14459 @item | |
14460 Uhm... that's it. | |
14461 @end itemize | |
14462 | |
14463 | |
14464 @node Agent Categories | |
14465 @subsection Agent Categories | |
14466 | |
14467 One of the main reasons to integrate the news transport layer into the | |
14468 newsreader is to allow greater control over what articles to download. | |
14469 There's not much point in downloading huge amounts of articles, just to | |
14470 find out that you're not interested in reading any of them. It's better | |
14471 to be somewhat more conservative in choosing what to download, and then | |
14472 mark the articles for downloading manually if it should turn out that | |
14473 you're interested in the articles anyway. | |
14474 | |
14475 The main way to control what is to be downloaded is to create a | |
14476 @dfn{category} and then assign some (or all) groups to this category. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14477 Groups that do not belong in any other category belong to the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14478 @code{default} category. Gnus has its own buffer for creating and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14479 managing categories. |
25829 | 14480 |
14481 @menu | |
14482 * Category Syntax:: What a category looks like. | |
14483 * The Category Buffer:: A buffer for maintaining categories. | |
14484 * Category Variables:: Customize'r'Us. | |
14485 @end menu | |
14486 | |
14487 | |
14488 @node Category Syntax | |
14489 @subsubsection Category Syntax | |
14490 | |
14491 A category consists of two things. | |
14492 | |
14493 @enumerate | |
14494 @item | |
14495 A predicate which (generally) gives a rough outline of which articles | |
14496 are eligible for downloading; and | |
14497 | |
14498 @item | |
14499 a score rule which (generally) gives you a finer granularity when | |
14500 deciding what articles to download. (Note that this @dfn{download | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14501 score} is not necessarily related to normal scores.) |
25829 | 14502 @end enumerate |
14503 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14504 A predicate in its simplest form can be a single predicate such as |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14505 @code{true} or @code{false}. These two will download every available |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14506 article or nothing respectively. In the case of these two special |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14507 predicates an additional score rule is superfluous. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14508 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14509 Predicates of @code{high} or @code{low} download articles in respect of |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14510 their scores in relationship to @code{gnus-agent-high-score} and |
33292 | 14511 @code{gnus-agent-low-score} as described below. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14512 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14513 To gain even finer control of what is to be regarded eligible for |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14514 download a predicate can consist of a number of predicates with logical |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14515 operators sprinkled in between. |
25829 | 14516 |
14517 Perhaps some examples are in order. | |
14518 | |
14519 Here's a simple predicate. (It's the default predicate, in fact, used | |
14520 for all groups that don't belong to any other category.) | |
14521 | |
14522 @lisp | |
14523 short | |
14524 @end lisp | |
14525 | |
14526 Quite simple, eh? This predicate is true if and only if the article is | |
14527 short (for some value of ``short''). | |
14528 | |
14529 Here's a more complex predicate: | |
14530 | |
14531 @lisp | |
14532 (or high | |
14533 (and | |
14534 (not low) | |
14535 (not long))) | |
14536 @end lisp | |
14537 | |
14538 This means that an article should be downloaded if it has a high score, | |
14539 or if the score is not low and the article is not long. You get the | |
14540 drift. | |
14541 | |
14542 The available logical operators are @code{or}, @code{and} and | |
14543 @code{not}. (If you prefer, you can use the more ``C''-ish operators | |
14544 @samp{|}, @code{&} and @code{!} instead.) | |
14545 | |
14546 The following predicates are pre-defined, but if none of these fit what | |
14547 you want to do, you can write your own. | |
14548 | |
14549 @table @code | |
14550 @item short | |
14551 True iff the article is shorter than @code{gnus-agent-short-article} | |
14552 lines; default 100. | |
14553 | |
14554 @item long | |
14555 True iff the article is longer than @code{gnus-agent-long-article} | |
14556 lines; default 200. | |
14557 | |
14558 @item low | |
14559 True iff the article has a download score less than | |
14560 @code{gnus-agent-low-score}; default 0. | |
14561 | |
14562 @item high | |
14563 True iff the article has a download score greater than | |
14564 @code{gnus-agent-high-score}; default 0. | |
14565 | |
14566 @item spam | |
14567 True iff the Gnus Agent guesses that the article is spam. The | |
14568 heuristics may change over time, but at present it just computes a | |
14569 checksum and sees whether articles match. | |
14570 | |
14571 @item true | |
14572 Always true. | |
14573 | |
14574 @item false | |
14575 Always false. | |
14576 @end table | |
14577 | |
14578 If you want to create your own predicate function, here's what you have | |
14579 to know: The functions are called with no parameters, but the | |
14580 @code{gnus-headers} and @code{gnus-score} dynamic variables are bound to | |
14581 useful values. | |
14582 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14583 For example, you could decide that you don't want to download articles |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14584 that were posted more than a certain number of days ago (e.g. posted |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14585 more than @code{gnus-agent-expire-days} ago) you might write a function |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14586 something along the lines of the following: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14587 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14588 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14589 (defun my-article-old-p () |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14590 "Say whether an article is old." |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14591 (< (time-to-days (date-to-time (mail-header-date gnus-headers))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14592 (- (time-to-days (current-time)) gnus-agent-expire-days))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14593 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14594 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14595 with the predicate then defined as: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14596 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14597 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14598 (not my-article-old-p) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14599 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14600 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14601 or you could append your predicate to the predefined |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14602 @code{gnus-category-predicate-alist} in your @file{~/.gnus.el} or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14603 wherever. (Note: this would have to be at a point *after* |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14604 @code{gnus-agent} has been loaded via @code{(gnus-agentize)}) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14605 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14606 @lisp |
35614 | 14607 (setq gnus-category-predicate-alist |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14608 (append gnus-category-predicate-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14609 '((old . my-article-old-p)))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14610 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14611 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14612 and simply specify your predicate as: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14613 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14614 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14615 (not old) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14616 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14617 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14618 If/when using something like the above, be aware that there are many |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14619 misconfigured systems/mailers out there and so an article's date is not |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14620 always a reliable indication of when it was posted. Hell, some people |
35073 | 14621 just don't give a damn. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14622 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14623 The above predicates apply to *all* the groups which belong to the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14624 category. However, if you wish to have a specific predicate for an |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14625 individual group within a category, or you're just too lazy to set up a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14626 new category, you can enter a group's individual predicate in it's group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14627 parameters like so: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14628 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14629 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14630 (agent-predicate . short) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14631 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14632 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14633 This is the group parameter equivalent of the agent category default. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14634 Note that when specifying a single word predicate like this, the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14635 @code{agent-predicate} specification must be in dotted pair notation. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14636 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14637 The equivalent of the longer example from above would be: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14638 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14639 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14640 (agent-predicate or high (and (not low) (not long))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14641 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14642 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14643 The outer parenthesis required in the category specification are not |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14644 entered here as, not being in dotted pair notation, the value of the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14645 predicate is assumed to be a list. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14646 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14647 |
25829 | 14648 Now, the syntax of the download score is the same as the syntax of |
14649 normal score files, except that all elements that require actually | |
14650 seeing the article itself are verboten. This means that only the | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14651 following headers can be scored on: @code{Subject}, @code{From}, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14652 @code{Date}, @code{Message-ID}, @code{References}, @code{Chars}, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14653 @code{Lines}, and @code{Xref}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14654 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14655 As with predicates, the specification of the @code{download score rule} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14656 to use in respect of a group can be in either the category definition if |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14657 it's to be applicable to all groups in therein, or a group's parameters |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14658 if it's to be specific to that group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14659 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14660 In both of these places the @code{download score rule} can take one of |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14661 three forms: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14662 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14663 @enumerate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14664 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14665 Score rule |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14666 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14667 This has the same syntax as a normal gnus score file except only a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14668 subset of scoring keywords are available as mentioned above. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14669 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14670 example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14671 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14672 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14673 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14674 Category specification |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14675 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14676 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14677 (("from" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14678 ("Lars Ingebrigtsen" 1000000 nil s)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14679 ("lines" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14680 (500 -100 nil <))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14681 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14682 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14683 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14684 Group Parameter specification |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14685 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14686 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14687 (agent-score ("from" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14688 ("Lars Ingebrigtsen" 1000000 nil s)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14689 ("lines" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14690 (500 -100 nil <))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14691 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14692 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14693 Again, note the omission of the outermost parenthesis here. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14694 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14695 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14696 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14697 Agent score file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14698 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14699 These score files must *only* contain the permitted scoring keywords |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14700 stated above. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14701 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14702 example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14703 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14704 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14705 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14706 Category specification |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14707 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14708 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14709 ("~/News/agent.SCORE") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14710 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14711 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14712 or perhaps |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14713 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14714 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14715 ("~/News/agent.SCORE" "~/News/agent.group.SCORE") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14716 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14717 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14718 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14719 Group Parameter specification |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14720 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14721 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14722 (agent-score "~/News/agent.SCORE") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14723 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14724 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14725 Additional score files can be specified as above. Need I say anything |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14726 about parenthesis? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14727 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14728 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14729 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14730 Use @code{normal} score files |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14731 |
35073 | 14732 If you don't want to maintain two sets of scoring rules for a group, and |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14733 your desired @code{downloading} criteria for a group are the same as your |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14734 @code{reading} criteria then you can tell the agent to refer to your |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14735 @code{normal} score files when deciding what to download. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14736 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14737 These directives in either the category definition or a group's |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14738 parameters will cause the agent to read in all the applicable score |
36333
a0141ceb7edc
(Splitting in IMAP): Remove doubled `might'.
Gerd Moellmann <gerd@gnu.org>
parents:
36057
diff
changeset
|
14739 files for a group, *filtering out* those sections that do not |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14740 relate to one of the permitted subset of scoring keywords. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14741 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14742 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14743 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14744 Category Specification |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14745 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14746 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14747 file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14748 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14749 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14750 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14751 Group Parameter specification |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14752 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14753 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14754 (agent-score . file) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14755 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14756 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14757 @end enumerate |
25829 | 14758 |
14759 @node The Category Buffer | |
14760 @subsubsection The Category Buffer | |
14761 | |
14762 You'd normally do all category maintenance from the category buffer. | |
14763 When you enter it for the first time (with the @kbd{J c} command from | |
14764 the group buffer), you'll only see the @code{default} category. | |
14765 | |
14766 The following commands are available in this buffer: | |
14767 | |
14768 @table @kbd | |
14769 @item q | |
14770 @kindex q (Category) | |
14771 @findex gnus-category-exit | |
14772 Return to the group buffer (@code{gnus-category-exit}). | |
14773 | |
14774 @item k | |
14775 @kindex k (Category) | |
14776 @findex gnus-category-kill | |
14777 Kill the current category (@code{gnus-category-kill}). | |
14778 | |
14779 @item c | |
14780 @kindex c (Category) | |
14781 @findex gnus-category-copy | |
14782 Copy the current category (@code{gnus-category-copy}). | |
14783 | |
14784 @item a | |
14785 @kindex a (Category) | |
14786 @findex gnus-category-add | |
14787 Add a new category (@code{gnus-category-add}). | |
14788 | |
14789 @item p | |
14790 @kindex p (Category) | |
14791 @findex gnus-category-edit-predicate | |
14792 Edit the predicate of the current category | |
14793 (@code{gnus-category-edit-predicate}). | |
14794 | |
14795 @item g | |
14796 @kindex g (Category) | |
14797 @findex gnus-category-edit-groups | |
14798 Edit the list of groups belonging to the current category | |
14799 (@code{gnus-category-edit-groups}). | |
14800 | |
14801 @item s | |
14802 @kindex s (Category) | |
14803 @findex gnus-category-edit-score | |
14804 Edit the download score rule of the current category | |
14805 (@code{gnus-category-edit-score}). | |
14806 | |
14807 @item l | |
14808 @kindex l (Category) | |
14809 @findex gnus-category-list | |
14810 List all the categories (@code{gnus-category-list}). | |
14811 @end table | |
14812 | |
14813 | |
14814 @node Category Variables | |
14815 @subsubsection Category Variables | |
14816 | |
14817 @table @code | |
14818 @item gnus-category-mode-hook | |
14819 @vindex gnus-category-mode-hook | |
14820 Hook run in category buffers. | |
14821 | |
14822 @item gnus-category-line-format | |
14823 @vindex gnus-category-line-format | |
14824 Format of the lines in the category buffer (@pxref{Formatting | |
14825 Variables}). Valid elements are: | |
14826 | |
14827 @table @samp | |
14828 @item c | |
14829 The name of the category. | |
14830 | |
14831 @item g | |
14832 The number of groups in the category. | |
14833 @end table | |
14834 | |
14835 @item gnus-category-mode-line-format | |
14836 @vindex gnus-category-mode-line-format | |
14837 Format of the category mode line (@pxref{Mode Line Formatting}). | |
14838 | |
14839 @item gnus-agent-short-article | |
14840 @vindex gnus-agent-short-article | |
14841 Articles that have fewer lines than this are short. Default 100. | |
14842 | |
14843 @item gnus-agent-long-article | |
14844 @vindex gnus-agent-long-article | |
14845 Articles that have more lines than this are long. Default 200. | |
14846 | |
14847 @item gnus-agent-low-score | |
14848 @vindex gnus-agent-low-score | |
14849 Articles that have a score lower than this have a low score. Default | |
14850 0. | |
14851 | |
14852 @item gnus-agent-high-score | |
14853 @vindex gnus-agent-high-score | |
14854 Articles that have a score higher than this have a high score. Default | |
14855 0. | |
14856 | |
14857 @end table | |
14858 | |
14859 | |
14860 @node Agent Commands | |
14861 @subsection Agent Commands | |
14862 | |
14863 All the Gnus Agent commands are on the @kbd{J} submap. The @kbd{J j} | |
14864 (@code{gnus-agent-toggle-plugged} command works in all modes, and | |
14865 toggles the plugged/unplugged state of the Gnus Agent. | |
14866 | |
14867 | |
14868 @menu | |
14869 * Group Agent Commands:: | |
14870 * Summary Agent Commands:: | |
14871 * Server Agent Commands:: | |
14872 @end menu | |
14873 | |
14874 You can run a complete batch fetch from the command line with the | |
14875 following incantation: | |
14876 | |
14877 @cindex gnus-agent-batch-fetch | |
14878 @example | |
14879 $ emacs -batch -l ~/.gnus.el -f gnus-agent-batch-fetch | |
14880 @end example | |
14881 | |
14882 | |
14883 | |
14884 @node Group Agent Commands | |
14885 @subsubsection Group Agent Commands | |
14886 | |
14887 @table @kbd | |
14888 @item J u | |
14889 @kindex J u (Agent Group) | |
14890 @findex gnus-agent-fetch-groups | |
14891 Fetch all eligible articles in the current group | |
14892 (@code{gnus-agent-fetch-groups}). | |
14893 | |
14894 @item J c | |
14895 @kindex J c (Agent Group) | |
14896 @findex gnus-enter-category-buffer | |
14897 Enter the Agent category buffer (@code{gnus-enter-category-buffer}). | |
14898 | |
14899 @item J s | |
14900 @kindex J s (Agent Group) | |
14901 @findex gnus-agent-fetch-session | |
14902 Fetch all eligible articles in all groups | |
14903 (@code{gnus-agent-fetch-session}). | |
14904 | |
14905 @item J S | |
14906 @kindex J S (Agent Group) | |
14907 @findex gnus-group-send-drafts | |
14908 Send all sendable messages in the draft group | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14909 (@code{gnus-group-send-drafts}). @xref{Drafts}. |
25829 | 14910 |
14911 @item J a | |
14912 @kindex J a (Agent Group) | |
14913 @findex gnus-agent-add-group | |
14914 Add the current group to an Agent category | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14915 (@code{gnus-agent-add-group}). This command understands the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14916 process/prefix convention (@pxref{Process/Prefix}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14917 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14918 @item J r |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14919 @kindex J r (Agent Group) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14920 @findex gnus-agent-remove-group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14921 Remove the current group from its category, if any |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14922 (@code{gnus-agent-remove-group}). This command understands the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14923 process/prefix convention (@pxref{Process/Prefix}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14924 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14925 @item J Y |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14926 @kindex J Y (Agent Group) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14927 @findex gnus-agent-synchronize-flags |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14928 Synchronize flags changed while unplugged with remote server, if any. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14929 |
25829 | 14930 |
14931 @end table | |
14932 | |
14933 | |
14934 @node Summary Agent Commands | |
14935 @subsubsection Summary Agent Commands | |
14936 | |
14937 @table @kbd | |
14938 @item J # | |
14939 @kindex J # (Agent Summary) | |
14940 @findex gnus-agent-mark-article | |
14941 Mark the article for downloading (@code{gnus-agent-mark-article}). | |
14942 | |
14943 @item J M-# | |
14944 @kindex J M-# (Agent Summary) | |
14945 @findex gnus-agent-unmark-article | |
14946 Remove the downloading mark from the article | |
14947 (@code{gnus-agent-unmark-article}). | |
14948 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14949 @item @@ |
25829 | 14950 @kindex @@ (Agent Summary) |
14951 @findex gnus-agent-toggle-mark | |
14952 Toggle whether to download the article (@code{gnus-agent-toggle-mark}). | |
14953 | |
14954 @item J c | |
14955 @kindex J c (Agent Summary) | |
14956 @findex gnus-agent-catchup | |
14957 Mark all undownloaded articles as read (@code{gnus-agent-catchup}). | |
14958 | |
14959 @end table | |
14960 | |
14961 | |
14962 @node Server Agent Commands | |
14963 @subsubsection Server Agent Commands | |
14964 | |
14965 @table @kbd | |
14966 @item J a | |
14967 @kindex J a (Agent Server) | |
14968 @findex gnus-agent-add-server | |
14969 Add the current server to the list of servers covered by the Gnus Agent | |
14970 (@code{gnus-agent-add-server}). | |
14971 | |
14972 @item J r | |
14973 @kindex J r (Agent Server) | |
14974 @findex gnus-agent-remove-server | |
14975 Remove the current server from the list of servers covered by the Gnus | |
14976 Agent (@code{gnus-agent-remove-server}). | |
14977 | |
14978 @end table | |
14979 | |
14980 | |
14981 @node Agent Expiry | |
14982 @subsection Agent Expiry | |
14983 | |
14984 @vindex gnus-agent-expire-days | |
14985 @findex gnus-agent-expire | |
14986 @kindex M-x gnus-agent-expire | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14987 @cindex Agent expiry |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14988 @cindex Gnus Agent expiry |
25829 | 14989 @cindex expiry |
14990 | |
14991 @code{nnagent} doesn't handle expiry. Instead, there's a special | |
14992 @code{gnus-agent-expire} command that will expire all read articles that | |
14993 are older than @code{gnus-agent-expire-days} days. It can be run | |
14994 whenever you feel that you're running out of space. It's not | |
14995 particularly fast or efficient, and it's not a particularly good idea to | |
14996 interrupt it (with @kbd{C-g} or anything else) once you've started it. | |
14997 | |
14998 @vindex gnus-agent-expire-all | |
14999 if @code{gnus-agent-expire-all} is non-@code{nil}, this command will | |
15000 expire all articles---unread, read, ticked and dormant. If @code{nil} | |
15001 (which is the default), only read articles are eligible for expiry, and | |
15002 unread, ticked and dormant articles will be kept indefinitely. | |
15003 | |
15004 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15005 @node Agent and IMAP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15006 @subsection Agent and IMAP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15007 |
39395 | 15008 The Agent work with any Gnus back end, including nnimap. However, |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
15009 since there are some conceptual differences between @sc{nntp} and |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
15010 @sc{imap}, this section (should) provide you with some information to |
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
15011 make Gnus Agent work smoother as a @sc{imap} Disconnected Mode client. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15012 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15013 The first thing to keep in mind is that all flags (read, ticked, etc) |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
15014 are kept on the @sc{imap} server, rather than in @file{.newsrc} as is the |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15015 case for nntp. Thus Gnus need to remember flag changes when |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15016 disconnected, and synchronize these flags when you plug back in. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15017 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15018 Gnus keep track of flag changes when reading nnimap groups under the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15019 Agent by default. When you plug back in, by default Gnus will check if |
35073 | 15020 you have any changed any flags and ask if you wish to synchronize these |
38017
32f10000ac35
Don't use the British spelling of "behaviour".
Eli Zaretskii <eliz@gnu.org>
parents:
38013
diff
changeset
|
15021 with the server. This behavior is customizable with |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15022 @code{gnus-agent-synchronize-flags}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15023 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15024 @vindex gnus-agent-synchronize-flags |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15025 If @code{gnus-agent-synchronize-flags} is @code{nil}, the Agent will |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15026 never automatically synchronize flags. If it is @code{ask}, the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15027 default, the Agent will check if you made any changes and if so ask if |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15028 you wish to synchronize these when you re-connect. If it has any other |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15029 value, all flags will be synchronized automatically. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15030 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15031 If you do not wish to automatically synchronize flags when you |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15032 re-connect, this can be done manually with the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15033 @code{gnus-agent-synchronize-flags} command that is bound to @kbd{J Y} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15034 in the group buffer by default. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15035 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15036 Some things are currently not implemented in the Agent that you'd might |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
15037 expect from a disconnected @sc{imap} client, including: |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15038 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15039 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15040 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15041 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15042 Copying/moving articles into nnimap groups when unplugged. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15043 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15044 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15045 Creating/deleting nnimap groups when unplugged. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15046 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15047 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15048 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15049 Technical note: the synchronization algorithm does not work by "pushing" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15050 all local flags to the server, but rather incrementally update the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15051 server view of flags by changing only those flags that were changed by |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15052 the user. Thus, if you set one flag on a article, quit the group and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15053 re-select the group and remove the flag; the flag will be set and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15054 removed from the server when you "synchronize". The queued flag |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15055 operations can be found in the per-server @code{flags} file in the Agent |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15056 directory. It's emptied when you synchronize flags. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15057 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15058 |
25829 | 15059 @node Outgoing Messages |
15060 @subsection Outgoing Messages | |
15061 | |
15062 When Gnus is unplugged, all outgoing messages (both mail and news) are | |
15063 stored in the draft groups (@pxref{Drafts}). You can view them there | |
15064 after posting, and edit them at will. | |
15065 | |
15066 When Gnus is plugged again, you can send the messages either from the | |
15067 draft group with the special commands available there, or you can use | |
15068 the @kbd{J S} command in the group buffer to send all the sendable | |
15069 messages in the draft group. | |
15070 | |
15071 | |
15072 | |
15073 @node Agent Variables | |
15074 @subsection Agent Variables | |
15075 | |
15076 @table @code | |
15077 @item gnus-agent-directory | |
15078 @vindex gnus-agent-directory | |
15079 Where the Gnus Agent will store its files. The default is | |
15080 @file{~/News/agent/}. | |
15081 | |
15082 @item gnus-agent-handle-level | |
15083 @vindex gnus-agent-handle-level | |
15084 Groups on levels (@pxref{Group Levels}) higher than this variable will | |
15085 be ignored by the Agent. The default is @code{gnus-level-subscribed}, | |
15086 which means that only subscribed group will be considered by the Agent | |
15087 by default. | |
15088 | |
15089 @item gnus-agent-plugged-hook | |
15090 @vindex gnus-agent-plugged-hook | |
15091 Hook run when connecting to the network. | |
15092 | |
15093 @item gnus-agent-unplugged-hook | |
15094 @vindex gnus-agent-unplugged-hook | |
15095 Hook run when disconnecting from the network. | |
15096 | |
15097 @end table | |
15098 | |
15099 | |
15100 @node Example Setup | |
15101 @subsection Example Setup | |
15102 | |
15103 If you don't want to read this manual, and you have a fairly standard | |
15104 setup, you may be able to use something like the following as your | |
15105 @file{.gnus.el} file to get started. | |
15106 | |
15107 @lisp | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15108 ;;; Define how Gnus is to fetch news. We do this over @sc{nntp} |
25829 | 15109 ;;; from your ISP's server. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15110 (setq gnus-select-method '(nntp "news.your-isp.com")) |
25829 | 15111 |
15112 ;;; Define how Gnus is to read your mail. We read mail from | |
15113 ;;; your ISP's POP server. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15114 (setq mail-sources '((pop :server "pop.your-isp.com"))) |
25829 | 15115 |
15116 ;;; Say how Gnus is to store the mail. We use nnml groups. | |
15117 (setq gnus-secondary-select-methods '((nnml ""))) | |
15118 | |
15119 ;;; Make Gnus into an offline newsreader. | |
15120 (gnus-agentize) | |
15121 @end lisp | |
15122 | |
15123 That should be it, basically. Put that in your @file{~/.gnus.el} file, | |
15124 edit to suit your needs, start up PPP (or whatever), and type @kbd{M-x | |
15125 gnus}. | |
15126 | |
15127 If this is the first time you've run Gnus, you will be subscribed | |
15128 automatically to a few default newsgroups. You'll probably want to | |
15129 subscribe to more groups, and to do that, you have to query the | |
15130 @sc{nntp} server for a complete list of groups with the @kbd{A A} | |
15131 command. This usually takes quite a while, but you only have to do it | |
15132 once. | |
15133 | |
15134 After reading and parsing a while, you'll be presented with a list of | |
15135 groups. Subscribe to the ones you want to read with the @kbd{u} | |
15136 command. @kbd{l} to make all the killed groups disappear after you've | |
15137 subscribe to all the groups you want to read. (@kbd{A k} will bring | |
15138 back all the killed groups.) | |
15139 | |
15140 You can now read the groups at once, or you can download the articles | |
15141 with the @kbd{J s} command. And then read the rest of this manual to | |
15142 find out which of the other gazillion things you want to customize. | |
15143 | |
15144 | |
15145 @node Batching Agents | |
15146 @subsection Batching Agents | |
15147 | |
15148 Having the Gnus Agent fetch articles (and post whatever messages you've | |
15149 written) is quite easy once you've gotten things set up properly. The | |
15150 following shell script will do everything that is necessary: | |
15151 | |
15152 @example | |
15153 #!/bin/sh | |
15154 emacs -batch -l ~/.emacs -f gnus-agent-batch >/dev/null | |
15155 @end example | |
15156 | |
15157 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15158 @node Agent Caveats |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15159 @subsection Agent Caveats |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15160 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15161 The Gnus Agent doesn't seem to work like most other offline |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15162 newsreaders. Here are some common questions that some imaginary people |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15163 may ask: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15164 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15165 @table @dfn |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15166 @item If I read an article while plugged, do they get entered into the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15167 Agent? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15168 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15169 @strong{No.} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15170 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15171 @item If I read an article while plugged, and the article already exists |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15172 in the Agent, will it get downloaded once more? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15173 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15174 @strong{Yes.} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15175 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15176 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15177 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15178 In short, when Gnus is unplugged, it only looks into the locally stored |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15179 articles; when it's plugged, it only talks to your ISP. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15180 |
25829 | 15181 |
15182 @node Scoring | |
15183 @chapter Scoring | |
15184 @cindex scoring | |
15185 | |
15186 Other people use @dfn{kill files}, but we here at Gnus Towers like | |
15187 scoring better than killing, so we'd rather switch than fight. They do | |
15188 something completely different as well, so sit up straight and pay | |
15189 attention! | |
15190 | |
15191 @vindex gnus-summary-mark-below | |
15192 All articles have a default score (@code{gnus-summary-default-score}), | |
15193 which is 0 by default. This score may be raised or lowered either | |
15194 interactively or by score files. Articles that have a score lower than | |
15195 @code{gnus-summary-mark-below} are marked as read. | |
15196 | |
15197 Gnus will read any @dfn{score files} that apply to the current group | |
15198 before generating the summary buffer. | |
15199 | |
15200 There are several commands in the summary buffer that insert score | |
15201 entries based on the current article. You can, for instance, ask Gnus to | |
15202 lower or increase the score of all articles with a certain subject. | |
15203 | |
15204 There are two sorts of scoring entries: Permanent and temporary. | |
15205 Temporary score entries are self-expiring entries. Any entries that are | |
15206 temporary and have not been used for, say, a week, will be removed | |
15207 silently to help keep the sizes of the score files down. | |
15208 | |
15209 @menu | |
15210 * Summary Score Commands:: Adding score entries for the current group. | |
15211 * Group Score Commands:: General score commands. | |
15212 * Score Variables:: Customize your scoring. (My, what terminology). | |
15213 * Score File Format:: What a score file may contain. | |
15214 * Score File Editing:: You can edit score files by hand as well. | |
15215 * Adaptive Scoring:: Big Sister Gnus knows what you read. | |
15216 * Home Score File:: How to say where new score entries are to go. | |
15217 * Followups To Yourself:: Having Gnus notice when people answer you. | |
15218 * Scoring Tips:: How to score effectively. | |
15219 * Reverse Scoring:: That problem child of old is not problem. | |
15220 * Global Score Files:: Earth-spanning, ear-splitting score files. | |
15221 * Kill Files:: They are still here, but they can be ignored. | |
15222 * Converting Kill Files:: Translating kill files to score files. | |
15223 * GroupLens:: Getting predictions on what you like to read. | |
15224 * Advanced Scoring:: Using logical expressions to build score rules. | |
15225 * Score Decays:: It can be useful to let scores wither away. | |
15226 @end menu | |
15227 | |
15228 | |
15229 @node Summary Score Commands | |
15230 @section Summary Score Commands | |
15231 @cindex score commands | |
15232 | |
15233 The score commands that alter score entries do not actually modify real | |
15234 score files. That would be too inefficient. Gnus maintains a cache of | |
15235 previously loaded score files, one of which is considered the | |
15236 @dfn{current score file alist}. The score commands simply insert | |
15237 entries into this list, and upon group exit, this list is saved. | |
15238 | |
15239 The current score file is by default the group's local score file, even | |
15240 if no such score file actually exists. To insert score commands into | |
15241 some other score file (e.g. @file{all.SCORE}), you must first make this | |
15242 score file the current one. | |
15243 | |
15244 General score commands that don't actually change the score file: | |
15245 | |
15246 @table @kbd | |
15247 | |
15248 @item V s | |
36028 | 15249 @kindex V s @r{(Summary)} |
25829 | 15250 @findex gnus-summary-set-score |
15251 Set the score of the current article (@code{gnus-summary-set-score}). | |
15252 | |
15253 @item V S | |
36028 | 15254 @kindex V S @r{(Summary)} |
25829 | 15255 @findex gnus-summary-current-score |
15256 Display the score of the current article | |
15257 (@code{gnus-summary-current-score}). | |
15258 | |
15259 @item V t | |
36028 | 15260 @kindex V t @r{(Summary)} |
25829 | 15261 @findex gnus-score-find-trace |
15262 Display all score rules that have been used on the current article | |
15263 (@code{gnus-score-find-trace}). | |
15264 | |
15265 @item V R | |
36028 | 15266 @kindex V R @r{(Summary)} |
25829 | 15267 @findex gnus-summary-rescore |
15268 Run the current summary through the scoring process | |
15269 (@code{gnus-summary-rescore}). This might be useful if you're playing | |
15270 around with your score files behind Gnus' back and want to see the | |
15271 effect you're having. | |
15272 | |
15273 @item V c | |
36028 | 15274 @kindex V c @r{(Summary)} |
25829 | 15275 @findex gnus-score-change-score-file |
15276 Make a different score file the current | |
15277 (@code{gnus-score-change-score-file}). | |
15278 | |
15279 @item V e | |
36028 | 15280 @kindex V e @r{(Summary)} |
25829 | 15281 @findex gnus-score-edit-current-scores |
15282 Edit the current score file (@code{gnus-score-edit-current-scores}). | |
15283 You will be popped into a @code{gnus-score-mode} buffer (@pxref{Score | |
15284 File Editing}). | |
15285 | |
15286 @item V f | |
36028 | 15287 @kindex V f @r{(Summary)} |
25829 | 15288 @findex gnus-score-edit-file |
15289 Edit a score file and make this score file the current one | |
15290 (@code{gnus-score-edit-file}). | |
15291 | |
15292 @item V F | |
36028 | 15293 @kindex V F @r{(Summary)} |
25829 | 15294 @findex gnus-score-flush-cache |
15295 Flush the score cache (@code{gnus-score-flush-cache}). This is useful | |
15296 after editing score files. | |
15297 | |
15298 @item V C | |
36028 | 15299 @kindex V C @r{(Summary)} |
25829 | 15300 @findex gnus-score-customize |
15301 Customize a score file in a visually pleasing manner | |
15302 (@code{gnus-score-customize}). | |
15303 | |
15304 @end table | |
15305 | |
15306 The rest of these commands modify the local score file. | |
15307 | |
15308 @table @kbd | |
15309 | |
15310 @item V m | |
36028 | 15311 @kindex V m @r{(Summary)} |
25829 | 15312 @findex gnus-score-set-mark-below |
15313 Prompt for a score, and mark all articles with a score below this as | |
15314 read (@code{gnus-score-set-mark-below}). | |
15315 | |
15316 @item V x | |
36028 | 15317 @kindex V x @r{(Summary)} |
25829 | 15318 @findex gnus-score-set-expunge-below |
15319 Prompt for a score, and add a score rule to the current score file to | |
15320 expunge all articles below this score | |
15321 (@code{gnus-score-set-expunge-below}). | |
15322 @end table | |
15323 | |
15324 The keystrokes for actually making score entries follow a very regular | |
15325 pattern, so there's no need to list all the commands. (Hundreds of | |
15326 them.) | |
15327 | |
15328 @findex gnus-summary-increase-score | |
15329 @findex gnus-summary-lower-score | |
15330 | |
15331 @enumerate | |
15332 @item | |
15333 The first key is either @kbd{I} (upper case i) for increasing the score | |
15334 or @kbd{L} for lowering the score. | |
15335 @item | |
15336 The second key says what header you want to score on. The following | |
15337 keys are available: | |
15338 @table @kbd | |
15339 | |
15340 @item a | |
15341 Score on the author name. | |
15342 | |
15343 @item s | |
15344 Score on the subject line. | |
15345 | |
15346 @item x | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15347 Score on the @code{Xref} line---i.e., the cross-posting line. |
25829 | 15348 |
15349 @item r | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15350 Score on the @code{References} line. |
25829 | 15351 |
15352 @item d | |
15353 Score on the date. | |
15354 | |
15355 @item l | |
15356 Score on the number of lines. | |
15357 | |
15358 @item i | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15359 Score on the @code{Message-ID} header. |
25829 | 15360 |
15361 @item f | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15362 Score on followups---this matches the author name, and adds scores to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15363 the followups to this author. |
25829 | 15364 |
15365 @item b | |
15366 Score on the body. | |
15367 | |
15368 @item h | |
15369 Score on the head. | |
15370 | |
15371 @item t | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15372 Score on thread. |
25829 | 15373 |
15374 @end table | |
15375 | |
15376 @item | |
15377 The third key is the match type. Which match types are valid depends on | |
15378 what headers you are scoring on. | |
15379 | |
15380 @table @code | |
15381 | |
15382 @item strings | |
15383 | |
15384 @table @kbd | |
15385 | |
15386 @item e | |
15387 Exact matching. | |
15388 | |
15389 @item s | |
15390 Substring matching. | |
15391 | |
15392 @item f | |
15393 Fuzzy matching (@pxref{Fuzzy Matching}). | |
15394 | |
15395 @item r | |
15396 Regexp matching | |
15397 @end table | |
15398 | |
15399 @item date | |
15400 @table @kbd | |
15401 | |
15402 @item b | |
15403 Before date. | |
15404 | |
15405 @item a | |
15406 After date. | |
15407 | |
15408 @item n | |
15409 This date. | |
15410 @end table | |
15411 | |
15412 @item number | |
15413 @table @kbd | |
15414 | |
15415 @item < | |
15416 Less than number. | |
15417 | |
15418 @item = | |
15419 Equal to number. | |
15420 | |
15421 @item > | |
15422 Greater than number. | |
15423 @end table | |
15424 @end table | |
15425 | |
15426 @item | |
15427 The fourth and final key says whether this is a temporary (i.e., expiring) | |
15428 score entry, or a permanent (i.e., non-expiring) score entry, or whether | |
15429 it is to be done immediately, without adding to the score file. | |
15430 @table @kbd | |
15431 | |
15432 @item t | |
15433 Temporary score entry. | |
15434 | |
15435 @item p | |
15436 Permanent score entry. | |
15437 | |
15438 @item i | |
15439 Immediately scoring. | |
15440 @end table | |
15441 | |
15442 @end enumerate | |
15443 | |
15444 So, let's say you want to increase the score on the current author with | |
15445 exact matching permanently: @kbd{I a e p}. If you want to lower the | |
15446 score based on the subject line, using substring matching, and make a | |
15447 temporary score entry: @kbd{L s s t}. Pretty easy. | |
15448 | |
15449 To make things a bit more complicated, there are shortcuts. If you use | |
15450 a capital letter on either the second or third keys, Gnus will use | |
15451 defaults for the remaining one or two keystrokes. The defaults are | |
15452 ``substring'' and ``temporary''. So @kbd{I A} is the same as @kbd{I a s | |
15453 t}, and @kbd{I a R} is the same as @kbd{I a r t}. | |
15454 | |
15455 These functions take both the numerical prefix and the symbolic prefix | |
15456 (@pxref{Symbolic Prefixes}). A numerical prefix says how much to lower | |
15457 (or increase) the score of the article. A symbolic prefix of @code{a} | |
15458 says to use the @file{all.SCORE} file for the command instead of the | |
15459 current score file. | |
15460 | |
15461 @vindex gnus-score-mimic-keymap | |
15462 The @code{gnus-score-mimic-keymap} says whether these commands will | |
15463 pretend they are keymaps or not. | |
15464 | |
15465 | |
15466 @node Group Score Commands | |
15467 @section Group Score Commands | |
15468 @cindex group score commands | |
15469 | |
15470 There aren't many of these as yet, I'm afraid. | |
15471 | |
15472 @table @kbd | |
15473 | |
15474 @item W f | |
36028 | 15475 @kindex W f @r{(Group)} |
25829 | 15476 @findex gnus-score-flush-cache |
15477 Gnus maintains a cache of score alists to avoid having to reload them | |
15478 all the time. This command will flush the cache | |
15479 (@code{gnus-score-flush-cache}). | |
15480 | |
15481 @end table | |
15482 | |
15483 You can do scoring from the command line by saying something like: | |
15484 | |
15485 @findex gnus-batch-score | |
15486 @cindex batch scoring | |
15487 @example | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15488 $ emacs -batch -l ~/.emacs -l ~/.gnus.el -f gnus-batch-score |
25829 | 15489 @end example |
15490 | |
15491 | |
15492 @node Score Variables | |
15493 @section Score Variables | |
15494 @cindex score variables | |
15495 | |
15496 @table @code | |
15497 | |
15498 @item gnus-use-scoring | |
15499 @vindex gnus-use-scoring | |
15500 If @code{nil}, Gnus will not check for score files, and will not, in | |
15501 general, do any score-related work. This is @code{t} by default. | |
15502 | |
15503 @item gnus-kill-killed | |
15504 @vindex gnus-kill-killed | |
15505 If this variable is @code{nil}, Gnus will never apply score files to | |
15506 articles that have already been through the kill process. While this | |
15507 may save you lots of time, it also means that if you apply a kill file | |
15508 to a group, and then change the kill file and want to run it over you | |
15509 group again to kill more articles, it won't work. You have to set this | |
15510 variable to @code{t} to do that. (It is @code{t} by default.) | |
15511 | |
15512 @item gnus-kill-files-directory | |
15513 @vindex gnus-kill-files-directory | |
15514 All kill and score files will be stored in this directory, which is | |
15515 initialized from the @code{SAVEDIR} environment variable by default. | |
15516 This is @file{~/News/} by default. | |
15517 | |
15518 @item gnus-score-file-suffix | |
15519 @vindex gnus-score-file-suffix | |
15520 Suffix to add to the group name to arrive at the score file name | |
15521 (@samp{SCORE} by default.) | |
15522 | |
15523 @item gnus-score-uncacheable-files | |
15524 @vindex gnus-score-uncacheable-files | |
15525 @cindex score cache | |
15526 All score files are normally cached to avoid excessive re-loading of | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15527 score files. However, if this might make your Emacs grow big and |
25829 | 15528 bloated, so this regexp can be used to weed out score files unlikely to be needed again. It would be a bad idea to deny caching of |
15529 @file{all.SCORE}, while it might be a good idea to not cache | |
15530 @file{comp.infosystems.www.authoring.misc.ADAPT}. In fact, this | |
15531 variable is @samp{ADAPT$} by default, so no adaptive score files will | |
15532 be cached. | |
15533 | |
15534 @item gnus-save-score | |
15535 @vindex gnus-save-score | |
15536 If you have really complicated score files, and do lots of batch | |
15537 scoring, then you might set this variable to @code{t}. This will make | |
15538 Gnus save the scores into the @file{.newsrc.eld} file. | |
15539 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15540 If you do not set this to @code{t}, then manual scores (like those set |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15541 with @kbd{V s} (@code{gnus-summary-set-score})) will not be preserved |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15542 across group visits. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15543 |
25829 | 15544 @item gnus-score-interactive-default-score |
15545 @vindex gnus-score-interactive-default-score | |
15546 Score used by all the interactive raise/lower commands to raise/lower | |
15547 score with. Default is 1000, which may seem excessive, but this is to | |
15548 ensure that the adaptive scoring scheme gets enough room to play with. | |
15549 We don't want the small changes from the adaptive scoring to overwrite | |
15550 manually entered data. | |
15551 | |
15552 @item gnus-summary-default-score | |
15553 @vindex gnus-summary-default-score | |
15554 Default score of an article, which is 0 by default. | |
15555 | |
15556 @item gnus-summary-expunge-below | |
15557 @vindex gnus-summary-expunge-below | |
15558 Don't display the summary lines of articles that have scores lower than | |
15559 this variable. This is @code{nil} by default, which means that no | |
15560 articles will be hidden. This variable is local to the summary buffers, | |
15561 and has to be set from @code{gnus-summary-mode-hook}. | |
15562 | |
15563 @item gnus-score-over-mark | |
15564 @vindex gnus-score-over-mark | |
15565 Mark (in the third column) used for articles with a score over the | |
15566 default. Default is @samp{+}. | |
15567 | |
15568 @item gnus-score-below-mark | |
15569 @vindex gnus-score-below-mark | |
15570 Mark (in the third column) used for articles with a score below the | |
15571 default. Default is @samp{-}. | |
15572 | |
15573 @item gnus-score-find-score-files-function | |
15574 @vindex gnus-score-find-score-files-function | |
15575 Function used to find score files for the current group. This function | |
15576 is called with the name of the group as the argument. | |
15577 | |
15578 Predefined functions available are: | |
15579 @table @code | |
15580 | |
15581 @item gnus-score-find-single | |
15582 @findex gnus-score-find-single | |
15583 Only apply the group's own score file. | |
15584 | |
15585 @item gnus-score-find-bnews | |
15586 @findex gnus-score-find-bnews | |
15587 Apply all score files that match, using bnews syntax. This is the | |
15588 default. If the current group is @samp{gnu.emacs.gnus}, for instance, | |
15589 @file{all.emacs.all.SCORE}, @file{not.alt.all.SCORE} and | |
15590 @file{gnu.all.SCORE} would all apply. In short, the instances of | |
15591 @samp{all} in the score file names are translated into @samp{.*}, and | |
15592 then a regexp match is done. | |
15593 | |
15594 This means that if you have some score entries that you want to apply to | |
15595 all groups, then you put those entries in the @file{all.SCORE} file. | |
15596 | |
15597 The score files are applied in a semi-random order, although Gnus will | |
15598 try to apply the more general score files before the more specific score | |
15599 files. It does this by looking at the number of elements in the score | |
15600 file names---discarding the @samp{all} elements. | |
15601 | |
15602 @item gnus-score-find-hierarchical | |
15603 @findex gnus-score-find-hierarchical | |
15604 Apply all score files from all the parent groups. This means that you | |
15605 can't have score files like @file{all.SCORE}, but you can have | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15606 @file{SCORE}, @file{comp.SCORE} and @file{comp.emacs.SCORE} for each |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15607 server. |
25829 | 15608 |
15609 @end table | |
15610 This variable can also be a list of functions. In that case, all these | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15611 functions will be called with the group name as argument, and all the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15612 returned lists of score files will be applied. These functions can also |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15613 return lists of score alists directly. In that case, the functions that |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15614 return these non-file score alists should probably be placed before the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15615 ``real'' score file functions, to ensure that the last score file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15616 returned is the local score file. Phu. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15617 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15618 For example, to do hierarchical scoring but use a non-server-specific |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15619 overall score file, you could use the value |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15620 @example |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
15621 (list (lambda (group) ("all.SCORE")) |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
15622 'gnus-score-find-hierarchical) |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15623 @end example |
25829 | 15624 |
15625 @item gnus-score-expiry-days | |
15626 @vindex gnus-score-expiry-days | |
15627 This variable says how many days should pass before an unused score file | |
15628 entry is expired. If this variable is @code{nil}, no score file entries | |
15629 are expired. It's 7 by default. | |
15630 | |
15631 @item gnus-update-score-entry-dates | |
15632 @vindex gnus-update-score-entry-dates | |
15633 If this variable is non-@code{nil}, matching score entries will have | |
15634 their dates updated. (This is how Gnus controls expiry---all | |
15635 non-matching entries will become too old while matching entries will | |
15636 stay fresh and young.) However, if you set this variable to @code{nil}, | |
15637 even matching entries will grow old and will have to face that oh-so | |
15638 grim reaper. | |
15639 | |
15640 @item gnus-score-after-write-file-function | |
15641 @vindex gnus-score-after-write-file-function | |
15642 Function called with the name of the score file just written. | |
15643 | |
15644 @item gnus-score-thread-simplify | |
15645 @vindex gnus-score-thread-simplify | |
15646 If this variable is non-@code{nil}, article subjects will be simplified | |
15647 for subject scoring purposes in the same manner as with | |
15648 threading---according to the current value of | |
15649 gnus-simplify-subject-functions. If the scoring entry uses | |
15650 @code{substring} or @code{exact} matching, the match will also be | |
15651 simplified in this manner. | |
15652 | |
15653 @end table | |
15654 | |
15655 | |
15656 @node Score File Format | |
15657 @section Score File Format | |
15658 @cindex score file format | |
15659 | |
15660 A score file is an @code{emacs-lisp} file that normally contains just a | |
15661 single form. Casual users are not expected to edit these files; | |
15662 everything can be changed from the summary buffer. | |
15663 | |
15664 Anyway, if you'd like to dig into it yourself, here's an example: | |
15665 | |
15666 @lisp | |
15667 (("from" | |
15668 ("Lars Ingebrigtsen" -10000) | |
15669 ("Per Abrahamsen") | |
15670 ("larsi\\|lmi" -50000 nil R)) | |
15671 ("subject" | |
15672 ("Ding is Badd" nil 728373)) | |
15673 ("xref" | |
15674 ("alt.politics" -1000 728372 s)) | |
15675 ("lines" | |
15676 (2 -100 nil <)) | |
15677 (mark 0) | |
15678 (expunge -1000) | |
15679 (mark-and-expunge -10) | |
15680 (read-only nil) | |
15681 (orphan -10) | |
15682 (adapt t) | |
15683 (files "/hom/larsi/News/gnu.SCORE") | |
15684 (exclude-files "all.SCORE") | |
15685 (local (gnus-newsgroup-auto-expire t) | |
15686 (gnus-summary-make-false-root empty)) | |
15687 (eval (ding))) | |
15688 @end lisp | |
15689 | |
15690 This example demonstrates most score file elements. For a different | |
15691 approach, see @pxref{Advanced Scoring}. | |
15692 | |
15693 Even though this looks much like lisp code, nothing here is actually | |
15694 @code{eval}ed. The lisp reader is used to read this form, though, so it | |
15695 has to be valid syntactically, if not semantically. | |
15696 | |
15697 Six keys are supported by this alist: | |
15698 | |
15699 @table @code | |
15700 | |
15701 @item STRING | |
15702 If the key is a string, it is the name of the header to perform the | |
15703 match on. Scoring can only be performed on these eight headers: | |
15704 @code{From}, @code{Subject}, @code{References}, @code{Message-ID}, | |
15705 @code{Xref}, @code{Lines}, @code{Chars} and @code{Date}. In addition to | |
15706 these headers, there are three strings to tell Gnus to fetch the entire | |
15707 article and do the match on larger parts of the article: @code{Body} | |
15708 will perform the match on the body of the article, @code{Head} will | |
15709 perform the match on the head of the article, and @code{All} will | |
15710 perform the match on the entire article. Note that using any of these | |
15711 last three keys will slow down group entry @emph{considerably}. The | |
15712 final ``header'' you can score on is @code{Followup}. These score | |
15713 entries will result in new score entries being added for all follow-ups | |
15714 to articles that matches these score entries. | |
15715 | |
15716 Following this key is a arbitrary number of score entries, where each | |
15717 score entry has one to four elements. | |
15718 @enumerate | |
15719 | |
15720 @item | |
15721 The first element is the @dfn{match element}. On most headers this will | |
15722 be a string, but on the Lines and Chars headers, this must be an | |
15723 integer. | |
15724 | |
15725 @item | |
15726 If the second element is present, it should be a number---the @dfn{score | |
15727 element}. This number should be an integer in the neginf to posinf | |
15728 interval. This number is added to the score of the article if the match | |
15729 is successful. If this element is not present, the | |
15730 @code{gnus-score-interactive-default-score} number will be used | |
15731 instead. This is 1000 by default. | |
15732 | |
15733 @item | |
15734 If the third element is present, it should be a number---the @dfn{date | |
15735 element}. This date says when the last time this score entry matched, | |
15736 which provides a mechanism for expiring the score entries. It this | |
15737 element is not present, the score entry is permanent. The date is | |
15738 represented by the number of days since December 31, 1 BCE. | |
15739 | |
15740 @item | |
15741 If the fourth element is present, it should be a symbol---the @dfn{type | |
15742 element}. This element specifies what function should be used to see | |
15743 whether this score entry matches the article. What match types that can | |
15744 be used depends on what header you wish to perform the match on. | |
15745 @table @dfn | |
15746 | |
15747 @item From, Subject, References, Xref, Message-ID | |
15748 For most header types, there are the @code{r} and @code{R} (regexp), as | |
15749 well as @code{s} and @code{S} (substring) types, and @code{e} and | |
15750 @code{E} (exact match), and @code{w} (word match) types. If this | |
15751 element is not present, Gnus will assume that substring matching should | |
15752 be used. @code{R}, @code{S}, and @code{E} differ from the others in | |
15753 that the matches will be done in a case-sensitive manner. All these | |
15754 one-letter types are really just abbreviations for the @code{regexp}, | |
15755 @code{string}, @code{exact}, and @code{word} types, which you can use | |
15756 instead, if you feel like. | |
15757 | |
15758 @item Lines, Chars | |
15759 These two headers use different match types: @code{<}, @code{>}, | |
15760 @code{=}, @code{>=} and @code{<=}. | |
15761 | |
15762 These predicates are true if | |
15763 | |
15764 @example | |
15765 (PREDICATE HEADER MATCH) | |
15766 @end example | |
15767 | |
15768 evaluates to non-@code{nil}. For instance, the advanced match | |
15769 @code{("lines" 4 <)} (@pxref{Advanced Scoring}) will result in the | |
15770 following form: | |
15771 | |
15772 @lisp | |
15773 (< header-value 4) | |
15774 @end lisp | |
15775 | |
15776 Or to put it another way: When using @code{<} on @code{Lines} with 4 as | |
15777 the match, we get the score added if the article has less than 4 lines. | |
15778 (It's easy to get confused and think it's the other way around. But | |
15779 it's not. I think.) | |
15780 | |
39395 | 15781 When matching on @code{Lines}, be careful because some back ends (like |
25829 | 15782 @code{nndir}) do not generate @code{Lines} header, so every article ends |
15783 up being marked as having 0 lines. This can lead to strange results if | |
15784 you happen to lower score of the articles with few lines. | |
15785 | |
15786 @item Date | |
15787 For the Date header we have three kinda silly match types: | |
15788 @code{before}, @code{at} and @code{after}. I can't really imagine this | |
15789 ever being useful, but, like, it would feel kinda silly not to provide | |
15790 this function. Just in case. You never know. Better safe than sorry. | |
15791 Once burnt, twice shy. Don't judge a book by its cover. Never not have | |
15792 sex on a first date. (I have been told that at least one person, and I | |
15793 quote, ``found this function indispensable'', however.) | |
15794 | |
15795 @cindex ISO8601 | |
15796 @cindex date | |
15797 A more useful match type is @code{regexp}. With it, you can match the | |
15798 date string using a regular expression. The date is normalized to | |
15799 ISO8601 compact format first---@var{YYYYMMDD}@code{T}@var{HHMMSS}. If | |
15800 you want to match all articles that have been posted on April 1st in | |
15801 every year, you could use @samp{....0401.........} as a match string, | |
15802 for instance. (Note that the date is kept in its original time zone, so | |
15803 this will match articles that were posted when it was April 1st where | |
15804 the article was posted from. Time zones are such wholesome fun for the | |
15805 whole family, eh?) | |
15806 | |
15807 @item Head, Body, All | |
15808 These three match keys use the same match types as the @code{From} (etc) | |
15809 header uses. | |
15810 | |
15811 @item Followup | |
15812 This match key is somewhat special, in that it will match the | |
15813 @code{From} header, and affect the score of not only the matching | |
15814 articles, but also all followups to the matching articles. This allows | |
15815 you e.g. increase the score of followups to your own articles, or | |
15816 decrease the score of followups to the articles of some known | |
15817 trouble-maker. Uses the same match types as the @code{From} header | |
15818 uses. (Using this match key will lead to creation of @file{ADAPT} | |
15819 files.) | |
15820 | |
15821 @item Thread | |
15822 This match key works along the same lines as the @code{Followup} match | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15823 key. If you say that you want to score on a (sub-)thread started by an |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15824 article with a @code{Message-ID} @var{x}, then you add a @samp{thread} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15825 match. This will add a new @samp{thread} match for each article that |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15826 has @var{x} in its @code{References} header. (These new @samp{thread} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15827 matches will use the @code{Message-ID}s of these matching articles.) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15828 This will ensure that you can raise/lower the score of an entire thread, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15829 even though some articles in the thread may not have complete |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15830 @code{References} headers. Note that using this may lead to |
25829 | 15831 undeterministic scores of the articles in the thread. (Using this match |
15832 key will lead to creation of @file{ADAPT} files.) | |
15833 @end table | |
15834 @end enumerate | |
15835 | |
15836 @cindex Score File Atoms | |
15837 @item mark | |
15838 The value of this entry should be a number. Any articles with a score | |
15839 lower than this number will be marked as read. | |
15840 | |
15841 @item expunge | |
15842 The value of this entry should be a number. Any articles with a score | |
15843 lower than this number will be removed from the summary buffer. | |
15844 | |
15845 @item mark-and-expunge | |
15846 The value of this entry should be a number. Any articles with a score | |
15847 lower than this number will be marked as read and removed from the | |
15848 summary buffer. | |
15849 | |
15850 @item thread-mark-and-expunge | |
15851 The value of this entry should be a number. All articles that belong to | |
15852 a thread that has a total score below this number will be marked as read | |
15853 and removed from the summary buffer. @code{gnus-thread-score-function} | |
15854 says how to compute the total score for a thread. | |
15855 | |
15856 @item files | |
15857 The value of this entry should be any number of file names. These files | |
15858 are assumed to be score files as well, and will be loaded the same way | |
15859 this one was. | |
15860 | |
15861 @item exclude-files | |
15862 The clue of this entry should be any number of files. These files will | |
15863 not be loaded, even though they would normally be so, for some reason or | |
15864 other. | |
15865 | |
15866 @item eval | |
15867 The value of this entry will be @code{eval}el. This element will be | |
15868 ignored when handling global score files. | |
15869 | |
15870 @item read-only | |
15871 Read-only score files will not be updated or saved. Global score files | |
15872 should feature this atom (@pxref{Global Score Files}). (Note: | |
15873 @dfn{Global} here really means @dfn{global}; not your personal | |
15874 apply-to-all-groups score files.) | |
15875 | |
15876 @item orphan | |
15877 The value of this entry should be a number. Articles that do not have | |
15878 parents will get this number added to their scores. Imagine you follow | |
15879 some high-volume newsgroup, like @samp{comp.lang.c}. Most likely you | |
15880 will only follow a few of the threads, also want to see any new threads. | |
15881 | |
15882 You can do this with the following two score file entries: | |
15883 | |
15884 @example | |
15885 (orphan -500) | |
15886 (mark-and-expunge -100) | |
15887 @end example | |
15888 | |
15889 When you enter the group the first time, you will only see the new | |
15890 threads. You then raise the score of the threads that you find | |
15891 interesting (with @kbd{I T} or @kbd{I S}), and ignore (@kbd{C y}) the | |
15892 rest. Next time you enter the group, you will see new articles in the | |
15893 interesting threads, plus any new threads. | |
15894 | |
15895 I.e.---the orphan score atom is for high-volume groups where there | |
15896 exist a few interesting threads which can't be found automatically by | |
15897 ordinary scoring rules. | |
15898 | |
15899 @item adapt | |
15900 This entry controls the adaptive scoring. If it is @code{t}, the | |
15901 default adaptive scoring rules will be used. If it is @code{ignore}, no | |
15902 adaptive scoring will be performed on this group. If it is a list, this | |
15903 list will be used as the adaptive scoring rules. If it isn't present, | |
15904 or is something other than @code{t} or @code{ignore}, the default | |
15905 adaptive scoring rules will be used. If you want to use adaptive | |
15906 scoring on most groups, you'd set @code{gnus-use-adaptive-scoring} to | |
15907 @code{t}, and insert an @code{(adapt ignore)} in the groups where you do | |
15908 not want adaptive scoring. If you only want adaptive scoring in a few | |
15909 groups, you'd set @code{gnus-use-adaptive-scoring} to @code{nil}, and | |
15910 insert @code{(adapt t)} in the score files of the groups where you want | |
15911 it. | |
15912 | |
15913 @item adapt-file | |
15914 All adaptive score entries will go to the file named by this entry. It | |
15915 will also be applied when entering the group. This atom might be handy | |
15916 if you want to adapt on several groups at once, using the same adaptive | |
15917 file for a number of groups. | |
15918 | |
15919 @item local | |
15920 @cindex local variables | |
15921 The value of this entry should be a list of @code{(VAR VALUE)} pairs. | |
15922 Each @var{var} will be made buffer-local to the current summary buffer, | |
15923 and set to the value specified. This is a convenient, if somewhat | |
15924 strange, way of setting variables in some groups if you don't like hooks | |
15925 much. Note that the @var{value} won't be evaluated. | |
15926 @end table | |
15927 | |
15928 | |
15929 @node Score File Editing | |
15930 @section Score File Editing | |
15931 | |
15932 You normally enter all scoring commands from the summary buffer, but you | |
15933 might feel the urge to edit them by hand as well, so we've supplied you | |
15934 with a mode for that. | |
15935 | |
15936 It's simply a slightly customized @code{emacs-lisp} mode, with these | |
15937 additional commands: | |
15938 | |
15939 @table @kbd | |
15940 | |
15941 @item C-c C-c | |
15942 @kindex C-c C-c (Score) | |
15943 @findex gnus-score-edit-done | |
15944 Save the changes you have made and return to the summary buffer | |
15945 (@code{gnus-score-edit-done}). | |
15946 | |
15947 @item C-c C-d | |
15948 @kindex C-c C-d (Score) | |
15949 @findex gnus-score-edit-insert-date | |
15950 Insert the current date in numerical format | |
15951 (@code{gnus-score-edit-insert-date}). This is really the day number, if | |
15952 you were wondering. | |
15953 | |
15954 @item C-c C-p | |
15955 @kindex C-c C-p (Score) | |
15956 @findex gnus-score-pretty-print | |
15957 The adaptive score files are saved in an unformatted fashion. If you | |
15958 intend to read one of these files, you want to @dfn{pretty print} it | |
15959 first. This command (@code{gnus-score-pretty-print}) does that for | |
15960 you. | |
15961 | |
15962 @end table | |
15963 | |
15964 Type @kbd{M-x gnus-score-mode} to use this mode. | |
15965 | |
15966 @vindex gnus-score-mode-hook | |
15967 @code{gnus-score-menu-hook} is run in score mode buffers. | |
15968 | |
15969 In the summary buffer you can use commands like @kbd{V f} and @kbd{V | |
15970 e} to begin editing score files. | |
15971 | |
15972 | |
15973 @node Adaptive Scoring | |
15974 @section Adaptive Scoring | |
15975 @cindex adaptive scoring | |
15976 | |
15977 If all this scoring is getting you down, Gnus has a way of making it all | |
15978 happen automatically---as if by magic. Or rather, as if by artificial | |
15979 stupidity, to be precise. | |
15980 | |
15981 @vindex gnus-use-adaptive-scoring | |
15982 When you read an article, or mark an article as read, or kill an | |
15983 article, you leave marks behind. On exit from the group, Gnus can sniff | |
15984 these marks and add score elements depending on what marks it finds. | |
15985 You turn on this ability by setting @code{gnus-use-adaptive-scoring} to | |
15986 @code{t} or @code{(line)}. If you want score adaptively on separate | |
15987 words appearing in the subjects, you should set this variable to | |
15988 @code{(word)}. If you want to use both adaptive methods, set this | |
15989 variable to @code{(word line)}. | |
15990 | |
15991 @vindex gnus-default-adaptive-score-alist | |
15992 To give you complete control over the scoring process, you can customize | |
15993 the @code{gnus-default-adaptive-score-alist} variable. For instance, it | |
15994 might look something like this: | |
15995 | |
15996 @lisp | |
35614 | 15997 (setq gnus-default-adaptive-score-alist |
25829 | 15998 '((gnus-unread-mark) |
15999 (gnus-ticked-mark (from 4)) | |
16000 (gnus-dormant-mark (from 5)) | |
16001 (gnus-del-mark (from -4) (subject -1)) | |
16002 (gnus-read-mark (from 4) (subject 2)) | |
16003 (gnus-expirable-mark (from -1) (subject -1)) | |
16004 (gnus-killed-mark (from -1) (subject -3)) | |
16005 (gnus-kill-file-mark) | |
16006 (gnus-ancient-mark) | |
16007 (gnus-low-score-mark) | |
16008 (gnus-catchup-mark (from -1) (subject -1)))) | |
16009 @end lisp | |
16010 | |
16011 As you see, each element in this alist has a mark as a key (either a | |
16012 variable name or a ``real'' mark---a character). Following this key is | |
16013 a arbitrary number of header/score pairs. If there are no header/score | |
16014 pairs following the key, no adaptive scoring will be done on articles | |
16015 that have that key as the article mark. For instance, articles with | |
16016 @code{gnus-unread-mark} in the example above will not get adaptive score | |
16017 entries. | |
16018 | |
16019 Each article can have only one mark, so just a single of these rules | |
16020 will be applied to each article. | |
16021 | |
16022 To take @code{gnus-del-mark} as an example---this alist says that all | |
16023 articles that have that mark (i.e., are marked with @samp{D}) will have a | |
16024 score entry added to lower based on the @code{From} header by -4, and | |
16025 lowered by @code{Subject} by -1. Change this to fit your prejudices. | |
16026 | |
16027 If you have marked 10 articles with the same subject with | |
16028 @code{gnus-del-mark}, the rule for that mark will be applied ten times. | |
16029 That means that that subject will get a score of ten times -1, which | |
16030 should be, unless I'm much mistaken, -10. | |
16031 | |
16032 If you have auto-expirable (mail) groups (@pxref{Expiring Mail}), all | |
16033 the read articles will be marked with the @samp{E} mark. This'll | |
16034 probably make adaptive scoring slightly impossible, so auto-expiring and | |
16035 adaptive scoring doesn't really mix very well. | |
16036 | |
16037 The headers you can score on are @code{from}, @code{subject}, | |
16038 @code{message-id}, @code{references}, @code{xref}, @code{lines}, | |
16039 @code{chars} and @code{date}. In addition, you can score on | |
16040 @code{followup}, which will create an adaptive score entry that matches | |
16041 on the @code{References} header using the @code{Message-ID} of the | |
16042 current article, thereby matching the following thread. | |
16043 | |
16044 You can also score on @code{thread}, which will try to score all | |
16045 articles that appear in a thread. @code{thread} matches uses a | |
16046 @code{Message-ID} to match on the @code{References} header of the | |
16047 article. If the match is made, the @code{Message-ID} of the article is | |
16048 added to the @code{thread} rule. (Think about it. I'd recommend two | |
16049 aspirins afterwards.) | |
16050 | |
16051 If you use this scheme, you should set the score file atom @code{mark} | |
16052 to something small---like -300, perhaps, to avoid having small random | |
16053 changes result in articles getting marked as read. | |
16054 | |
16055 After using adaptive scoring for a week or so, Gnus should start to | |
16056 become properly trained and enhance the authors you like best, and kill | |
16057 the authors you like least, without you having to say so explicitly. | |
16058 | |
16059 You can control what groups the adaptive scoring is to be performed on | |
16060 by using the score files (@pxref{Score File Format}). This will also | |
16061 let you use different rules in different groups. | |
16062 | |
16063 @vindex gnus-adaptive-file-suffix | |
16064 The adaptive score entries will be put into a file where the name is the | |
16065 group name with @code{gnus-adaptive-file-suffix} appended. The default | |
16066 is @samp{ADAPT}. | |
16067 | |
16068 @vindex gnus-score-exact-adapt-limit | |
16069 When doing adaptive scoring, substring or fuzzy matching would probably | |
16070 give you the best results in most cases. However, if the header one | |
16071 matches is short, the possibility for false positives is great, so if | |
16072 the length of the match is less than | |
16073 @code{gnus-score-exact-adapt-limit}, exact matching will be used. If | |
16074 this variable is @code{nil}, exact matching will always be used to avoid | |
16075 this problem. | |
16076 | |
16077 @vindex gnus-default-adaptive-word-score-alist | |
16078 As mentioned above, you can adapt either on individual words or entire | |
16079 headers. If you adapt on words, the | |
16080 @code{gnus-default-adaptive-word-score-alist} variable says what score | |
16081 each instance of a word should add given a mark. | |
16082 | |
16083 @lisp | |
16084 (setq gnus-default-adaptive-word-score-alist | |
16085 `((,gnus-read-mark . 30) | |
16086 (,gnus-catchup-mark . -10) | |
16087 (,gnus-killed-mark . -20) | |
16088 (,gnus-del-mark . -15))) | |
16089 @end lisp | |
16090 | |
16091 This is the default value. If you have adaption on words enabled, every | |
16092 word that appears in subjects of articles marked with | |
16093 @code{gnus-read-mark} will result in a score rule that increase the | |
16094 score with 30 points. | |
16095 | |
16096 @vindex gnus-default-ignored-adaptive-words | |
16097 @vindex gnus-ignored-adaptive-words | |
16098 Words that appear in the @code{gnus-default-ignored-adaptive-words} list | |
16099 will be ignored. If you wish to add more words to be ignored, use the | |
16100 @code{gnus-ignored-adaptive-words} list instead. | |
16101 | |
16102 @vindex gnus-adaptive-word-syntax-table | |
16103 When the scoring is done, @code{gnus-adaptive-word-syntax-table} is the | |
16104 syntax table in effect. It is similar to the standard syntax table, but | |
16105 it considers numbers to be non-word-constituent characters. | |
16106 | |
16107 @vindex gnus-adaptive-word-minimum | |
16108 If @code{gnus-adaptive-word-minimum} is set to a number, the adaptive | |
16109 word scoring process will never bring down the score of an article to | |
16110 below this number. The default is @code{nil}. | |
16111 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16112 @vindex gnus-adaptive-word-no-group-words |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16113 If @code{gnus-adaptive-word-no-group-words} is set to @code{t}, gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16114 won't adaptively word score any of the words in the group name. Useful |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16115 for groups like @samp{comp.editors.emacs}, where most of the subject |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16116 lines contain the word @samp{emacs}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16117 |
25829 | 16118 After using this scheme for a while, it might be nice to write a |
16119 @code{gnus-psychoanalyze-user} command to go through the rules and see | |
16120 what words you like and what words you don't like. Or perhaps not. | |
16121 | |
16122 Note that the adaptive word scoring thing is highly experimental and is | |
16123 likely to change in the future. Initial impressions seem to indicate | |
16124 that it's totally useless as it stands. Some more work (involving more | |
16125 rigorous statistical methods) will have to be done to make this useful. | |
16126 | |
16127 | |
16128 @node Home Score File | |
16129 @section Home Score File | |
16130 | |
16131 The score file where new score file entries will go is called the | |
16132 @dfn{home score file}. This is normally (and by default) the score file | |
16133 for the group itself. For instance, the home score file for | |
16134 @samp{gnu.emacs.gnus} is @file{gnu.emacs.gnus.SCORE}. | |
16135 | |
16136 However, this may not be what you want. It is often convenient to share | |
16137 a common home score file among many groups---all @samp{emacs} groups | |
16138 could perhaps use the same home score file. | |
16139 | |
16140 @vindex gnus-home-score-file | |
16141 The variable that controls this is @code{gnus-home-score-file}. It can | |
16142 be: | |
16143 | |
16144 @enumerate | |
16145 @item | |
16146 A string. Then this file will be used as the home score file for all | |
16147 groups. | |
16148 | |
16149 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16150 A function. The result of this function will be used as the home score |
25829 | 16151 file. The function will be called with the name of the group as the |
16152 parameter. | |
16153 | |
16154 @item | |
16155 A list. The elements in this list can be: | |
16156 | |
16157 @enumerate | |
16158 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16159 @code{(@var{regexp} @var{file-name})}. If the @var{regexp} matches the |
36333
a0141ceb7edc
(Splitting in IMAP): Remove doubled `might'.
Gerd Moellmann <gerd@gnu.org>
parents:
36057
diff
changeset
|
16160 group name, the @var{file-name} will be used as the home score file. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16161 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16162 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16163 A function. If the function returns non-nil, the result will be used as |
25829 | 16164 the home score file. |
16165 | |
16166 @item | |
16167 A string. Use the string as the home score file. | |
16168 @end enumerate | |
16169 | |
16170 The list will be traversed from the beginning towards the end looking | |
16171 for matches. | |
16172 | |
16173 @end enumerate | |
16174 | |
16175 So, if you want to use just a single score file, you could say: | |
16176 | |
16177 @lisp | |
16178 (setq gnus-home-score-file | |
16179 "my-total-score-file.SCORE") | |
16180 @end lisp | |
16181 | |
16182 If you want to use @file{gnu.SCORE} for all @samp{gnu} groups and | |
16183 @file{rec.SCORE} for all @samp{rec} groups (and so on), you can say: | |
16184 | |
16185 @findex gnus-hierarchial-home-score-file | |
16186 @lisp | |
16187 (setq gnus-home-score-file | |
16188 'gnus-hierarchial-home-score-file) | |
16189 @end lisp | |
16190 | |
16191 This is a ready-made function provided for your convenience. | |
16192 Other functions include | |
16193 | |
16194 @table @code | |
16195 @item gnus-current-home-score-file | |
16196 @findex gnus-current-home-score-file | |
16197 Return the ``current'' regular score file. This will make scoring | |
16198 commands add entry to the ``innermost'' matching score file. | |
16199 | |
16200 @end table | |
16201 | |
16202 If you want to have one score file for the @samp{emacs} groups and | |
16203 another for the @samp{comp} groups, while letting all other groups use | |
16204 their own home score files: | |
16205 | |
16206 @lisp | |
16207 (setq gnus-home-score-file | |
16208 ;; All groups that match the regexp "\\.emacs" | |
16209 '(("\\.emacs" "emacs.SCORE") | |
16210 ;; All the comp groups in one score file | |
16211 ("^comp" "comp.SCORE"))) | |
16212 @end lisp | |
16213 | |
16214 @vindex gnus-home-adapt-file | |
16215 @code{gnus-home-adapt-file} works exactly the same way as | |
16216 @code{gnus-home-score-file}, but says what the home adaptive score file | |
16217 is instead. All new adaptive file entries will go into the file | |
16218 specified by this variable, and the same syntax is allowed. | |
16219 | |
16220 In addition to using @code{gnus-home-score-file} and | |
16221 @code{gnus-home-adapt-file}, you can also use group parameters | |
16222 (@pxref{Group Parameters}) and topic parameters (@pxref{Topic | |
16223 Parameters}) to achieve much the same. Group and topic parameters take | |
16224 precedence over this variable. | |
16225 | |
16226 | |
16227 @node Followups To Yourself | |
16228 @section Followups To Yourself | |
16229 | |
16230 Gnus offers two commands for picking out the @code{Message-ID} header in | |
16231 the current buffer. Gnus will then add a score rule that scores using | |
16232 this @code{Message-ID} on the @code{References} header of other | |
16233 articles. This will, in effect, increase the score of all articles that | |
16234 respond to the article in the current buffer. Quite useful if you want | |
16235 to easily note when people answer what you've said. | |
16236 | |
16237 @table @code | |
16238 | |
16239 @item gnus-score-followup-article | |
16240 @findex gnus-score-followup-article | |
16241 This will add a score to articles that directly follow up your own | |
16242 article. | |
16243 | |
16244 @item gnus-score-followup-thread | |
16245 @findex gnus-score-followup-thread | |
16246 This will add a score to all articles that appear in a thread ``below'' | |
16247 your own article. | |
16248 @end table | |
16249 | |
16250 @vindex message-sent-hook | |
16251 These two functions are both primarily meant to be used in hooks like | |
35614 | 16252 @code{message-sent-hook}, like this: |
16253 @lisp | |
16254 (add-hook 'message-sent-hook 'gnus-score-followup-thread) | |
16255 @end lisp | |
16256 | |
25829 | 16257 |
16258 If you look closely at your own @code{Message-ID}, you'll notice that | |
16259 the first two or three characters are always the same. Here's two of | |
16260 mine: | |
16261 | |
16262 @example | |
16263 <x6u3u47icf.fsf@@eyesore.no> | |
16264 <x6sp9o7ibw.fsf@@eyesore.no> | |
16265 @end example | |
16266 | |
16267 So ``my'' ident on this machine is @samp{x6}. This can be | |
16268 exploited---the following rule will raise the score on all followups to | |
16269 myself: | |
16270 | |
16271 @lisp | |
16272 ("references" | |
35614 | 16273 ("<x6[0-9a-z]+\\.fsf\\(_-_\\)?@@.*eyesore\\.no>" |
25829 | 16274 1000 nil r)) |
16275 @end lisp | |
16276 | |
16277 Whether it's the first two or first three characters that are ``yours'' | |
16278 is system-dependent. | |
16279 | |
16280 | |
16281 @node Scoring Tips | |
16282 @section Scoring Tips | |
16283 @cindex scoring tips | |
16284 | |
16285 @table @dfn | |
16286 | |
16287 @item Crossposts | |
16288 @cindex crossposts | |
16289 @cindex scoring crossposts | |
16290 If you want to lower the score of crossposts, the line to match on is | |
16291 the @code{Xref} header. | |
16292 @lisp | |
16293 ("xref" (" talk.politics.misc:" -1000)) | |
16294 @end lisp | |
16295 | |
16296 @item Multiple crossposts | |
16297 If you want to lower the score of articles that have been crossposted to | |
16298 more than, say, 3 groups: | |
16299 @lisp | |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
16300 ("xref" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
16301 ("[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
16302 -1000 nil r)) |
25829 | 16303 @end lisp |
16304 | |
16305 @item Matching on the body | |
16306 This is generally not a very good idea---it takes a very long time. | |
16307 Gnus actually has to fetch each individual article from the server. But | |
16308 you might want to anyway, I guess. Even though there are three match | |
16309 keys (@code{Head}, @code{Body} and @code{All}), you should choose one | |
16310 and stick with it in each score file. If you use any two, each article | |
16311 will be fetched @emph{twice}. If you want to match a bit on the | |
16312 @code{Head} and a bit on the @code{Body}, just use @code{All} for all | |
16313 the matches. | |
16314 | |
16315 @item Marking as read | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16316 You will probably want to mark articles that have scores below a certain |
25829 | 16317 number as read. This is most easily achieved by putting the following |
16318 in your @file{all.SCORE} file: | |
16319 @lisp | |
16320 ((mark -100)) | |
16321 @end lisp | |
16322 You may also consider doing something similar with @code{expunge}. | |
16323 | |
16324 @item Negated character classes | |
16325 If you say stuff like @code{[^abcd]*}, you may get unexpected results. | |
16326 That will match newlines, which might lead to, well, The Unknown. Say | |
16327 @code{[^abcd\n]*} instead. | |
16328 @end table | |
16329 | |
16330 | |
16331 @node Reverse Scoring | |
16332 @section Reverse Scoring | |
16333 @cindex reverse scoring | |
16334 | |
16335 If you want to keep just articles that have @samp{Sex with Emacs} in the | |
16336 subject header, and expunge all other articles, you could put something | |
16337 like this in your score file: | |
16338 | |
16339 @lisp | |
16340 (("subject" | |
16341 ("Sex with Emacs" 2)) | |
16342 (mark 1) | |
16343 (expunge 1)) | |
16344 @end lisp | |
16345 | |
16346 So, you raise all articles that match @samp{Sex with Emacs} and mark the | |
16347 rest as read, and expunge them to boot. | |
16348 | |
16349 | |
16350 @node Global Score Files | |
16351 @section Global Score Files | |
16352 @cindex global score files | |
16353 | |
16354 Sure, other newsreaders have ``global kill files''. These are usually | |
16355 nothing more than a single kill file that applies to all groups, stored | |
16356 in the user's home directory. Bah! Puny, weak newsreaders! | |
16357 | |
16358 What I'm talking about here are Global Score Files. Score files from | |
16359 all over the world, from users everywhere, uniting all nations in one | |
16360 big, happy score file union! Ange-score! New and untested! | |
16361 | |
16362 @vindex gnus-global-score-files | |
16363 All you have to do to use other people's score files is to set the | |
16364 @code{gnus-global-score-files} variable. One entry for each score file, | |
16365 or each score file directory. Gnus will decide by itself what score | |
16366 files are applicable to which group. | |
16367 | |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
16368 To use the score file |
25829 | 16369 @file{/ftp@@ftp.gnus.org:/pub/larsi/ding/score/soc.motss.SCORE} and |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
16370 all score files in the @file{/ftp@@ftp.some-where:/pub/score} directory, |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
16371 say this: |
25829 | 16372 |
16373 @lisp | |
16374 (setq gnus-global-score-files | |
16375 '("/ftp@@ftp.gnus.org:/pub/larsi/ding/score/soc.motss.SCORE" | |
16376 "/ftp@@ftp.some-where:/pub/score/")) | |
16377 @end lisp | |
16378 | |
16379 @findex gnus-score-search-global-directories | |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
16380 @noindent |
25829 | 16381 Simple, eh? Directory names must end with a @samp{/}. These |
16382 directories are typically scanned only once during each Gnus session. | |
16383 If you feel the need to manually re-scan the remote directories, you can | |
16384 use the @code{gnus-score-search-global-directories} command. | |
16385 | |
16386 Note that, at present, using this option will slow down group entry | |
16387 somewhat. (That is---a lot.) | |
16388 | |
16389 If you want to start maintaining score files for other people to use, | |
16390 just put your score file up for anonymous ftp and announce it to the | |
16391 world. Become a retro-moderator! Participate in the retro-moderator | |
16392 wars sure to ensue, where retro-moderators battle it out for the | |
16393 sympathy of the people, luring them to use their score files on false | |
16394 premises! Yay! The net is saved! | |
16395 | |
16396 Here are some tips for the would-be retro-moderator, off the top of my | |
16397 head: | |
16398 | |
16399 @itemize @bullet | |
16400 | |
16401 @item | |
16402 Articles heavily crossposted are probably junk. | |
16403 @item | |
16404 To lower a single inappropriate article, lower by @code{Message-ID}. | |
16405 @item | |
16406 Particularly brilliant authors can be raised on a permanent basis. | |
16407 @item | |
16408 Authors that repeatedly post off-charter for the group can safely be | |
16409 lowered out of existence. | |
16410 @item | |
16411 Set the @code{mark} and @code{expunge} atoms to obliterate the nastiest | |
16412 articles completely. | |
16413 | |
16414 @item | |
16415 Use expiring score entries to keep the size of the file down. You | |
16416 should probably have a long expiry period, though, as some sites keep | |
16417 old articles for a long time. | |
16418 @end itemize | |
16419 | |
16420 ... I wonder whether other newsreaders will support global score files | |
16421 in the future. @emph{Snicker}. Yup, any day now, newsreaders like Blue | |
16422 Wave, xrn and 1stReader are bound to implement scoring. Should we start | |
16423 holding our breath yet? | |
16424 | |
16425 | |
16426 @node Kill Files | |
16427 @section Kill Files | |
16428 @cindex kill files | |
16429 | |
16430 Gnus still supports those pesky old kill files. In fact, the kill file | |
16431 entries can now be expiring, which is something I wrote before Daniel | |
16432 Quinlan thought of doing score files, so I've left the code in there. | |
16433 | |
16434 In short, kill processing is a lot slower (and I do mean @emph{a lot}) | |
16435 than score processing, so it might be a good idea to rewrite your kill | |
16436 files into score files. | |
16437 | |
16438 Anyway, a kill file is a normal @code{emacs-lisp} file. You can put any | |
16439 forms into this file, which means that you can use kill files as some | |
16440 sort of primitive hook function to be run on group entry, even though | |
16441 that isn't a very good idea. | |
16442 | |
16443 Normal kill files look like this: | |
16444 | |
16445 @lisp | |
16446 (gnus-kill "From" "Lars Ingebrigtsen") | |
16447 (gnus-kill "Subject" "ding") | |
16448 (gnus-expunge "X") | |
16449 @end lisp | |
16450 | |
16451 This will mark every article written by me as read, and remove the | |
16452 marked articles from the summary buffer. Very useful, you'll agree. | |
16453 | |
16454 Other programs use a totally different kill file syntax. If Gnus | |
16455 encounters what looks like a @code{rn} kill file, it will take a stab at | |
16456 interpreting it. | |
16457 | |
16458 Two summary functions for editing a GNUS kill file: | |
16459 | |
16460 @table @kbd | |
16461 | |
16462 @item M-k | |
36028 | 16463 @kindex M-k @r{(Summary)} |
25829 | 16464 @findex gnus-summary-edit-local-kill |
16465 Edit this group's kill file (@code{gnus-summary-edit-local-kill}). | |
16466 | |
16467 @item M-K | |
36028 | 16468 @kindex M-K @r{(Summary)} |
25829 | 16469 @findex gnus-summary-edit-global-kill |
16470 Edit the general kill file (@code{gnus-summary-edit-global-kill}). | |
16471 @end table | |
16472 | |
16473 Two group mode functions for editing the kill files: | |
16474 | |
16475 @table @kbd | |
16476 | |
16477 @item M-k | |
36028 | 16478 @kindex M-k @r{(Group)} |
25829 | 16479 @findex gnus-group-edit-local-kill |
16480 Edit this group's kill file (@code{gnus-group-edit-local-kill}). | |
16481 | |
16482 @item M-K | |
36028 | 16483 @kindex M-K @r{(Group)} |
25829 | 16484 @findex gnus-group-edit-global-kill |
16485 Edit the general kill file (@code{gnus-group-edit-global-kill}). | |
16486 @end table | |
16487 | |
16488 Kill file variables: | |
16489 | |
16490 @table @code | |
16491 @item gnus-kill-file-name | |
16492 @vindex gnus-kill-file-name | |
16493 A kill file for the group @samp{soc.motss} is normally called | |
16494 @file{soc.motss.KILL}. The suffix appended to the group name to get | |
16495 this file name is detailed by the @code{gnus-kill-file-name} variable. | |
16496 The ``global'' kill file (not in the score file sense of ``global'', of | |
16497 course) is just called @file{KILL}. | |
16498 | |
16499 @vindex gnus-kill-save-kill-file | |
16500 @item gnus-kill-save-kill-file | |
16501 If this variable is non-@code{nil}, Gnus will save the | |
16502 kill file after processing, which is necessary if you use expiring | |
16503 kills. | |
16504 | |
16505 @item gnus-apply-kill-hook | |
16506 @vindex gnus-apply-kill-hook | |
16507 @findex gnus-apply-kill-file-unless-scored | |
16508 @findex gnus-apply-kill-file | |
16509 A hook called to apply kill files to a group. It is | |
16510 @code{(gnus-apply-kill-file)} by default. If you want to ignore the | |
16511 kill file if you have a score file for the same group, you can set this | |
16512 hook to @code{(gnus-apply-kill-file-unless-scored)}. If you don't want | |
16513 kill files to be processed, you should set this variable to @code{nil}. | |
16514 | |
16515 @item gnus-kill-file-mode-hook | |
16516 @vindex gnus-kill-file-mode-hook | |
16517 A hook called in kill-file mode buffers. | |
16518 | |
16519 @end table | |
16520 | |
16521 | |
16522 @node Converting Kill Files | |
16523 @section Converting Kill Files | |
16524 @cindex kill files | |
16525 @cindex converting kill files | |
16526 | |
16527 If you have loads of old kill files, you may want to convert them into | |
16528 score files. If they are ``regular'', you can use | |
16529 the @file{gnus-kill-to-score.el} package; if not, you'll have to do it | |
16530 by hand. | |
16531 | |
16532 The kill to score conversion package isn't included in Gnus by default. | |
16533 You can fetch it from | |
33292 | 16534 @uref{http://www.stud.ifi.uio.no/~larsi/ding-various/gnus-kill-to-score.el}. |
25829 | 16535 |
16536 If your old kill files are very complex---if they contain more | |
16537 non-@code{gnus-kill} forms than not, you'll have to convert them by | |
16538 hand. Or just let them be as they are. Gnus will still use them as | |
16539 before. | |
16540 | |
16541 | |
16542 @node GroupLens | |
16543 @section GroupLens | |
16544 @cindex GroupLens | |
16545 | |
16546 GroupLens is a collaborative filtering system that helps you work | |
16547 together with other people to find the quality news articles out of the | |
16548 huge volume of news articles generated every day. | |
16549 | |
16550 To accomplish this the GroupLens system combines your opinions about | |
16551 articles you have already read with the opinions of others who have done | |
16552 likewise and gives you a personalized prediction for each unread news | |
16553 article. Think of GroupLens as a matchmaker. GroupLens watches how you | |
16554 rate articles, and finds other people that rate articles the same way. | |
16555 Once it has found some people you agree with it tells you, in the form | |
16556 of a prediction, what they thought of the article. You can use this | |
16557 prediction to help you decide whether or not you want to read the | |
16558 article. | |
16559 | |
16560 @menu | |
16561 * Using GroupLens:: How to make Gnus use GroupLens. | |
16562 * Rating Articles:: Letting GroupLens know how you rate articles. | |
16563 * Displaying Predictions:: Displaying predictions given by GroupLens. | |
16564 * GroupLens Variables:: Customizing GroupLens. | |
16565 @end menu | |
16566 | |
16567 | |
16568 @node Using GroupLens | |
16569 @subsection Using GroupLens | |
16570 | |
16571 To use GroupLens you must register a pseudonym with your local Better | |
16572 Bit Bureau (BBB). | |
33292 | 16573 @uref{http://www.cs.umn.edu/Research/GroupLens/bbb.html} is the only |
25829 | 16574 better bit in town at the moment. |
16575 | |
16576 Once you have registered you'll need to set a couple of variables. | |
16577 | |
16578 @table @code | |
16579 | |
16580 @item gnus-use-grouplens | |
16581 @vindex gnus-use-grouplens | |
16582 Setting this variable to a non-@code{nil} value will make Gnus hook into | |
16583 all the relevant GroupLens functions. | |
16584 | |
16585 @item grouplens-pseudonym | |
16586 @vindex grouplens-pseudonym | |
16587 This variable should be set to the pseudonym you got when registering | |
16588 with the Better Bit Bureau. | |
16589 | |
16590 @item grouplens-newsgroups | |
16591 @vindex grouplens-newsgroups | |
16592 A list of groups that you want to get GroupLens predictions for. | |
16593 | |
16594 @end table | |
16595 | |
16596 That's the minimum of what you need to get up and running with GroupLens. | |
16597 Once you've registered, GroupLens will start giving you scores for | |
16598 articles based on the average of what other people think. But, to get | |
16599 the real benefit of GroupLens you need to start rating articles | |
16600 yourself. Then the scores GroupLens gives you will be personalized for | |
16601 you, based on how the people you usually agree with have already rated. | |
16602 | |
16603 | |
16604 @node Rating Articles | |
16605 @subsection Rating Articles | |
16606 | |
16607 In GroupLens, an article is rated on a scale from 1 to 5, inclusive. | |
16608 Where 1 means something like this article is a waste of bandwidth and 5 | |
16609 means that the article was really good. The basic question to ask | |
16610 yourself is, "on a scale from 1 to 5 would I like to see more articles | |
16611 like this one?" | |
16612 | |
16613 There are four ways to enter a rating for an article in GroupLens. | |
16614 | |
16615 @table @kbd | |
16616 | |
16617 @item r | |
16618 @kindex r (GroupLens) | |
16619 @findex bbb-summary-rate-article | |
16620 This function will prompt you for a rating on a scale of one to five. | |
16621 | |
16622 @item k | |
16623 @kindex k (GroupLens) | |
16624 @findex grouplens-score-thread | |
16625 This function will prompt you for a rating, and rate all the articles in | |
16626 the thread. This is really useful for some of those long running giant | |
16627 threads in rec.humor. | |
16628 | |
16629 @end table | |
16630 | |
16631 The next two commands, @kbd{n} and @kbd{,} take a numerical prefix to be | |
16632 the score of the article you're reading. | |
16633 | |
16634 @table @kbd | |
16635 | |
16636 @item 1-5 n | |
16637 @kindex n (GroupLens) | |
16638 @findex grouplens-next-unread-article | |
16639 Rate the article and go to the next unread article. | |
16640 | |
16641 @item 1-5 , | |
16642 @kindex , (GroupLens) | |
16643 @findex grouplens-best-unread-article | |
16644 Rate the article and go to the next unread article with the highest score. | |
16645 | |
16646 @end table | |
16647 | |
16648 If you want to give the current article a score of 4 and then go to the | |
16649 next article, just type @kbd{4 n}. | |
16650 | |
16651 | |
16652 @node Displaying Predictions | |
16653 @subsection Displaying Predictions | |
16654 | |
16655 GroupLens makes a prediction for you about how much you will like a | |
16656 news article. The predictions from GroupLens are on a scale from 1 to | |
16657 5, where 1 is the worst and 5 is the best. You can use the predictions | |
16658 from GroupLens in one of three ways controlled by the variable | |
16659 @code{gnus-grouplens-override-scoring}. | |
16660 | |
16661 @vindex gnus-grouplens-override-scoring | |
16662 There are three ways to display predictions in grouplens. You may | |
16663 choose to have the GroupLens scores contribute to, or override the | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16664 regular gnus scoring mechanism. override is the default; however, some |
25829 | 16665 people prefer to see the Gnus scores plus the grouplens scores. To get |
16666 the separate scoring behavior you need to set | |
16667 @code{gnus-grouplens-override-scoring} to @code{'separate}. To have the | |
16668 GroupLens predictions combined with the grouplens scores set it to | |
16669 @code{'override} and to combine the scores set | |
16670 @code{gnus-grouplens-override-scoring} to @code{'combine}. When you use | |
16671 the combine option you will also want to set the values for | |
16672 @code{grouplens-prediction-offset} and | |
16673 @code{grouplens-score-scale-factor}. | |
16674 | |
16675 @vindex grouplens-prediction-display | |
16676 In either case, GroupLens gives you a few choices for how you would like | |
16677 to see your predictions displayed. The display of predictions is | |
16678 controlled by the @code{grouplens-prediction-display} variable. | |
16679 | |
16680 The following are valid values for that variable. | |
16681 | |
16682 @table @code | |
16683 @item prediction-spot | |
16684 The higher the prediction, the further to the right an @samp{*} is | |
16685 displayed. | |
16686 | |
16687 @item confidence-interval | |
16688 A numeric confidence interval. | |
16689 | |
16690 @item prediction-bar | |
16691 The higher the prediction, the longer the bar. | |
16692 | |
16693 @item confidence-bar | |
16694 Numerical confidence. | |
16695 | |
16696 @item confidence-spot | |
16697 The spot gets bigger with more confidence. | |
16698 | |
16699 @item prediction-num | |
16700 Plain-old numeric value. | |
16701 | |
16702 @item confidence-plus-minus | |
16703 Prediction +/- confidence. | |
16704 | |
16705 @end table | |
16706 | |
16707 | |
16708 @node GroupLens Variables | |
16709 @subsection GroupLens Variables | |
16710 | |
16711 @table @code | |
16712 | |
16713 @item gnus-summary-grouplens-line-format | |
16714 The summary line format used in GroupLens-enhanced summary buffers. It | |
16715 accepts the same specs as the normal summary line format (@pxref{Summary | |
16716 Buffer Lines}). The default is @samp{%U%R%z%l%I%(%[%4L: %-20,20n%]%) | |
16717 %s\n}. | |
16718 | |
16719 @item grouplens-bbb-host | |
16720 Host running the bbbd server. @samp{grouplens.cs.umn.edu} is the | |
16721 default. | |
16722 | |
16723 @item grouplens-bbb-port | |
16724 Port of the host running the bbbd server. The default is 9000. | |
16725 | |
16726 @item grouplens-score-offset | |
16727 Offset the prediction by this value. In other words, subtract the | |
16728 prediction value by this number to arrive at the effective score. The | |
16729 default is 0. | |
16730 | |
16731 @item grouplens-score-scale-factor | |
16732 This variable allows the user to magnify the effect of GroupLens scores. | |
16733 The scale factor is applied after the offset. The default is 1. | |
16734 | |
16735 @end table | |
16736 | |
16737 | |
16738 @node Advanced Scoring | |
16739 @section Advanced Scoring | |
16740 | |
16741 Scoring on Subjects and From headers is nice enough, but what if you're | |
16742 really interested in what a person has to say only when she's talking | |
16743 about a particular subject? Or what if you really don't want to | |
16744 read what person A has to say when she's following up to person B, but | |
16745 want to read what she says when she's following up to person C? | |
16746 | |
16747 By using advanced scoring rules you may create arbitrarily complex | |
16748 scoring patterns. | |
16749 | |
16750 @menu | |
16751 * Advanced Scoring Syntax:: A definition. | |
16752 * Advanced Scoring Examples:: What they look like. | |
16753 * Advanced Scoring Tips:: Getting the most out of it. | |
16754 @end menu | |
16755 | |
16756 | |
16757 @node Advanced Scoring Syntax | |
16758 @subsection Advanced Scoring Syntax | |
16759 | |
16760 Ordinary scoring rules have a string as the first element in the rule. | |
16761 Advanced scoring rules have a list as the first element. The second | |
16762 element is the score to be applied if the first element evaluated to a | |
16763 non-@code{nil} value. | |
16764 | |
16765 These lists may consist of three logical operators, one redirection | |
16766 operator, and various match operators. | |
16767 | |
16768 Logical operators: | |
16769 | |
16770 @table @code | |
16771 @item & | |
16772 @itemx and | |
16773 This logical operator will evaluate each of its arguments until it finds | |
16774 one that evaluates to @code{false}, and then it'll stop. If all arguments | |
16775 evaluate to @code{true} values, then this operator will return | |
16776 @code{true}. | |
16777 | |
16778 @item | | |
16779 @itemx or | |
16780 This logical operator will evaluate each of its arguments until it finds | |
16781 one that evaluates to @code{true}. If no arguments are @code{true}, | |
16782 then this operator will return @code{false}. | |
16783 | |
16784 @item ! | |
16785 @itemx not | |
16786 @itemx ¬ | |
16787 This logical operator only takes a single argument. It returns the | |
16788 logical negation of the value of its argument. | |
16789 | |
16790 @end table | |
16791 | |
16792 There is an @dfn{indirection operator} that will make its arguments | |
16793 apply to the ancestors of the current article being scored. For | |
16794 instance, @code{1-} will make score rules apply to the parent of the | |
16795 current article. @code{2-} will make score rules apply to the | |
16796 grandparent of the current article. Alternatively, you can write | |
16797 @code{^^}, where the number of @code{^}s (carets) says how far back into | |
16798 the ancestry you want to go. | |
16799 | |
16800 Finally, we have the match operators. These are the ones that do the | |
16801 real work. Match operators are header name strings followed by a match | |
16802 and a match type. A typical match operator looks like @samp{("from" | |
16803 "Lars Ingebrigtsen" s)}. The header names are the same as when using | |
16804 simple scoring, and the match types are also the same. | |
16805 | |
16806 | |
16807 @node Advanced Scoring Examples | |
16808 @subsection Advanced Scoring Examples | |
16809 | |
16810 Let's say you want to increase the score of articles written by Lars | |
16811 when he's talking about Gnus: | |
16812 | |
16813 @example | |
16814 ((& | |
16815 ("from" "Lars Ingebrigtsen") | |
16816 ("subject" "Gnus")) | |
16817 1000) | |
16818 @end example | |
16819 | |
16820 Quite simple, huh? | |
16821 | |
16822 When he writes long articles, he sometimes has something nice to say: | |
16823 | |
16824 @example | |
16825 ((& | |
16826 ("from" "Lars Ingebrigtsen") | |
16827 (| | |
16828 ("subject" "Gnus") | |
16829 ("lines" 100 >))) | |
16830 1000) | |
16831 @end example | |
16832 | |
16833 However, when he responds to things written by Reig Eigil Logge, you | |
16834 really don't want to read what he's written: | |
16835 | |
16836 @example | |
16837 ((& | |
16838 ("from" "Lars Ingebrigtsen") | |
16839 (1- ("from" "Reig Eigir Logge"))) | |
16840 -100000) | |
16841 @end example | |
16842 | |
16843 Everybody that follows up Redmondo when he writes about disappearing | |
16844 socks should have their scores raised, but only when they talk about | |
16845 white socks. However, when Lars talks about socks, it's usually not | |
16846 very interesting: | |
16847 | |
16848 @example | |
16849 ((& | |
16850 (1- | |
16851 (& | |
16852 ("from" "redmondo@@.*no" r) | |
16853 ("body" "disappearing.*socks" t))) | |
16854 (! ("from" "Lars Ingebrigtsen")) | |
16855 ("body" "white.*socks")) | |
16856 1000) | |
16857 @end example | |
16858 | |
16859 The possibilities are endless. | |
16860 | |
16861 | |
16862 @node Advanced Scoring Tips | |
16863 @subsection Advanced Scoring Tips | |
16864 | |
16865 The @code{&} and @code{|} logical operators do short-circuit logic. | |
16866 That is, they stop processing their arguments when it's clear what the | |
16867 result of the operation will be. For instance, if one of the arguments | |
16868 of an @code{&} evaluates to @code{false}, there's no point in evaluating | |
16869 the rest of the arguments. This means that you should put slow matches | |
16870 (@samp{body}, @samp{header}) last and quick matches (@samp{from}, | |
16871 @samp{subject}) first. | |
16872 | |
16873 The indirection arguments (@code{1-} and so on) will make their | |
16874 arguments work on previous generations of the thread. If you say | |
16875 something like: | |
16876 | |
16877 @example | |
16878 ... | |
16879 (1- | |
16880 (1- | |
16881 ("from" "lars"))) | |
16882 ... | |
16883 @end example | |
16884 | |
16885 Then that means "score on the from header of the grandparent of the | |
16886 current article". An indirection is quite fast, but it's better to say: | |
16887 | |
16888 @example | |
16889 (1- | |
16890 (& | |
16891 ("from" "Lars") | |
16892 ("subject" "Gnus"))) | |
16893 @end example | |
16894 | |
16895 than it is to say: | |
16896 | |
16897 @example | |
16898 (& | |
16899 (1- ("from" "Lars")) | |
16900 (1- ("subject" "Gnus"))) | |
16901 @end example | |
16902 | |
16903 | |
16904 @node Score Decays | |
16905 @section Score Decays | |
16906 @cindex score decays | |
16907 @cindex decays | |
16908 | |
16909 You may find that your scores have a tendency to grow without | |
16910 bounds, especially if you're using adaptive scoring. If scores get too | |
16911 big, they lose all meaning---they simply max out and it's difficult to | |
16912 use them in any sensible way. | |
16913 | |
16914 @vindex gnus-decay-scores | |
16915 @findex gnus-decay-score | |
16916 @vindex gnus-decay-score-function | |
16917 Gnus provides a mechanism for decaying scores to help with this problem. | |
16918 When score files are loaded and @code{gnus-decay-scores} is | |
16919 non-@code{nil}, Gnus will run the score files through the decaying | |
16920 mechanism thereby lowering the scores of all non-permanent score rules. | |
16921 The decay itself if performed by the @code{gnus-decay-score-function} | |
16922 function, which is @code{gnus-decay-score} by default. Here's the | |
16923 definition of that function: | |
16924 | |
16925 @lisp | |
16926 (defun gnus-decay-score (score) | |
16927 "Decay SCORE. | |
16928 This is done according to `gnus-score-decay-constant' | |
16929 and `gnus-score-decay-scale'." | |
16930 (floor | |
16931 (- score | |
16932 (* (if (< score 0) 1 -1) | |
16933 (min (abs score) | |
16934 (max gnus-score-decay-constant | |
16935 (* (abs score) | |
16936 gnus-score-decay-scale))))))) | |
16937 @end lisp | |
16938 | |
16939 @vindex gnus-score-decay-scale | |
16940 @vindex gnus-score-decay-constant | |
16941 @code{gnus-score-decay-constant} is 3 by default and | |
16942 @code{gnus-score-decay-scale} is 0.05. This should cause the following: | |
16943 | |
16944 @enumerate | |
16945 @item | |
16946 Scores between -3 and 3 will be set to 0 when this function is called. | |
16947 | |
16948 @item | |
16949 Scores with magnitudes between 3 and 60 will be shrunk by 3. | |
16950 | |
16951 @item | |
16952 Scores with magnitudes greater than 60 will be shrunk by 5% of the | |
16953 score. | |
16954 @end enumerate | |
16955 | |
16956 If you don't like this decay function, write your own. It is called | |
16957 with the score to be decayed as its only parameter, and it should return | |
16958 the new score, which should be an integer. | |
16959 | |
16960 Gnus will try to decay scores once a day. If you haven't run Gnus for | |
16961 four days, Gnus will decay the scores four times, for instance. | |
16962 | |
16963 | |
16964 @node Various | |
16965 @chapter Various | |
16966 | |
16967 @menu | |
16968 * Process/Prefix:: A convention used by many treatment commands. | |
16969 * Interactive:: Making Gnus ask you many questions. | |
16970 * Symbolic Prefixes:: How to supply some Gnus functions with options. | |
16971 * Formatting Variables:: You can specify what buffers should look like. | |
16972 * Windows Configuration:: Configuring the Gnus buffer windows. | |
16973 * Faces and Fonts:: How to change how faces look. | |
16974 * Compilation:: How to speed Gnus up. | |
16975 * Mode Lines:: Displaying information in the mode lines. | |
16976 * Highlighting and Menus:: Making buffers look all nice and cozy. | |
16977 * Buttons:: Get tendonitis in ten easy steps! | |
16978 * Daemons:: Gnus can do things behind your back. | |
16979 * NoCeM:: How to avoid spam and other fatty foods. | |
16980 * Undo:: Some actions can be undone. | |
16981 * Moderation:: What to do if you're a moderator. | |
33292 | 16982 * Emacs Enhancements:: There can be more pictures and stuff under |
16983 Emacs 21. | |
25829 | 16984 * XEmacs Enhancements:: There are more pictures and stuff under XEmacs. |
16985 * Fuzzy Matching:: What's the big fuzz? | |
16986 * Thwarting Email Spam:: A how-to on avoiding unsolicited commercial email. | |
16987 * Various Various:: Things that are really various. | |
16988 @end menu | |
16989 | |
16990 | |
16991 @node Process/Prefix | |
16992 @section Process/Prefix | |
16993 @cindex process/prefix convention | |
16994 | |
16995 Many functions, among them functions for moving, decoding and saving | |
16996 articles, use what is known as the @dfn{Process/Prefix convention}. | |
16997 | |
16998 This is a method for figuring out what articles the user wants the | |
16999 command to be performed on. | |
17000 | |
17001 It goes like this: | |
17002 | |
17003 If the numeric prefix is N, perform the operation on the next N | |
17004 articles, starting with the current one. If the numeric prefix is | |
17005 negative, perform the operation on the previous N articles, starting | |
17006 with the current one. | |
17007 | |
17008 @vindex transient-mark-mode | |
17009 If @code{transient-mark-mode} in non-@code{nil} and the region is | |
17010 active, all articles in the region will be worked upon. | |
17011 | |
17012 If there is no numeric prefix, but some articles are marked with the | |
17013 process mark, perform the operation on the articles marked with | |
17014 the process mark. | |
17015 | |
17016 If there is neither a numeric prefix nor any articles marked with the | |
17017 process mark, just perform the operation on the current article. | |
17018 | |
17019 Quite simple, really, but it needs to be made clear so that surprises | |
17020 are avoided. | |
17021 | |
17022 Commands that react to the process mark will push the current list of | |
17023 process marked articles onto a stack and will then clear all process | |
17024 marked articles. You can restore the previous configuration with the | |
17025 @kbd{M P y} command (@pxref{Setting Process Marks}). | |
17026 | |
17027 @vindex gnus-summary-goto-unread | |
17028 One thing that seems to shock & horrify lots of people is that, for | |
17029 instance, @kbd{3 d} does exactly the same as @kbd{d} @kbd{d} @kbd{d}. | |
17030 Since each @kbd{d} (which marks the current article as read) by default | |
17031 goes to the next unread article after marking, this means that @kbd{3 d} | |
17032 will mark the next three unread articles as read, no matter what the | |
17033 summary buffer looks like. Set @code{gnus-summary-goto-unread} to | |
17034 @code{nil} for a more straightforward action. | |
17035 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17036 Many commands do not use the process/prefix convention. All commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17037 that do explicitly say so in this manual. To apply the process/prefix |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17038 convention to commands that do not use it, you can use the @kbd{M-&} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17039 command. For instance, to mark all the articles in the group as |
36028 | 17040 expirable, you could say @kbd{M P b M-& E}. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17041 |
25829 | 17042 |
17043 @node Interactive | |
17044 @section Interactive | |
17045 @cindex interaction | |
17046 | |
17047 @table @code | |
17048 | |
17049 @item gnus-novice-user | |
17050 @vindex gnus-novice-user | |
17051 If this variable is non-@code{nil}, you are either a newcomer to the | |
17052 World of Usenet, or you are very cautious, which is a nice thing to be, | |
17053 really. You will be given questions of the type ``Are you sure you want | |
17054 to do this?'' before doing anything dangerous. This is @code{t} by | |
17055 default. | |
17056 | |
17057 @item gnus-expert-user | |
17058 @vindex gnus-expert-user | |
17059 If this variable is non-@code{nil}, you will seldom be asked any | |
17060 questions by Gnus. It will simply assume you know what you're doing, no | |
17061 matter how strange. | |
17062 | |
17063 @item gnus-interactive-catchup | |
17064 @vindex gnus-interactive-catchup | |
17065 Require confirmation before catching up a group if non-@code{nil}. It | |
17066 is @code{t} by default. | |
17067 | |
17068 @item gnus-interactive-exit | |
17069 @vindex gnus-interactive-exit | |
17070 Require confirmation before exiting Gnus. This variable is @code{t} by | |
17071 default. | |
17072 @end table | |
17073 | |
17074 | |
17075 @node Symbolic Prefixes | |
17076 @section Symbolic Prefixes | |
17077 @cindex symbolic prefixes | |
17078 | |
17079 Quite a lot of Emacs commands react to the (numeric) prefix. For | |
17080 instance, @kbd{C-u 4 C-f} moves point four characters forward, and | |
17081 @kbd{C-u 9 0 0 I s s p} adds a permanent @code{Subject} substring score | |
17082 rule of 900 to the current article. | |
17083 | |
17084 This is all nice and well, but what if you want to give a command some | |
17085 additional information? Well, what most commands do is interpret the | |
17086 ``raw'' prefix in some special way. @kbd{C-u 0 C-x C-s} means that one | |
17087 doesn't want a backup file to be created when saving the current buffer, | |
17088 for instance. But what if you want to save without making a backup | |
17089 file, and you want Emacs to flash lights and play a nice tune at the | |
17090 same time? You can't, and you're probably perfectly happy that way. | |
17091 | |
36028 | 17092 @kindex M-i @r{(Summary)} |
25829 | 17093 @findex gnus-symbolic-argument |
17094 I'm not, so I've added a second prefix---the @dfn{symbolic prefix}. The | |
17095 prefix key is @kbd{M-i} (@code{gnus-symbolic-argument}), and the next | |
17096 character typed in is the value. You can stack as many @kbd{M-i} | |
40705 | 17097 prefixes as you want. @kbd{M-i a C-M-u} means ``feed the @kbd{C-M-u} |
17098 command the symbolic prefix @code{a}''. @kbd{M-i a M-i b C-M-u} means | |
17099 ``feed the @kbd{C-M-u} command the symbolic prefixes @code{a} and | |
25829 | 17100 @code{b}''. You get the drift. |
17101 | |
17102 Typing in symbolic prefixes to commands that don't accept them doesn't | |
17103 hurt, but it doesn't do any good either. Currently not many Gnus | |
17104 functions make use of the symbolic prefix. | |
17105 | |
17106 If you're interested in how Gnus implements this, @pxref{Extended | |
17107 Interactive}. | |
17108 | |
17109 | |
17110 @node Formatting Variables | |
17111 @section Formatting Variables | |
17112 @cindex formatting variables | |
17113 | |
17114 Throughout this manual you've probably noticed lots of variables called | |
17115 things like @code{gnus-group-line-format} and | |
17116 @code{gnus-summary-mode-line-format}. These control how Gnus is to | |
17117 output lines in the various buffers. There's quite a lot of them. | |
17118 Fortunately, they all use the same syntax, so there's not that much to | |
17119 be annoyed by. | |
17120 | |
17121 Here's an example format spec (from the group buffer): @samp{%M%S%5y: | |
17122 %(%g%)\n}. We see that it is indeed extremely ugly, and that there are | |
17123 lots of percentages everywhere. | |
17124 | |
17125 @menu | |
17126 * Formatting Basics:: A formatting variable is basically a format string. | |
17127 * Mode Line Formatting:: Some rules about mode line formatting variables. | |
17128 * Advanced Formatting:: Modifying output in various ways. | |
17129 * User-Defined Specs:: Having Gnus call your own functions. | |
17130 * Formatting Fonts:: Making the formatting look colorful and nice. | |
17131 @end menu | |
17132 | |
17133 Currently Gnus uses the following formatting variables: | |
17134 @code{gnus-group-line-format}, @code{gnus-summary-line-format}, | |
17135 @code{gnus-server-line-format}, @code{gnus-topic-line-format}, | |
17136 @code{gnus-group-mode-line-format}, | |
17137 @code{gnus-summary-mode-line-format}, | |
17138 @code{gnus-article-mode-line-format}, | |
17139 @code{gnus-server-mode-line-format}, and | |
17140 @code{gnus-summary-pick-line-format}. | |
17141 | |
17142 All these format variables can also be arbitrary elisp forms. In that | |
17143 case, they will be @code{eval}ed to insert the required lines. | |
17144 | |
17145 @kindex M-x gnus-update-format | |
17146 @findex gnus-update-format | |
17147 Gnus includes a command to help you while creating your own format | |
17148 specs. @kbd{M-x gnus-update-format} will @code{eval} the current form, | |
17149 update the spec in question and pop you to a buffer where you can | |
17150 examine the resulting lisp code to be run to generate the line. | |
17151 | |
17152 | |
17153 | |
17154 @node Formatting Basics | |
17155 @subsection Formatting Basics | |
17156 | |
17157 Each @samp{%} element will be replaced by some string or other when the | |
17158 buffer in question is generated. @samp{%5y} means ``insert the @samp{y} | |
17159 spec, and pad with spaces to get a 5-character field''. | |
17160 | |
17161 As with normal C and Emacs Lisp formatting strings, the numerical | |
17162 modifier between the @samp{%} and the formatting type character will | |
17163 @dfn{pad} the output so that it is always at least that long. | |
17164 @samp{%5y} will make the field always (at least) five characters wide by | |
17165 padding with spaces to the left. If you say @samp{%-5y}, it will pad to | |
17166 the right instead. | |
17167 | |
17168 You may also wish to limit the length of the field to protect against | |
17169 particularly wide values. For that you can say @samp{%4,6y}, which | |
17170 means that the field will never be more than 6 characters wide and never | |
17171 less than 4 characters wide. | |
17172 | |
17173 | |
17174 @node Mode Line Formatting | |
17175 @subsection Mode Line Formatting | |
17176 | |
17177 Mode line formatting variables (e.g., | |
17178 @code{gnus-summary-mode-line-format}) follow the same rules as other, | |
17179 buffer line oriented formatting variables (@pxref{Formatting Basics}) | |
17180 with the following two differences: | |
17181 | |
17182 @enumerate | |
17183 | |
17184 @item | |
17185 There must be no newline (@samp{\n}) at the end. | |
17186 | |
17187 @item | |
17188 The special @samp{%%b} spec can be used to display the buffer name. | |
17189 Well, it's no spec at all, really---@samp{%%} is just a way to quote | |
17190 @samp{%} to allow it to pass through the formatting machinery unmangled, | |
17191 so that Emacs receives @samp{%b}, which is something the Emacs mode line | |
17192 display interprets to mean ``show the buffer name''. For a full list of | |
17193 mode line specs Emacs understands, see the documentation of the | |
17194 @code{mode-line-format} variable. | |
17195 | |
17196 @end enumerate | |
17197 | |
17198 | |
17199 @node Advanced Formatting | |
17200 @subsection Advanced Formatting | |
17201 | |
17202 It is frequently useful to post-process the fields in some way. | |
17203 Padding, limiting, cutting off parts and suppressing certain values can | |
17204 be achieved by using @dfn{tilde modifiers}. A typical tilde spec might | |
17205 look like @samp{%~(cut 3)~(ignore "0")y}. | |
17206 | |
17207 These are the valid modifiers: | |
17208 | |
17209 @table @code | |
17210 @item pad | |
17211 @itemx pad-left | |
17212 Pad the field to the left with spaces until it reaches the required | |
17213 length. | |
17214 | |
17215 @item pad-right | |
17216 Pad the field to the right with spaces until it reaches the required | |
17217 length. | |
17218 | |
17219 @item max | |
17220 @itemx max-left | |
17221 Cut off characters from the left until it reaches the specified length. | |
17222 | |
17223 @item max-right | |
17224 Cut off characters from the right until it reaches the specified | |
17225 length. | |
17226 | |
17227 @item cut | |
17228 @itemx cut-left | |
17229 Cut off the specified number of characters from the left. | |
17230 | |
17231 @item cut-right | |
17232 Cut off the specified number of characters from the right. | |
17233 | |
17234 @item ignore | |
17235 Return an empty string if the field is equal to the specified value. | |
17236 | |
17237 @item form | |
17238 Use the specified form as the field value when the @samp{@@} spec is | |
17239 used. | |
17240 @end table | |
17241 | |
17242 Let's take an example. The @samp{%o} spec in the summary mode lines | |
17243 will return a date in compact ISO8601 format---@samp{19960809T230410}. | |
17244 This is quite a mouthful, so we want to shave off the century number and | |
17245 the time, leaving us with a six-character date. That would be | |
17246 @samp{%~(cut-left 2)~(max-right 6)~(pad 6)o}. (Cutting is done before | |
17247 maxing, and we need the padding to ensure that the date is never less | |
17248 than 6 characters to make it look nice in columns.) | |
17249 | |
17250 Ignoring is done first; then cutting; then maxing; and then as the very | |
17251 last operation, padding. | |
17252 | |
17253 If you use lots of these advanced thingies, you'll find that Gnus gets | |
17254 quite slow. This can be helped enormously by running @kbd{M-x | |
17255 gnus-compile} when you are satisfied with the look of your lines. | |
17256 @xref{Compilation}. | |
17257 | |
17258 | |
17259 @node User-Defined Specs | |
17260 @subsection User-Defined Specs | |
17261 | |
17262 All the specs allow for inserting user defined specifiers---@samp{u}. | |
17263 The next character in the format string should be a letter. Gnus | |
17264 will call the function @code{gnus-user-format-function-}@samp{X}, where | |
17265 @samp{X} is the letter following @samp{%u}. The function will be passed | |
17266 a single parameter---what the parameter means depends on what buffer | |
17267 it's being called from. The function should return a string, which will | |
17268 be inserted into the buffer just like information from any other | |
17269 specifier. This function may also be called with dummy values, so it | |
17270 should protect against that. | |
17271 | |
17272 You can also use tilde modifiers (@pxref{Advanced Formatting} to achieve | |
17273 much the same without defining new functions. Here's an example: | |
17274 @samp{%~(form (count-lines (point-min) (point)))@@}. The form | |
17275 given here will be evaluated to yield the current line number, and then | |
17276 inserted. | |
17277 | |
17278 | |
17279 @node Formatting Fonts | |
17280 @subsection Formatting Fonts | |
17281 | |
17282 There are specs for highlighting, and these are shared by all the format | |
17283 variables. Text inside the @samp{%(} and @samp{%)} specifiers will get | |
17284 the special @code{mouse-face} property set, which means that it will be | |
17285 highlighted (with @code{gnus-mouse-face}) when you put the mouse pointer | |
17286 over it. | |
17287 | |
17288 Text inside the @samp{%@{} and @samp{%@}} specifiers will have their | |
17289 normal faces set using @code{gnus-face-0}, which is @code{bold} by | |
17290 default. If you say @samp{%1@{}, you'll get @code{gnus-face-1} instead, | |
17291 and so on. Create as many faces as you wish. The same goes for the | |
17292 @code{mouse-face} specs---you can say @samp{%3(hello%)} to have | |
17293 @samp{hello} mouse-highlighted with @code{gnus-mouse-face-3}. | |
17294 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17295 Text inside the @samp{%<} and @samp{%>} specifiers will get the special |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17296 @code{balloon-help} property set to @code{gnus-balloon-face-0}. If you |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17297 say @samp{%1<}, you'll get @code{gnus-balloon-face-1} and so on. The |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17298 @code{gnus-balloon-face-*} variables should be either strings or symbols |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17299 naming functions that return a string. Under @code{balloon-help-mode}, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17300 when the mouse passes over text with this property set, a balloon window |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17301 will appear and display the string. Please refer to the doc string of |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17302 @code{balloon-help-mode} for more information on this. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17303 |
25829 | 17304 Here's an alternative recipe for the group buffer: |
17305 | |
17306 @lisp | |
17307 ;; Create three face types. | |
17308 (setq gnus-face-1 'bold) | |
17309 (setq gnus-face-3 'italic) | |
17310 | |
17311 ;; We want the article count to be in | |
17312 ;; a bold and green face. So we create | |
17313 ;; a new face called `my-green-bold'. | |
17314 (copy-face 'bold 'my-green-bold) | |
17315 ;; Set the color. | |
17316 (set-face-foreground 'my-green-bold "ForestGreen") | |
17317 (setq gnus-face-2 'my-green-bold) | |
17318 | |
17319 ;; Set the new & fancy format. | |
17320 (setq gnus-group-line-format | |
17321 "%M%S%3@{%5y%@}%2[:%] %(%1@{%g%@}%)\n") | |
17322 @end lisp | |
17323 | |
17324 I'm sure you'll be able to use this scheme to create totally unreadable | |
17325 and extremely vulgar displays. Have fun! | |
17326 | |
17327 Note that the @samp{%(} specs (and friends) do not make any sense on the | |
17328 mode-line variables. | |
17329 | |
17330 | |
17331 @node Windows Configuration | |
17332 @section Windows Configuration | |
17333 @cindex windows configuration | |
17334 | |
17335 No, there's nothing here about X, so be quiet. | |
17336 | |
17337 @vindex gnus-use-full-window | |
17338 If @code{gnus-use-full-window} non-@code{nil}, Gnus will delete all | |
17339 other windows and occupy the entire Emacs screen by itself. It is | |
17340 @code{t} by default. | |
17341 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17342 Setting this variable to @code{nil} kinda works, but there are |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17343 glitches. Use at your own peril. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17344 |
25829 | 17345 @vindex gnus-buffer-configuration |
17346 @code{gnus-buffer-configuration} describes how much space each Gnus | |
17347 buffer should be given. Here's an excerpt of this variable: | |
17348 | |
17349 @lisp | |
17350 ((group (vertical 1.0 (group 1.0 point) | |
17351 (if gnus-carpal (group-carpal 4)))) | |
17352 (article (vertical 1.0 (summary 0.25 point) | |
17353 (article 1.0)))) | |
17354 @end lisp | |
17355 | |
17356 This is an alist. The @dfn{key} is a symbol that names some action or | |
17357 other. For instance, when displaying the group buffer, the window | |
17358 configuration function will use @code{group} as the key. A full list of | |
17359 possible names is listed below. | |
17360 | |
17361 The @dfn{value} (i.e., the @dfn{split}) says how much space each buffer | |
17362 should occupy. To take the @code{article} split as an example - | |
17363 | |
17364 @lisp | |
17365 (article (vertical 1.0 (summary 0.25 point) | |
17366 (article 1.0))) | |
17367 @end lisp | |
17368 | |
17369 This @dfn{split} says that the summary buffer should occupy 25% of upper | |
17370 half of the screen, and that it is placed over the article buffer. As | |
17371 you may have noticed, 100% + 25% is actually 125% (yup, I saw y'all | |
17372 reaching for that calculator there). However, the special number | |
17373 @code{1.0} is used to signal that this buffer should soak up all the | |
17374 rest of the space available after the rest of the buffers have taken | |
17375 whatever they need. There should be only one buffer with the @code{1.0} | |
17376 size spec per split. | |
17377 | |
17378 Point will be put in the buffer that has the optional third element | |
17379 @code{point}. In a @code{frame} split, the last subsplit having a leaf | |
17380 split where the tag @code{frame-focus} is a member (i.e. is the third or | |
17381 fourth element in the list, depending on whether the @code{point} tag is | |
17382 present) gets focus. | |
17383 | |
17384 Here's a more complicated example: | |
17385 | |
17386 @lisp | |
17387 (article (vertical 1.0 (group 4) | |
17388 (summary 0.25 point) | |
17389 (if gnus-carpal (summary-carpal 4)) | |
17390 (article 1.0))) | |
17391 @end lisp | |
17392 | |
17393 If the size spec is an integer instead of a floating point number, | |
17394 then that number will be used to say how many lines a buffer should | |
17395 occupy, not a percentage. | |
17396 | |
17397 If the @dfn{split} looks like something that can be @code{eval}ed (to be | |
17398 precise---if the @code{car} of the split is a function or a subr), this | |
17399 split will be @code{eval}ed. If the result is non-@code{nil}, it will | |
17400 be used as a split. This means that there will be three buffers if | |
17401 @code{gnus-carpal} is @code{nil}, and four buffers if @code{gnus-carpal} | |
17402 is non-@code{nil}. | |
17403 | |
17404 Not complicated enough for you? Well, try this on for size: | |
17405 | |
17406 @lisp | |
17407 (article (horizontal 1.0 | |
17408 (vertical 0.5 | |
17409 (group 1.0) | |
17410 (gnus-carpal 4)) | |
17411 (vertical 1.0 | |
17412 (summary 0.25 point) | |
17413 (summary-carpal 4) | |
17414 (article 1.0)))) | |
17415 @end lisp | |
17416 | |
17417 Whoops. Two buffers with the mystery 100% tag. And what's that | |
17418 @code{horizontal} thingie? | |
17419 | |
17420 If the first element in one of the split is @code{horizontal}, Gnus will | |
17421 split the window horizontally, giving you two windows side-by-side. | |
17422 Inside each of these strips you may carry on all you like in the normal | |
17423 fashion. The number following @code{horizontal} says what percentage of | |
17424 the screen is to be given to this strip. | |
17425 | |
17426 For each split, there @emph{must} be one element that has the 100% tag. | |
17427 The splitting is never accurate, and this buffer will eat any leftover | |
17428 lines from the splits. | |
17429 | |
17430 To be slightly more formal, here's a definition of what a valid split | |
17431 may look like: | |
17432 | |
17433 @example | |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17434 split = frame | horizontal | vertical | buffer | form |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17435 frame = "(frame " size *split ")" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17436 horizontal = "(horizontal " size *split ")" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17437 vertical = "(vertical " size *split ")" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17438 buffer = "(" buf-name " " size *[ "point" ] *[ "frame-focus"] ")" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17439 size = number | frame-params |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17440 buf-name = group | article | summary ... |
25829 | 17441 @end example |
17442 | |
17443 The limitations are that the @code{frame} split can only appear as the | |
17444 top-level split. @var{form} should be an Emacs Lisp form that should | |
17445 return a valid split. We see that each split is fully recursive, and | |
17446 may contain any number of @code{vertical} and @code{horizontal} splits. | |
17447 | |
17448 @vindex gnus-window-min-width | |
17449 @vindex gnus-window-min-height | |
17450 @cindex window height | |
17451 @cindex window width | |
17452 Finding the right sizes can be a bit complicated. No window may be less | |
17453 than @code{gnus-window-min-height} (default 1) characters high, and all | |
17454 windows must be at least @code{gnus-window-min-width} (default 1) | |
17455 characters wide. Gnus will try to enforce this before applying the | |
17456 splits. If you want to use the normal Emacs window width/height limit, | |
17457 you can just set these two variables to @code{nil}. | |
17458 | |
17459 If you're not familiar with Emacs terminology, @code{horizontal} and | |
17460 @code{vertical} splits may work the opposite way of what you'd expect. | |
17461 Windows inside a @code{horizontal} split are shown side-by-side, and | |
17462 windows within a @code{vertical} split are shown above each other. | |
17463 | |
17464 @findex gnus-configure-frame | |
17465 If you want to experiment with window placement, a good tip is to call | |
17466 @code{gnus-configure-frame} directly with a split. This is the function | |
17467 that does all the real work when splitting buffers. Below is a pretty | |
17468 nonsensical configuration with 5 windows; two for the group buffer and | |
17469 three for the article buffer. (I said it was nonsensical.) If you | |
17470 @code{eval} the statement below, you can get an idea of how that would | |
17471 look straight away, without going through the normal Gnus channels. | |
17472 Play with it until you're satisfied, and then use | |
17473 @code{gnus-add-configuration} to add your new creation to the buffer | |
17474 configuration list. | |
17475 | |
17476 @lisp | |
17477 (gnus-configure-frame | |
17478 '(horizontal 1.0 | |
17479 (vertical 10 | |
17480 (group 1.0) | |
17481 (article 0.3 point)) | |
17482 (vertical 1.0 | |
17483 (article 1.0) | |
17484 (horizontal 4 | |
17485 (group 1.0) | |
17486 (article 10))))) | |
17487 @end lisp | |
17488 | |
17489 You might want to have several frames as well. No prob---just use the | |
17490 @code{frame} split: | |
17491 | |
17492 @lisp | |
17493 (gnus-configure-frame | |
17494 '(frame 1.0 | |
17495 (vertical 1.0 | |
17496 (summary 0.25 point frame-focus) | |
17497 (article 1.0)) | |
17498 (vertical ((height . 5) (width . 15) | |
17499 (user-position . t) | |
17500 (left . -1) (top . 1)) | |
17501 (picon 1.0)))) | |
17502 | |
17503 @end lisp | |
17504 | |
17505 This split will result in the familiar summary/article window | |
17506 configuration in the first (or ``main'') frame, while a small additional | |
17507 frame will be created where picons will be shown. As you can see, | |
17508 instead of the normal @code{1.0} top-level spec, each additional split | |
17509 should have a frame parameter alist as the size spec. | |
17510 @xref{Frame Parameters, , Frame Parameters, elisp, The GNU Emacs Lisp | |
17511 Reference Manual}. Under XEmacs, a frame property list will be | |
17512 accepted, too---for instance, @code{(height 5 width 15 left -1 top 1)} | |
17513 is such a plist. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17514 The list of all possible keys for @code{gnus-buffer-configuration} can |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17515 be found in its default value. |
25829 | 17516 |
17517 Note that the @code{message} key is used for both | |
17518 @code{gnus-group-mail} and @code{gnus-summary-mail-other-window}. If | |
17519 it is desirable to distinguish between the two, something like this | |
17520 might be used: | |
17521 | |
17522 @lisp | |
17523 (message (horizontal 1.0 | |
17524 (vertical 1.0 (message 1.0 point)) | |
17525 (vertical 0.24 | |
17526 (if (buffer-live-p gnus-summary-buffer) | |
17527 '(summary 0.5)) | |
17528 (group 1.0))))) | |
17529 @end lisp | |
17530 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17531 One common desire for a multiple frame split is to have a separate frame |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17532 for composing mail and news while leaving the original frame intact. To |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17533 accomplish that, something like the following can be done: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17534 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17535 @lisp |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17536 (message |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17537 (frame 1.0 |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17538 (if (not (buffer-live-p gnus-summary-buffer)) |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17539 (car (cdr (assoc 'group gnus-buffer-configuration))) |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17540 (car (cdr (assoc 'summary gnus-buffer-configuration)))) |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17541 (vertical ((user-position . t) (top . 1) (left . 1) |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17542 (name . "Message")) |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
17543 (message 1.0 point)))) |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17544 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17545 |
25829 | 17546 @findex gnus-add-configuration |
17547 Since the @code{gnus-buffer-configuration} variable is so long and | |
17548 complicated, there's a function you can use to ease changing the config | |
17549 of a single setting: @code{gnus-add-configuration}. If, for instance, | |
17550 you want to change the @code{article} setting, you could say: | |
17551 | |
17552 @lisp | |
17553 (gnus-add-configuration | |
17554 '(article (vertical 1.0 | |
17555 (group 4) | |
17556 (summary .25 point) | |
17557 (article 1.0)))) | |
17558 @end lisp | |
17559 | |
17560 You'd typically stick these @code{gnus-add-configuration} calls in your | |
17561 @file{.gnus.el} file or in some startup hook---they should be run after | |
17562 Gnus has been loaded. | |
17563 | |
17564 @vindex gnus-always-force-window-configuration | |
17565 If all windows mentioned in the configuration are already visible, Gnus | |
17566 won't change the window configuration. If you always want to force the | |
17567 ``right'' window configuration, you can set | |
17568 @code{gnus-always-force-window-configuration} to non-@code{nil}. | |
17569 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17570 If you're using tree displays (@pxref{Tree Display}), and the tree |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17571 window is displayed vertically next to another window, you may also want |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17572 to fiddle with @code{gnus-tree-minimize-window} to avoid having the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17573 windows resized. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17574 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17575 @subsection Example Window Configurations |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17576 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17577 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17578 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17579 Narrow left hand side occupied by group buffer. Right hand side split |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17580 between summary buffer (top one-sixth) and article buffer (bottom). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17581 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17582 @ifinfo |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17583 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17584 +---+---------+ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17585 | G | Summary | |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17586 | r +---------+ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17587 | o | | |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17588 | u | Article | |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17589 | p | | |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17590 +---+---------+ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17591 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17592 @end ifinfo |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17593 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17594 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17595 (gnus-add-configuration |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17596 '(article |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17597 (horizontal 1.0 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17598 (vertical 25 (group 1.0)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17599 (vertical 1.0 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17600 (summary 0.16 point) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17601 (article 1.0))))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17602 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17603 (gnus-add-configuration |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17604 '(summary |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17605 (horizontal 1.0 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17606 (vertical 25 (group 1.0)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17607 (vertical 1.0 (summary 1.0 point))))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17608 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17609 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17610 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17611 |
25829 | 17612 |
17613 @node Faces and Fonts | |
17614 @section Faces and Fonts | |
17615 @cindex faces | |
17616 @cindex fonts | |
17617 @cindex colors | |
17618 | |
17619 Fiddling with fonts and faces used to be very difficult, but these days | |
17620 it is very simple. You simply say @kbd{M-x customize-face}, pick out | |
17621 the face you want to alter, and alter it via the standard Customize | |
17622 interface. | |
17623 | |
17624 | |
17625 @node Compilation | |
17626 @section Compilation | |
17627 @cindex compilation | |
17628 @cindex byte-compilation | |
17629 | |
17630 @findex gnus-compile | |
17631 | |
17632 Remember all those line format specification variables? | |
17633 @code{gnus-summary-line-format}, @code{gnus-group-line-format}, and so | |
17634 on. Now, Gnus will of course heed whatever these variables are, but, | |
17635 unfortunately, changing them will mean a quite significant slow-down. | |
17636 (The default values of these variables have byte-compiled functions | |
17637 associated with them, while the user-generated versions do not, of | |
17638 course.) | |
17639 | |
17640 To help with this, you can run @kbd{M-x gnus-compile} after you've | |
17641 fiddled around with the variables and feel that you're (kind of) | |
17642 satisfied. This will result in the new specs being byte-compiled, and | |
17643 you'll get top speed again. Gnus will save these compiled specs in the | |
17644 @file{.newsrc.eld} file. (User-defined functions aren't compiled by | |
17645 this function, though---you should compile them yourself by sticking | |
17646 them into the @code{.gnus.el} file and byte-compiling that file.) | |
17647 | |
17648 | |
17649 @node Mode Lines | |
17650 @section Mode Lines | |
17651 @cindex mode lines | |
17652 | |
17653 @vindex gnus-updated-mode-lines | |
17654 @code{gnus-updated-mode-lines} says what buffers should keep their mode | |
17655 lines updated. It is a list of symbols. Supported symbols include | |
17656 @code{group}, @code{article}, @code{summary}, @code{server}, | |
17657 @code{browse}, and @code{tree}. If the corresponding symbol is present, | |
17658 Gnus will keep that mode line updated with information that may be | |
17659 pertinent. If this variable is @code{nil}, screen refresh may be | |
17660 quicker. | |
17661 | |
17662 @cindex display-time | |
17663 | |
17664 @vindex gnus-mode-non-string-length | |
17665 By default, Gnus displays information on the current article in the mode | |
17666 lines of the summary and article buffers. The information Gnus wishes | |
17667 to display (e.g. the subject of the article) is often longer than the | |
17668 mode lines, and therefore have to be cut off at some point. The | |
17669 @code{gnus-mode-non-string-length} variable says how long the other | |
17670 elements on the line is (i.e., the non-info part). If you put | |
17671 additional elements on the mode line (e.g. a clock), you should modify | |
17672 this variable: | |
17673 | |
17674 @c Hook written by Francesco Potorti` <pot@cnuce.cnr.it> | |
17675 @lisp | |
17676 (add-hook 'display-time-hook | |
17677 (lambda () (setq gnus-mode-non-string-length | |
17678 (+ 21 | |
17679 (if line-number-mode 5 0) | |
17680 (if column-number-mode 4 0) | |
17681 (length display-time-string))))) | |
17682 @end lisp | |
17683 | |
17684 If this variable is @code{nil} (which is the default), the mode line | |
17685 strings won't be chopped off, and they won't be padded either. Note | |
17686 that the default is unlikely to be desirable, as even the percentage | |
17687 complete in the buffer may be crowded off the mode line; the user should | |
17688 configure this variable appropriately for her configuration. | |
17689 | |
17690 | |
17691 @node Highlighting and Menus | |
17692 @section Highlighting and Menus | |
17693 @cindex visual | |
17694 @cindex highlighting | |
17695 @cindex menus | |
17696 | |
17697 @vindex gnus-visual | |
17698 The @code{gnus-visual} variable controls most of the Gnus-prettifying | |
17699 aspects. If @code{nil}, Gnus won't attempt to create menus or use fancy | |
17700 colors or fonts. This will also inhibit loading the @file{gnus-vis.el} | |
17701 file. | |
17702 | |
17703 This variable can be a list of visual properties that are enabled. The | |
17704 following elements are valid, and are all included by default: | |
17705 | |
17706 @table @code | |
17707 @item group-highlight | |
17708 Do highlights in the group buffer. | |
17709 @item summary-highlight | |
17710 Do highlights in the summary buffer. | |
17711 @item article-highlight | |
17712 Do highlights in the article buffer. | |
17713 @item highlight | |
17714 Turn on highlighting in all buffers. | |
17715 @item group-menu | |
17716 Create menus in the group buffer. | |
17717 @item summary-menu | |
17718 Create menus in the summary buffers. | |
17719 @item article-menu | |
17720 Create menus in the article buffer. | |
17721 @item browse-menu | |
17722 Create menus in the browse buffer. | |
17723 @item server-menu | |
17724 Create menus in the server buffer. | |
17725 @item score-menu | |
17726 Create menus in the score buffers. | |
17727 @item menu | |
17728 Create menus in all buffers. | |
17729 @end table | |
17730 | |
17731 So if you only want highlighting in the article buffer and menus in all | |
17732 buffers, you could say something like: | |
17733 | |
17734 @lisp | |
17735 (setq gnus-visual '(article-highlight menu)) | |
17736 @end lisp | |
17737 | |
17738 If you want highlighting only and no menus whatsoever, you'd say: | |
17739 | |
17740 @lisp | |
17741 (setq gnus-visual '(highlight)) | |
17742 @end lisp | |
17743 | |
17744 If @code{gnus-visual} is @code{t}, highlighting and menus will be used | |
17745 in all Gnus buffers. | |
17746 | |
17747 Other general variables that influence the look of all buffers include: | |
17748 | |
17749 @table @code | |
17750 @item gnus-mouse-face | |
17751 @vindex gnus-mouse-face | |
17752 This is the face (i.e., font) used for mouse highlighting in Gnus. No | |
17753 mouse highlights will be done if @code{gnus-visual} is @code{nil}. | |
17754 | |
17755 @end table | |
17756 | |
17757 There are hooks associated with the creation of all the different menus: | |
17758 | |
17759 @table @code | |
17760 | |
17761 @item gnus-article-menu-hook | |
17762 @vindex gnus-article-menu-hook | |
17763 Hook called after creating the article mode menu. | |
17764 | |
17765 @item gnus-group-menu-hook | |
17766 @vindex gnus-group-menu-hook | |
17767 Hook called after creating the group mode menu. | |
17768 | |
17769 @item gnus-summary-menu-hook | |
17770 @vindex gnus-summary-menu-hook | |
17771 Hook called after creating the summary mode menu. | |
17772 | |
17773 @item gnus-server-menu-hook | |
17774 @vindex gnus-server-menu-hook | |
17775 Hook called after creating the server mode menu. | |
17776 | |
17777 @item gnus-browse-menu-hook | |
17778 @vindex gnus-browse-menu-hook | |
17779 Hook called after creating the browse mode menu. | |
17780 | |
17781 @item gnus-score-menu-hook | |
17782 @vindex gnus-score-menu-hook | |
17783 Hook called after creating the score mode menu. | |
17784 | |
17785 @end table | |
17786 | |
17787 | |
17788 @node Buttons | |
17789 @section Buttons | |
17790 @cindex buttons | |
17791 @cindex mouse | |
17792 @cindex click | |
17793 | |
36879 | 17794 Those new-fangled @dfn{mouse} contraptions are very popular with the |
25829 | 17795 young, hep kids who don't want to learn the proper way to do things |
17796 these days. Why, I remember way back in the summer of '89, when I was | |
17797 using Emacs on a Tops 20 system. Three hundred users on one single | |
17798 machine, and every user was running Simula compilers. Bah! | |
17799 | |
17800 Right. | |
17801 | |
17802 @vindex gnus-carpal | |
35073 | 17803 Well, you can make Gnus display buffers full of buttons you can click to |
25829 | 17804 do anything by setting @code{gnus-carpal} to @code{t}. Pretty simple, |
17805 really. Tell the chiropractor I sent you. | |
17806 | |
17807 | |
17808 @table @code | |
17809 | |
17810 @item gnus-carpal-mode-hook | |
17811 @vindex gnus-carpal-mode-hook | |
17812 Hook run in all carpal mode buffers. | |
17813 | |
17814 @item gnus-carpal-button-face | |
17815 @vindex gnus-carpal-button-face | |
17816 Face used on buttons. | |
17817 | |
17818 @item gnus-carpal-header-face | |
17819 @vindex gnus-carpal-header-face | |
17820 Face used on carpal buffer headers. | |
17821 | |
17822 @item gnus-carpal-group-buffer-buttons | |
17823 @vindex gnus-carpal-group-buffer-buttons | |
17824 Buttons in the group buffer. | |
17825 | |
17826 @item gnus-carpal-summary-buffer-buttons | |
17827 @vindex gnus-carpal-summary-buffer-buttons | |
17828 Buttons in the summary buffer. | |
17829 | |
17830 @item gnus-carpal-server-buffer-buttons | |
17831 @vindex gnus-carpal-server-buffer-buttons | |
17832 Buttons in the server buffer. | |
17833 | |
17834 @item gnus-carpal-browse-buffer-buttons | |
17835 @vindex gnus-carpal-browse-buffer-buttons | |
17836 Buttons in the browse buffer. | |
17837 @end table | |
17838 | |
17839 All the @code{buttons} variables are lists. The elements in these list | |
17840 are either cons cells where the @code{car} contains a text to be displayed and | |
17841 the @code{cdr} contains a function symbol, or a simple string. | |
17842 | |
17843 | |
17844 @node Daemons | |
17845 @section Daemons | |
17846 @cindex demons | |
17847 @cindex daemons | |
17848 | |
17849 Gnus, being larger than any program ever written (allegedly), does lots | |
17850 of strange stuff that you may wish to have done while you're not | |
17851 present. For instance, you may want it to check for new mail once in a | |
17852 while. Or you may want it to close down all connections to all servers | |
17853 when you leave Emacs idle. And stuff like that. | |
17854 | |
17855 Gnus will let you do stuff like that by defining various | |
17856 @dfn{handlers}. Each handler consists of three elements: A | |
17857 @var{function}, a @var{time}, and an @var{idle} parameter. | |
17858 | |
17859 Here's an example of a handler that closes connections when Emacs has | |
17860 been idle for thirty minutes: | |
17861 | |
17862 @lisp | |
17863 (gnus-demon-close-connections nil 30) | |
17864 @end lisp | |
17865 | |
17866 Here's a handler that scans for PGP headers every hour when Emacs is | |
17867 idle: | |
17868 | |
17869 @lisp | |
17870 (gnus-demon-scan-pgp 60 t) | |
17871 @end lisp | |
17872 | |
17873 This @var{time} parameter and than @var{idle} parameter work together | |
17874 in a strange, but wonderful fashion. Basically, if @var{idle} is | |
17875 @code{nil}, then the function will be called every @var{time} minutes. | |
17876 | |
17877 If @var{idle} is @code{t}, then the function will be called after | |
17878 @var{time} minutes only if Emacs is idle. So if Emacs is never idle, | |
17879 the function will never be called. But once Emacs goes idle, the | |
17880 function will be called every @var{time} minutes. | |
17881 | |
17882 If @var{idle} is a number and @var{time} is a number, the function will | |
17883 be called every @var{time} minutes only when Emacs has been idle for | |
17884 @var{idle} minutes. | |
17885 | |
17886 If @var{idle} is a number and @var{time} is @code{nil}, the function | |
17887 will be called once every time Emacs has been idle for @var{idle} | |
17888 minutes. | |
17889 | |
17890 And if @var{time} is a string, it should look like @samp{07:31}, and | |
17891 the function will then be called once every day somewhere near that | |
17892 time. Modified by the @var{idle} parameter, of course. | |
17893 | |
17894 @vindex gnus-demon-timestep | |
17895 (When I say ``minute'' here, I really mean @code{gnus-demon-timestep} | |
17896 seconds. This is 60 by default. If you change that variable, | |
17897 all the timings in the handlers will be affected.) | |
17898 | |
17899 So, if you want to add a handler, you could put something like this in | |
17900 your @file{.gnus} file: | |
17901 | |
17902 @findex gnus-demon-add-handler | |
17903 @lisp | |
17904 (gnus-demon-add-handler 'gnus-demon-close-connections 30 t) | |
17905 @end lisp | |
17906 | |
17907 @findex gnus-demon-add-nocem | |
17908 @findex gnus-demon-add-scanmail | |
17909 @findex gnus-demon-add-rescan | |
17910 @findex gnus-demon-add-scan-timestamps | |
17911 @findex gnus-demon-add-disconnection | |
17912 Some ready-made functions to do this have been created: | |
17913 @code{gnus-demon-add-nocem}, @code{gnus-demon-add-disconnection}, | |
17914 @code{gnus-demon-add-nntp-close-connection}, | |
17915 @code{gnus-demon-add-scan-timestamps}, @code{gnus-demon-add-rescan}, and | |
17916 @code{gnus-demon-add-scanmail}. Just put those functions in your | |
17917 @file{.gnus} if you want those abilities. | |
17918 | |
17919 @findex gnus-demon-init | |
17920 @findex gnus-demon-cancel | |
17921 @vindex gnus-demon-handlers | |
17922 If you add handlers to @code{gnus-demon-handlers} directly, you should | |
17923 run @code{gnus-demon-init} to make the changes take hold. To cancel all | |
17924 daemons, you can use the @code{gnus-demon-cancel} function. | |
17925 | |
17926 Note that adding daemons can be pretty naughty if you over do it. Adding | |
17927 functions that scan all news and mail from all servers every two seconds | |
17928 is a sure-fire way of getting booted off any respectable system. So | |
17929 behave. | |
17930 | |
17931 | |
17932 @node NoCeM | |
17933 @section NoCeM | |
17934 @cindex nocem | |
17935 @cindex spam | |
17936 | |
17937 @dfn{Spamming} is posting the same article lots and lots of times. | |
17938 Spamming is bad. Spamming is evil. | |
17939 | |
17940 Spamming is usually canceled within a day or so by various anti-spamming | |
17941 agencies. These agencies usually also send out @dfn{NoCeM} messages. | |
17942 NoCeM is pronounced ``no see-'em'', and means what the name | |
17943 implies---these are messages that make the offending articles, like, go | |
17944 away. | |
17945 | |
17946 What use are these NoCeM messages if the articles are canceled anyway? | |
17947 Some sites do not honor cancel messages and some sites just honor cancels | |
17948 from a select few people. Then you may wish to make use of the NoCeM | |
17949 messages, which are distributed in the @samp{alt.nocem.misc} newsgroup. | |
17950 | |
17951 Gnus can read and parse the messages in this group automatically, and | |
17952 this will make spam disappear. | |
17953 | |
17954 There are some variables to customize, of course: | |
17955 | |
17956 @table @code | |
17957 @item gnus-use-nocem | |
17958 @vindex gnus-use-nocem | |
17959 Set this variable to @code{t} to set the ball rolling. It is @code{nil} | |
17960 by default. | |
17961 | |
17962 @item gnus-nocem-groups | |
17963 @vindex gnus-nocem-groups | |
17964 Gnus will look for NoCeM messages in the groups in this list. The | |
17965 default is @code{("news.lists.filters" "news.admin.net-abuse.bulletins" | |
17966 "alt.nocem.misc" "news.admin.net-abuse.announce")}. | |
17967 | |
17968 @item gnus-nocem-issuers | |
17969 @vindex gnus-nocem-issuers | |
17970 There are many people issuing NoCeM messages. This list says what | |
17971 people you want to listen to. The default is @code{("Automoose-1" | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17972 "clewis@@ferret.ocunix.on.ca" "cosmo.roadkill" "SpamHippo" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17973 "hweede@@snafu.de")}; fine, upstanding citizens all of them. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17974 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17975 Known despammers that you can put in this list are listed at |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17976 @uref{http://www.xs4all.nl/~rosalind/nocemreg/nocemreg.html}. |
25829 | 17977 |
17978 You do not have to heed NoCeM messages from all these people---just the | |
17979 ones you want to listen to. You also don't have to accept all NoCeM | |
17980 messages from the people you like. Each NoCeM message has a @dfn{type} | |
17981 header that gives the message a (more or less, usually less) rigorous | |
17982 definition. Common types are @samp{spam}, @samp{spew}, @samp{mmf}, | |
17983 @samp{binary}, and @samp{troll}. To specify this, you have to use | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17984 @code{(@var{issuer} @var{conditions} @dots{})} elements in the list. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17985 Each condition is either a string (which is a regexp that matches types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17986 you want to use) or a list on the form @code{(not @var{string})}, where |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17987 @var{string} is a regexp that matches types you don't want to use. |
25829 | 17988 |
17989 For instance, if you want all NoCeM messages from Chris Lewis except his | |
17990 @samp{troll} messages, you'd say: | |
17991 | |
17992 @lisp | |
17993 ("clewis@@ferret.ocunix.on.ca" ".*" (not "troll")) | |
17994 @end lisp | |
17995 | |
17996 On the other hand, if you just want nothing but his @samp{spam} and | |
17997 @samp{spew} messages, you'd say: | |
17998 | |
17999 @lisp | |
18000 ("clewis@@ferret.ocunix.on.ca" (not ".*") "spew" "spam") | |
18001 @end lisp | |
18002 | |
18003 The specs are applied left-to-right. | |
18004 | |
18005 | |
18006 @item gnus-nocem-verifyer | |
18007 @vindex gnus-nocem-verifyer | |
18008 @findex mc-verify | |
18009 This should be a function for verifying that the NoCeM issuer is who she | |
18010 says she is. The default is @code{mc-verify}, which is a Mailcrypt | |
18011 function. If this is too slow and you don't care for verification | |
18012 (which may be dangerous), you can set this variable to @code{nil}. | |
18013 | |
18014 If you want signed NoCeM messages to be verified and unsigned messages | |
18015 not to be verified (but used anyway), you could do something like: | |
18016 | |
18017 @lisp | |
18018 (setq gnus-nocem-verifyer 'my-gnus-mc-verify) | |
18019 | |
18020 (defun my-gnus-mc-verify () | |
18021 (not (eq 'forged | |
18022 (ignore-errors | |
18023 (if (mc-verify) | |
18024 t | |
18025 'forged))))) | |
18026 @end lisp | |
18027 | |
18028 This might be dangerous, though. | |
18029 | |
18030 @item gnus-nocem-directory | |
18031 @vindex gnus-nocem-directory | |
18032 This is where Gnus will store its NoCeM cache files. The default is | |
18033 @file{~/News/NoCeM/}. | |
18034 | |
18035 @item gnus-nocem-expiry-wait | |
18036 @vindex gnus-nocem-expiry-wait | |
18037 The number of days before removing old NoCeM entries from the cache. | |
18038 The default is 15. If you make it shorter Gnus will be faster, but you | |
18039 might then see old spam. | |
18040 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18041 @item gnus-nocem-check-from |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18042 @vindex gnus-nocem-check-from |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18043 Non-@code{nil} means check for valid issuers in message bodies. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18044 Otherwise don't bother fetching articles unless their author matches a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18045 valid issuer; that is much faster if you are selective about the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18046 issuers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18047 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18048 @item gnus-nocem-check-article-limit |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18049 @vindex gnus-nocem-check-article-limit |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18050 If non-@code{nil}, the maximum number of articles to check in any NoCeM |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18051 group. NoCeM groups can be huge and very slow to process. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18052 |
25829 | 18053 @end table |
18054 | |
18055 Using NoCeM could potentially be a memory hog. If you have many living | |
18056 (i. e., subscribed or unsubscribed groups), your Emacs process will grow | |
18057 big. If this is a problem, you should kill off all (or most) of your | |
18058 unsubscribed groups (@pxref{Subscription Commands}). | |
18059 | |
18060 | |
18061 @node Undo | |
18062 @section Undo | |
18063 @cindex undo | |
18064 | |
18065 It is very useful to be able to undo actions one has done. In normal | |
18066 Emacs buffers, it's easy enough---you just push the @code{undo} button. | |
18067 In Gnus buffers, however, it isn't that simple. | |
18068 | |
18069 The things Gnus displays in its buffer is of no value whatsoever to | |
18070 Gnus---it's all just data designed to look nice to the user. | |
18071 Killing a group in the group buffer with @kbd{C-k} makes the line | |
18072 disappear, but that's just a side-effect of the real action---the | |
18073 removal of the group in question from the internal Gnus structures. | |
18074 Undoing something like that can't be done by the normal Emacs | |
18075 @code{undo} function. | |
18076 | |
18077 Gnus tries to remedy this somewhat by keeping track of what the user | |
18078 does and coming up with actions that would reverse the actions the user | |
18079 takes. When the user then presses the @code{undo} key, Gnus will run | |
18080 the code to reverse the previous action, or the previous actions. | |
18081 However, not all actions are easily reversible, so Gnus currently offers | |
18082 a few key functions to be undoable. These include killing groups, | |
18083 yanking groups, and changing the list of read articles of groups. | |
18084 That's it, really. More functions may be added in the future, but each | |
18085 added function means an increase in data to be stored, so Gnus will | |
18086 never be totally undoable. | |
18087 | |
18088 @findex gnus-undo-mode | |
18089 @vindex gnus-use-undo | |
18090 @findex gnus-undo | |
18091 The undoability is provided by the @code{gnus-undo-mode} minor mode. It | |
18092 is used if @code{gnus-use-undo} is non-@code{nil}, which is the | |
40705 | 18093 default. The @kbd{C-M-_} key performs the @code{gnus-undo} |
25829 | 18094 command, which should feel kinda like the normal Emacs @code{undo} |
18095 command. | |
18096 | |
18097 | |
18098 @node Moderation | |
18099 @section Moderation | |
18100 @cindex moderation | |
18101 | |
18102 If you are a moderator, you can use the @file{gnus-mdrtn.el} package. | |
18103 It is not included in the standard Gnus package. Write a mail to | |
18104 @samp{larsi@@gnus.org} and state what group you moderate, and you'll | |
18105 get a copy. | |
18106 | |
18107 The moderation package is implemented as a minor mode for summary | |
18108 buffers. Put | |
18109 | |
18110 @lisp | |
18111 (add-hook 'gnus-summary-mode-hook 'gnus-moderate) | |
18112 @end lisp | |
18113 | |
18114 in your @file{.gnus.el} file. | |
18115 | |
18116 If you are the moderator of @samp{rec.zoofle}, this is how it's | |
18117 supposed to work: | |
18118 | |
18119 @enumerate | |
18120 @item | |
18121 You split your incoming mail by matching on | |
18122 @samp{Newsgroups:.*rec.zoofle}, which will put all the to-be-posted | |
18123 articles in some mail group---for instance, @samp{nnml:rec.zoofle}. | |
18124 | |
18125 @item | |
18126 You enter that group once in a while and post articles using the @kbd{e} | |
18127 (edit-and-post) or @kbd{s} (just send unedited) commands. | |
18128 | |
18129 @item | |
18130 If, while reading the @samp{rec.zoofle} newsgroup, you happen upon some | |
18131 articles that weren't approved by you, you can cancel them with the | |
18132 @kbd{c} command. | |
18133 @end enumerate | |
18134 | |
18135 To use moderation mode in these two groups, say: | |
18136 | |
18137 @lisp | |
18138 (setq gnus-moderated-list | |
18139 "^nnml:rec.zoofle$\\|^rec.zoofle$") | |
18140 @end lisp | |
18141 | |
33292 | 18142 @node Emacs Enhancements |
18143 @section Emacs Enhancements | |
18144 @cindex Emacs 21 | |
18145 | |
18146 Starting with version 21, Emacs is able to display pictures and stuff, | |
18147 so Gnus has taken advantage of that. | |
18148 | |
18149 Gnus-specific tool bars will be used if Tool Bar mode is on. Currently | |
18150 the group, summary and message buffers have tool bars defined. | |
18151 | |
18152 MIME image types may be displayed internally if Emacs was built with | |
18153 appropriate support (see variable @code{image-types}). `X-Face' headers | |
18154 may be rendered as images internally if you have appropriate support | |
18155 programs (@pxref{X-Face}). You can play sounds internally if Emacs was | |
18156 built with suitable audio support; otherwise Gnus will attempt to play | |
18157 sounds externally. | |
18158 | |
18159 @vindex gnus-treat-display-smileys | |
18160 A simplified version of the XEmacs Smiley support for @dfn{emoticons} | |
18161 (@pxref{Smileys}) is available on graphical displays under the control | |
18162 of @code{gnus-treat-display-smileys}. Text `smiley' faces---@samp{:-)}, | |
18163 @samp{:-/}, @samp{:-(} and the like---are mapped to pictures which are | |
18164 displayed instead. The mapping is controlled by a list of regexps | |
18165 @vindex smiley-regexp-alist | |
18166 @code{smiley-regexp-alist} mapping matched text to image file names. It | |
18167 contains matches for `smiley', `wry' and `frowny' by default. | |
18168 | |
18169 There is currently no Emacs support for `Picons' (@pxref{Picons}), but | |
18170 there is no reason why it couldn't be added. | |
25829 | 18171 |
18172 @node XEmacs Enhancements | |
18173 @section XEmacs Enhancements | |
18174 @cindex XEmacs | |
18175 | |
18176 XEmacs is able to display pictures and stuff, so Gnus has taken | |
18177 advantage of that. | |
18178 | |
18179 @menu | |
18180 * Picons:: How to display pictures of what your reading. | |
18181 * Smileys:: Show all those happy faces the way they were meant to be shown. | |
18182 * Toolbar:: Click'n'drool. | |
18183 * XVarious:: Other XEmacsy Gnusey variables. | |
18184 @end menu | |
18185 | |
18186 | |
18187 @node Picons | |
18188 @subsection Picons | |
18189 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18190 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18191 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18192 \include{picons} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18193 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18194 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18195 |
33292 | 18196 So@dots{} You want to slow down your news reader even more! This is a |
25829 | 18197 good way to do so. Its also a great way to impress people staring |
18198 over your shoulder as you read news. | |
18199 | |
18200 @menu | |
18201 * Picon Basics:: What are picons and How do I get them. | |
18202 * Picon Requirements:: Don't go further if you aren't using XEmacs. | |
18203 * Easy Picons:: Displaying Picons---the easy way. | |
18204 * Hard Picons:: The way you should do it. You'll learn something. | |
18205 * Picon Useless Configuration:: Other variables you can trash/tweak/munge/play with. | |
18206 @end menu | |
18207 | |
18208 | |
18209 @node Picon Basics | |
18210 @subsubsection Picon Basics | |
18211 | |
18212 What are Picons? To quote directly from the Picons Web site: | |
18213 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18214 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18215 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18216 \margindex{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18217 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18218 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18219 |
25829 | 18220 @quotation |
18221 @dfn{Picons} is short for ``personal icons''. They're small, | |
18222 constrained images used to represent users and domains on the net, | |
18223 organized into databases so that the appropriate image for a given | |
18224 e-mail address can be found. Besides users and domains, there are picon | |
18225 databases for Usenet newsgroups and weather forecasts. The picons are | |
18226 in either monochrome @code{XBM} format or color @code{XPM} and | |
18227 @code{GIF} formats. | |
18228 @end quotation | |
18229 | |
18230 @vindex gnus-picons-piconsearch-url | |
18231 If you have a permanent connection to the Internet you can use Steve | |
18232 Kinzler's Picons Search engine by setting | |
18233 @code{gnus-picons-piconsearch-url} to the string @* | |
33292 | 18234 @uref{http://www.cs.indiana.edu/picons/search.html}. |
25829 | 18235 |
18236 @vindex gnus-picons-database | |
18237 Otherwise you need a local copy of his database. For instructions on | |
18238 obtaining and installing the picons databases, point your Web browser at @* | |
33292 | 18239 @uref{http://www.cs.indiana.edu/picons/ftp/index.html}. Gnus expects |
25829 | 18240 picons to be installed into a location pointed to by |
18241 @code{gnus-picons-database}. | |
18242 | |
18243 | |
18244 @node Picon Requirements | |
18245 @subsubsection Picon Requirements | |
18246 | |
18247 To have Gnus display Picons for you, you must be running XEmacs | |
18248 19.13 or greater since all other versions of Emacs aren't yet able to | |
18249 display images. | |
18250 | |
18251 Additionally, you must have @code{x} support compiled into XEmacs. To | |
18252 display color picons which are much nicer than the black & white one, | |
18253 you also need one of @code{xpm} or @code{gif} compiled into XEmacs. | |
18254 | |
18255 @vindex gnus-picons-convert-x-face | |
18256 If you want to display faces from @code{X-Face} headers, you should have | |
18257 the @code{xface} support compiled into XEmacs. Otherwise you must have | |
18258 the @code{netpbm} utilities installed, or munge the | |
18259 @code{gnus-picons-convert-x-face} variable to use something else. | |
18260 | |
18261 | |
18262 @node Easy Picons | |
18263 @subsubsection Easy Picons | |
18264 | |
18265 To enable displaying picons, simply put the following line in your | |
18266 @file{~/.gnus} file and start Gnus. | |
18267 | |
18268 @lisp | |
18269 (setq gnus-use-picons t) | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18270 (setq gnus-treat-display-picons t) |
25829 | 18271 @end lisp |
18272 | |
18273 and make sure @code{gnus-picons-database} points to the directory | |
18274 containing the Picons databases. | |
18275 | |
18276 Alternatively if you want to use the web piconsearch engine add this: | |
18277 | |
18278 @lisp | |
18279 (setq gnus-picons-piconsearch-url | |
18280 "http://www.cs.indiana.edu:800/piconsearch") | |
18281 @end lisp | |
18282 | |
18283 | |
18284 @node Hard Picons | |
18285 @subsubsection Hard Picons | |
18286 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18287 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18288 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18289 \margindex{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18290 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18291 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18292 |
25829 | 18293 Gnus can display picons for you as you enter and leave groups and |
18294 articles. It knows how to interact with three sections of the picons | |
18295 database. Namely, it can display the picons newsgroup pictures, | |
18296 author's face picture(s), and the authors domain. To enable this | |
18297 feature, you need to select where to get the picons from, and where to | |
18298 display them. | |
18299 | |
18300 @table @code | |
18301 | |
18302 @item gnus-picons-database | |
18303 @vindex gnus-picons-database | |
18304 The location of the picons database. Should point to a directory | |
18305 containing the @file{news}, @file{domains}, @file{users} (and so on) | |
18306 subdirectories. This is only useful if | |
18307 @code{gnus-picons-piconsearch-url} is @code{nil}. Defaults to | |
18308 @file{/usr/local/faces/}. | |
18309 | |
18310 @item gnus-picons-piconsearch-url | |
18311 @vindex gnus-picons-piconsearch-url | |
18312 The URL for the web picons search engine. The only currently known | |
33292 | 18313 engine is @uref{http://www.cs.indiana.edu:800/piconsearch}. To |
25829 | 18314 workaround network delays, icons will be fetched in the background. If |
18315 this is @code{nil} 'the default), then picons are fetched from local | |
18316 database indicated by @code{gnus-picons-database}. | |
18317 | |
18318 @item gnus-picons-display-where | |
18319 @vindex gnus-picons-display-where | |
18320 Where the picon images should be displayed. It is @code{picons} by | |
18321 default (which by default maps to the buffer @samp{*Picons*}). Other | |
18322 valid places could be @code{article}, @code{summary}, or | |
18323 @samp{*scratch*} for all I care. Just make sure that you've made the | |
18324 buffer visible using the standard Gnus window configuration | |
18325 routines---@pxref{Windows Configuration}. | |
18326 | |
18327 @item gnus-picons-group-excluded-groups | |
18328 @vindex gnus-picons-group-excluded-groups | |
18329 Groups that are matched by this regexp won't have their group icons | |
18330 displayed. | |
18331 | |
18332 @end table | |
18333 | |
18334 Note: If you set @code{gnus-use-picons} to @code{t}, it will set up your | |
18335 window configuration for you to include the @code{picons} buffer. | |
18336 | |
18337 Now that you've made those decision, you need to add the following | |
18338 functions to the appropriate hooks so these pictures will get displayed | |
18339 at the right time. | |
18340 | |
18341 @vindex gnus-picons-display-where | |
18342 @table @code | |
18343 @item gnus-article-display-picons | |
18344 @findex gnus-article-display-picons | |
18345 Looks up and displays the picons for the author and the author's domain | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18346 in the @code{gnus-picons-display-where} buffer. |
25829 | 18347 |
18348 @item gnus-picons-article-display-x-face | |
18349 @findex gnus-article-display-picons | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18350 Decodes and displays the X-Face header if present. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18351 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18352 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18353 |
25829 | 18354 |
18355 | |
18356 @node Picon Useless Configuration | |
18357 @subsubsection Picon Useless Configuration | |
18358 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18359 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18360 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18361 \margindex{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18362 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18363 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18364 |
25829 | 18365 The following variables offer further control over how things are |
18366 done, where things are located, and other useless stuff you really | |
18367 don't need to worry about. | |
18368 | |
18369 @table @code | |
18370 | |
18371 @item gnus-picons-news-directories | |
18372 @vindex gnus-picons-news-directories | |
18373 List of subdirectories to search in @code{gnus-picons-database} for | |
18374 newsgroups faces. @code{("news")} is the default. | |
18375 | |
18376 @item gnus-picons-user-directories | |
18377 @vindex gnus-picons-user-directories | |
18378 List of subdirectories to search in @code{gnus-picons-database} for user | |
18379 faces. @code{("local" "users" "usenix" "misc")} is the default. | |
18380 | |
18381 @item gnus-picons-domain-directories | |
18382 @vindex gnus-picons-domain-directories | |
18383 List of subdirectories to search in @code{gnus-picons-database} for | |
18384 domain name faces. Defaults to @code{("domains")}. Some people may | |
18385 want to add @samp{"unknown"} to this list. | |
18386 | |
18387 @item gnus-picons-convert-x-face | |
18388 @vindex gnus-picons-convert-x-face | |
18389 If you don't have @code{xface} support builtin XEmacs, this is the | |
18390 command to use to convert the @code{X-Face} header to an X bitmap | |
18391 (@code{xbm}). Defaults to @code{(format "@{ echo '/* Width=48, | |
18392 Height=48 */'; uncompface; @} | icontopbm | pbmtoxbm > %s" | |
18393 gnus-picons-x-face-file-name)} | |
18394 | |
18395 @item gnus-picons-x-face-file-name | |
18396 @vindex gnus-picons-x-face-file-name | |
18397 Names a temporary file to store the @code{X-Face} bitmap in. Defaults | |
18398 to @code{(format "/tmp/picon-xface.%s.xbm" (user-login-name))}. | |
18399 | |
18400 @item gnus-picons-has-modeline-p | |
18401 @vindex gnus-picons-has-modeline-p | |
18402 If you have set @code{gnus-picons-display-where} to @code{picons}, your | |
18403 XEmacs frame will become really cluttered. To alleviate this a bit you | |
18404 can set @code{gnus-picons-has-modeline-p} to @code{nil}; this will | |
18405 remove the mode line from the Picons buffer. This is only useful if | |
18406 @code{gnus-picons-display-where} is @code{picons}. | |
18407 | |
18408 @item gnus-picons-refresh-before-display | |
18409 @vindex gnus-picons-refresh-before-display | |
18410 If non-nil, display the article buffer before computing the picons. | |
18411 Defaults to @code{nil}. | |
18412 | |
18413 @item gnus-picons-display-as-address | |
18414 @vindex gnus-picons-display-as-address | |
18415 If @code{t} display textual email addresses along with pictures. | |
18416 Defaults to @code{t}. | |
18417 | |
18418 @item gnus-picons-file-suffixes | |
18419 @vindex gnus-picons-file-suffixes | |
18420 Ordered list of suffixes on picon file names to try. Defaults to | |
18421 @code{("xpm" "gif" "xbm")} minus those not builtin your XEmacs. | |
18422 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18423 @item gnus-picons-setup-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18424 @vindex gnus-picons-setup-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18425 Hook run in the picon buffer, if that is displayed. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18426 |
25829 | 18427 @item gnus-picons-display-article-move-p |
18428 @vindex gnus-picons-display-article-move-p | |
18429 Whether to move point to first empty line when displaying picons. This | |
18430 has only an effect if `gnus-picons-display-where' has value `article'. | |
18431 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18432 If @code{nil}, display the picons in the @code{From} and |
35073 | 18433 @code{Newsgroups} lines. This is the default. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18434 |
25829 | 18435 @item gnus-picons-clear-cache-on-shutdown |
18436 @vindex gnus-picons-clear-cache-on-shutdown | |
18437 Whether to clear the picons cache when exiting gnus. Gnus caches every | |
18438 picons it finds while it is running. This saves some time in the search | |
18439 process but eats some memory. If this variable is set to @code{nil}, | |
18440 Gnus will never clear the cache itself; you will have to manually call | |
18441 @code{gnus-picons-clear-cache} to clear it. Otherwise the cache will be | |
18442 cleared every time you exit Gnus. Defaults to @code{t}. | |
18443 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18444 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18445 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18446 \margindex{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18447 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18448 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18449 |
25829 | 18450 @end table |
18451 | |
18452 @node Smileys | |
18453 @subsection Smileys | |
18454 @cindex smileys | |
18455 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18456 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18457 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18458 \gnusfig{-3cm}{0.5cm}{\epsfig{figure=tmp/BigFace.ps,height=20cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18459 \input{smiley} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18460 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18461 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18462 |
25829 | 18463 @dfn{Smiley} is a package separate from Gnus, but since Gnus is |
18464 currently the only package that uses Smiley, it is documented here. | |
18465 | |
18466 In short---to use Smiley in Gnus, put the following in your | |
18467 @file{.gnus.el} file: | |
18468 | |
18469 @lisp | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18470 (setq gnus-treat-display-smileys t) |
25829 | 18471 @end lisp |
18472 | |
18473 Smiley maps text smiley faces---@samp{:-)}, @samp{:-=}, @samp{:-(} and | |
18474 the like---to pictures and displays those instead of the text smiley | |
18475 faces. The conversion is controlled by a list of regexps that matches | |
18476 text and maps that to file names. | |
18477 | |
18478 @vindex smiley-nosey-regexp-alist | |
18479 @vindex smiley-deformed-regexp-alist | |
18480 Smiley supplies two example conversion alists by default: | |
18481 @code{smiley-deformed-regexp-alist} (which matches @samp{:)}, @samp{:(} | |
18482 and so on), and @code{smiley-nosey-regexp-alist} (which matches | |
18483 @samp{:-)}, @samp{:-(} and so on). | |
18484 | |
18485 The alist used is specified by the @code{smiley-regexp-alist} variable, | |
18486 which defaults to the value of @code{smiley-deformed-regexp-alist}. | |
18487 | |
18488 The first item in each element is the regexp to be matched; the second | |
18489 element is the regexp match group that is to be replaced by the picture; | |
18490 and the third element is the name of the file to be displayed. | |
18491 | |
18492 The following variables customize where Smiley will look for these | |
18493 files, as well as the color to be used and stuff: | |
18494 | |
18495 @table @code | |
18496 | |
18497 @item smiley-data-directory | |
18498 @vindex smiley-data-directory | |
18499 Where Smiley will look for smiley faces files. | |
18500 | |
18501 @item smiley-flesh-color | |
18502 @vindex smiley-flesh-color | |
18503 Skin color. The default is @samp{yellow}, which is really racist. | |
18504 | |
18505 @item smiley-features-color | |
18506 @vindex smiley-features-color | |
18507 Color of the features of the face. The default is @samp{black}. | |
18508 | |
18509 @item smiley-tongue-color | |
18510 @vindex smiley-tongue-color | |
18511 Color of the tongue. The default is @samp{red}. | |
18512 | |
18513 @item smiley-circle-color | |
18514 @vindex smiley-circle-color | |
18515 Color of the circle around the face. The default is @samp{black}. | |
18516 | |
18517 @item smiley-mouse-face | |
18518 @vindex smiley-mouse-face | |
18519 Face used for mouse highlighting over the smiley face. | |
18520 | |
18521 @end table | |
18522 | |
18523 | |
18524 @node Toolbar | |
18525 @subsection Toolbar | |
18526 | |
18527 @table @code | |
18528 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18529 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18530 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18531 \margindex{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18532 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18533 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18534 |
25829 | 18535 @item gnus-use-toolbar |
18536 @vindex gnus-use-toolbar | |
18537 If @code{nil}, don't display toolbars. If non-@code{nil}, it should be | |
18538 one of @code{default-toolbar}, @code{top-toolbar}, @code{bottom-toolbar}, | |
18539 @code{right-toolbar}, or @code{left-toolbar}. | |
18540 | |
18541 @item gnus-group-toolbar | |
18542 @vindex gnus-group-toolbar | |
18543 The toolbar in the group buffer. | |
18544 | |
18545 @item gnus-summary-toolbar | |
18546 @vindex gnus-summary-toolbar | |
18547 The toolbar in the summary buffer. | |
18548 | |
18549 @item gnus-summary-mail-toolbar | |
18550 @vindex gnus-summary-mail-toolbar | |
18551 The toolbar in the summary buffer of mail groups. | |
18552 | |
18553 @end table | |
18554 | |
18555 | |
18556 @node XVarious | |
18557 @subsection Various XEmacs Variables | |
18558 | |
18559 @table @code | |
18560 @item gnus-xmas-glyph-directory | |
18561 @vindex gnus-xmas-glyph-directory | |
18562 This is where Gnus will look for pictures. Gnus will normally | |
18563 auto-detect this directory, but you may set it manually if you have an | |
18564 unusual directory structure. | |
18565 | |
18566 @item gnus-xmas-logo-color-alist | |
18567 @vindex gnus-xmas-logo-color-alist | |
18568 This is an alist where the key is a type symbol and the values are the | |
18569 foreground and background color of the splash page glyph. | |
18570 | |
18571 @item gnus-xmas-logo-color-style | |
18572 @vindex gnus-xmas-logo-color-style | |
18573 This is the key used to look up the color in the alist described above. | |
18574 Valid values include @code{flame}, @code{pine}, @code{moss}, | |
18575 @code{irish}, @code{sky}, @code{tin}, @code{velvet}, @code{grape}, | |
18576 @code{labia}, @code{berry}, @code{neutral}, and @code{september}. | |
18577 | |
18578 @item gnus-xmas-modeline-glyph | |
18579 @vindex gnus-xmas-modeline-glyph | |
18580 A glyph displayed in all Gnus mode lines. It is a tiny gnu head by | |
18581 default. | |
18582 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18583 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18584 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18585 \margindex{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18586 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18587 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18588 |
25829 | 18589 @end table |
18590 | |
18591 | |
18592 | |
18593 | |
18594 @node Fuzzy Matching | |
18595 @section Fuzzy Matching | |
18596 @cindex fuzzy matching | |
18597 | |
18598 Gnus provides @dfn{fuzzy matching} of @code{Subject} lines when doing | |
18599 things like scoring, thread gathering and thread comparison. | |
18600 | |
18601 As opposed to regular expression matching, fuzzy matching is very fuzzy. | |
18602 It's so fuzzy that there's not even a definition of what @dfn{fuzziness} | |
18603 means, and the implementation has changed over time. | |
18604 | |
18605 Basically, it tries to remove all noise from lines before comparing. | |
18606 @samp{Re: }, parenthetical remarks, white space, and so on, are filtered | |
18607 out of the strings before comparing the results. This often leads to | |
18608 adequate results---even when faced with strings generated by text | |
18609 manglers masquerading as newsreaders. | |
18610 | |
18611 | |
18612 @node Thwarting Email Spam | |
18613 @section Thwarting Email Spam | |
18614 @cindex email spam | |
18615 @cindex spam | |
18616 @cindex UCE | |
18617 @cindex unsolicited commercial email | |
18618 | |
18619 In these last days of the Usenet, commercial vultures are hanging about | |
18620 and grepping through news like crazy to find email addresses they can | |
18621 foist off their scams and products to. As a reaction to this, many | |
18622 people have started putting nonsense addresses into their @code{From} | |
18623 lines. I think this is counterproductive---it makes it difficult for | |
18624 people to send you legitimate mail in response to things you write, as | |
18625 well as making it difficult to see who wrote what. This rewriting may | |
18626 perhaps be a bigger menace than the unsolicited commercial email itself | |
18627 in the end. | |
18628 | |
18629 The biggest problem I have with email spam is that it comes in under | |
18630 false pretenses. I press @kbd{g} and Gnus merrily informs me that I | |
18631 have 10 new emails. I say ``Golly gee! Happy is me!'' and select the | |
18632 mail group, only to find two pyramid schemes, seven advertisements | |
18633 (``New! Miracle tonic for growing full, lustrous hair on your toes!'') | |
18634 and one mail asking me to repent and find some god. | |
18635 | |
18636 This is annoying. | |
18637 | |
18638 The way to deal with this is having Gnus split out all spam into a | |
18639 @samp{spam} mail group (@pxref{Splitting Mail}). | |
18640 | |
18641 First, pick one (1) valid mail address that you can be reached at, and | |
18642 put it in your @code{From} header of all your news articles. (I've | |
18643 chosen @samp{larsi@@trym.ifi.uio.no}, but for many addresses on the form | |
18644 @samp{larsi+usenet@@ifi.uio.no} will be a better choice. Ask your | |
35073 | 18645 sysadmin whether your sendmail installation accepts keywords in the local |
25829 | 18646 part of the mail address.) |
18647 | |
18648 @lisp | |
18649 (setq message-default-news-headers | |
18650 "From: Lars Magne Ingebrigtsen <larsi@@trym.ifi.uio.no>\n") | |
18651 @end lisp | |
18652 | |
18653 Then put the following split rule in @code{nnmail-split-fancy} | |
18654 (@pxref{Fancy Mail Splitting}): | |
18655 | |
18656 @lisp | |
18657 ( | |
18658 ... | |
18659 (to "larsi@@trym.ifi.uio.no" | |
18660 (| ("subject" "re:.*" "misc") | |
18661 ("references" ".*@@.*" "misc") | |
18662 "spam")) | |
18663 ... | |
18664 ) | |
18665 @end lisp | |
18666 | |
18667 This says that all mail to this address is suspect, but if it has a | |
18668 @code{Subject} that starts with a @samp{Re:} or has a @code{References} | |
18669 header, it's probably ok. All the rest goes to the @samp{spam} group. | |
18670 (This idea probably comes from Tim Pierce.) | |
18671 | |
18672 In addition, many mail spammers talk directly to your @code{smtp} server | |
18673 and do not include your email address explicitly in the @code{To} | |
18674 header. Why they do this is unknown---perhaps it's to thwart this | |
18675 thwarting scheme? In any case, this is trivial to deal with---you just | |
18676 put anything not addressed to you in the @samp{spam} group by ending | |
18677 your fancy split rule in this way: | |
18678 | |
18679 @lisp | |
18680 ( | |
18681 ... | |
18682 (to "larsi" "misc") | |
18683 "spam") | |
18684 @end lisp | |
18685 | |
18686 In my experience, this will sort virtually everything into the right | |
18687 group. You still have to check the @samp{spam} group from time to time to | |
18688 check for legitimate mail, though. If you feel like being a good net | |
18689 citizen, you can even send off complaints to the proper authorities on | |
18690 each unsolicited commercial email---at your leisure. | |
18691 | |
36028 | 18692 If you are also a lazy net citizen, you will probably prefer |
18693 complaining automatically with the @file{gnus-junk.el} package, | |
18694 available as free software at @* | |
18695 @uref{http://stud2.tuwien.ac.at/~e9426626/gnus-junk.html}. Since most | |
18696 e-mail spam is sent automatically, this may reconcile the cosmic | |
18697 balance somewhat. | |
25829 | 18698 |
18699 This works for me. It allows people an easy way to contact me (they can | |
18700 just press @kbd{r} in the usual way), and I'm not bothered at all with | |
18701 spam. It's a win-win situation. Forging @code{From} headers to point | |
18702 to non-existent domains is yucky, in my opinion. | |
18703 | |
18704 | |
18705 @node Various Various | |
18706 @section Various Various | |
18707 @cindex mode lines | |
18708 @cindex highlights | |
18709 | |
18710 @table @code | |
18711 | |
18712 @item gnus-home-directory | |
18713 All Gnus path variables will be initialized from this variable, which | |
18714 defaults to @file{~/}. | |
18715 | |
18716 @item gnus-directory | |
18717 @vindex gnus-directory | |
18718 Most Gnus storage path variables will be initialized from this variable, | |
18719 which defaults to the @samp{SAVEDIR} environment variable, or | |
18720 @file{~/News/} if that variable isn't set. | |
18721 | |
18722 Note that Gnus is mostly loaded when the @file{.gnus.el} file is read. | |
18723 This means that other directory variables that are initialized from this | |
18724 variable won't be set properly if you set this variable in | |
18725 @file{.gnus.el}. Set this variable in @file{.emacs} instead. | |
18726 | |
18727 @item gnus-default-directory | |
18728 @vindex gnus-default-directory | |
18729 Not related to the above variable at all---this variable says what the | |
18730 default directory of all Gnus buffers should be. If you issue commands | |
18731 like @kbd{C-x C-f}, the prompt you'll get starts in the current buffer's | |
18732 default directory. If this variable is @code{nil} (which is the | |
18733 default), the default directory will be the default directory of the | |
18734 buffer you were in when you started Gnus. | |
18735 | |
18736 @item gnus-verbose | |
18737 @vindex gnus-verbose | |
18738 This variable is an integer between zero and ten. The higher the value, | |
18739 the more messages will be displayed. If this variable is zero, Gnus | |
18740 will never flash any messages, if it is seven (which is the default), | |
18741 most important messages will be shown, and if it is ten, Gnus won't ever | |
18742 shut up, but will flash so many messages it will make your head swim. | |
18743 | |
18744 @item gnus-verbose-backends | |
18745 @vindex gnus-verbose-backends | |
18746 This variable works the same way as @code{gnus-verbose}, but it applies | |
39395 | 18747 to the Gnus back ends instead of Gnus proper. |
25829 | 18748 |
18749 @item nnheader-max-head-length | |
18750 @vindex nnheader-max-head-length | |
39395 | 18751 When the back ends read straight heads of articles, they all try to read |
25829 | 18752 as little as possible. This variable (default 4096) specifies |
39395 | 18753 the absolute max length the back ends will try to read before giving up |
25829 | 18754 on finding a separator line between the head and the body. If this |
18755 variable is @code{nil}, there is no upper read bound. If it is | |
39395 | 18756 @code{t}, the back ends won't try to read the articles piece by piece, |
25829 | 18757 but read the entire articles. This makes sense with some versions of |
18758 @code{ange-ftp} or @code{efs}. | |
18759 | |
18760 @item nnheader-head-chop-length | |
18761 @vindex nnheader-head-chop-length | |
18762 This variable (default 2048) says how big a piece of each article to | |
18763 read when doing the operation described above. | |
18764 | |
18765 @item nnheader-file-name-translation-alist | |
18766 @vindex nnheader-file-name-translation-alist | |
18767 @cindex file names | |
18768 @cindex invalid characters in file names | |
18769 @cindex characters in file names | |
18770 This is an alist that says how to translate characters in file names. | |
18771 For instance, if @samp{:} is invalid as a file character in file names | |
18772 on your system (you OS/2 user you), you could say something like: | |
18773 | |
18774 @lisp | |
18775 (setq nnheader-file-name-translation-alist | |
18776 '((?: . ?_))) | |
18777 @end lisp | |
18778 | |
18779 In fact, this is the default value for this variable on OS/2 and MS | |
18780 Windows (phooey) systems. | |
18781 | |
18782 @item gnus-hidden-properties | |
18783 @vindex gnus-hidden-properties | |
18784 This is a list of properties to use to hide ``invisible'' text. It is | |
18785 @code{(invisible t intangible t)} by default on most systems, which | |
18786 makes invisible text invisible and intangible. | |
18787 | |
18788 @item gnus-parse-headers-hook | |
18789 @vindex gnus-parse-headers-hook | |
18790 A hook called before parsing headers. It can be used, for instance, to | |
18791 gather statistics on the headers fetched, or perhaps you'd like to prune | |
18792 some headers. I don't see why you'd want that, though. | |
18793 | |
18794 @item gnus-shell-command-separator | |
18795 @vindex gnus-shell-command-separator | |
18796 String used to separate two shell commands. The default is @samp{;}. | |
18797 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18798 @item gnus-invalid-group-regexp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18799 @vindex gnus-invalid-group-regexp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18800 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18801 Regexp to match ``invalid'' group names when querying user for a group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18802 name. The default value catches some @strong{really} invalid group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18803 names who could possibly mess up Gnus internally (like allowing |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18804 @samp{:} in a group name, which is normally used to delimit method and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18805 group). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18806 |
36017
4c3b10de9033
Changes from Gnus CVS and other fixes.
Dave Love <fx@gnu.org>
parents:
35761
diff
changeset
|
18807 @sc{imap} users might want to allow @samp{/} in group names though. |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18808 |
25829 | 18809 |
18810 @end table | |
18811 | |
18812 | |
18813 @node The End | |
18814 @chapter The End | |
18815 | |
18816 Well, that's the manual---you can get on with your life now. Keep in | |
18817 touch. Say hello to your cats from me. | |
18818 | |
18819 My @strong{ghod}---I just can't stand goodbyes. Sniffle. | |
18820 | |
18821 Ol' Charles Reznikoff said it pretty well, so I leave the floor to him: | |
18822 | |
18823 @quotation | |
18824 @strong{Te Deum} | |
18825 | |
18826 @sp 1 | |
18827 Not because of victories @* | |
18828 I sing,@* | |
18829 having none,@* | |
18830 but for the common sunshine,@* | |
18831 the breeze,@* | |
18832 the largess of the spring. | |
18833 | |
18834 @sp 1 | |
18835 Not for victory@* | |
18836 but for the day's work done@* | |
18837 as well as I was able;@* | |
18838 not for a seat upon the dais@* | |
18839 but at the common table.@* | |
18840 @end quotation | |
18841 | |
18842 | |
18843 @node Appendices | |
18844 @chapter Appendices | |
18845 | |
18846 @menu | |
18847 * History:: How Gnus got where it is today. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18848 * On Writing Manuals:: Why this is not a beginner's guide. |
25829 | 18849 * Terminology:: We use really difficult, like, words here. |
18850 * Customization:: Tailoring Gnus to your needs. | |
18851 * Troubleshooting:: What you might try if things do not work. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18852 * Gnus Reference Guide:: Rilly, rilly technical stuff. |
25829 | 18853 * Emacs for Heathens:: A short introduction to Emacsian terms. |
18854 * Frequently Asked Questions:: A question-and-answer session. | |
18855 @end menu | |
18856 | |
18857 | |
18858 @node History | |
18859 @section History | |
18860 | |
18861 @cindex history | |
18862 @sc{gnus} was written by Masanobu @sc{Umeda}. When autumn crept up in | |
18863 '94, Lars Magne Ingebrigtsen grew bored and decided to rewrite Gnus. | |
18864 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18865 If you want to investigate the person responsible for this outrage, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18866 you can point your (feh!) web browser to |
33292 | 18867 @uref{http://quimby.gnus.org/}. This is also the primary |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18868 distribution point for the new and spiffy versions of Gnus, and is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18869 known as The Site That Destroys Newsrcs And Drives People Mad. |
25829 | 18870 |
18871 During the first extended alpha period of development, the new Gnus was | |
18872 called ``(ding) Gnus''. @dfn{(ding)} is, of course, short for | |
18873 @dfn{ding is not Gnus}, which is a total and utter lie, but who cares? | |
18874 (Besides, the ``Gnus'' in this abbreviation should probably be | |
18875 pronounced ``news'' as @sc{Umeda} intended, which makes it a more | |
18876 appropriate name, don't you think?) | |
18877 | |
18878 In any case, after spending all that energy on coming up with a new and | |
18879 spunky name, we decided that the name was @emph{too} spunky, so we | |
18880 renamed it back again to ``Gnus''. But in mixed case. ``Gnus'' vs. | |
18881 ``@sc{gnus}''. New vs. old. | |
18882 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18883 @menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18884 * Gnus Versions:: What Gnus versions have been released. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18885 * Other Gnus Versions:: Other Gnus versions that also have been released. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18886 * Why?:: What's the point of Gnus? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18887 * Compatibility:: Just how compatible is Gnus with @sc{gnus}? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18888 * Conformity:: Gnus tries to conform to all standards. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18889 * Emacsen:: Gnus can be run on a few modern Emacsen. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18890 * Gnus Development:: How Gnus is developed. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18891 * Contributors:: Oodles of people. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18892 * New Features:: Pointers to some of the new stuff in Gnus. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18893 @end menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18894 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18895 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18896 @node Gnus Versions |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18897 @subsection Gnus Versions |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18898 @cindex Pterodactyl Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18899 @cindex ding Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18900 @cindex September Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18901 @cindex Quassia Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18902 |
25829 | 18903 The first ``proper'' release of Gnus 5 was done in November 1995 when it |
18904 was included in the Emacs 19.30 distribution (132 (ding) Gnus releases | |
18905 plus 15 Gnus 5.0 releases). | |
18906 | |
18907 In May 1996 the next Gnus generation (aka. ``September Gnus'' (after 99 | |
18908 releases)) was released under the name ``Gnus 5.2'' (40 releases). | |
18909 | |
18910 On July 28th 1996 work on Red Gnus was begun, and it was released on | |
18911 January 25th 1997 (after 84 releases) as ``Gnus 5.4'' (67 releases). | |
18912 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18913 On September 13th 1997, Quassia Gnus was started and lasted 37 releases. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18914 If was released as ``Gnus 5.6'' on March 8th 1998 (46 releases). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18915 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18916 Gnus 5.6 begat Pterodactyl Gnus on August 29th 1998 and was released as |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18917 ``Gnus 5.8'' (after 99 releases and a CVS repository) on December 3rd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18918 1999. |
25829 | 18919 |
18920 If you happen upon a version of Gnus that has a prefixed name -- | |
18921 ``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'' -- | |
18922 don't panic. Don't let it know that you're frightened. Back away. | |
18923 Slowly. Whatever you do, don't run. Walk away, calmly, until you're | |
18924 out of its reach. Find a proper released version of Gnus and snuggle up | |
18925 to that instead. | |
18926 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18927 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18928 @node Other Gnus Versions |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18929 @subsection Other Gnus Versions |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18930 @cindex Semi-gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18931 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18932 In addition to the versions of Gnus which have had their releases |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18933 coordinated by Lars, one major development has been Semi-gnus from |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18934 Japan. It's based on a library called @sc{semi}, which provides |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18935 @sc{mime} capabilities. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18936 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18937 These Gnusae are based mainly on Gnus 5.6 and Pterodactyl Gnus. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18938 Collectively, they are called ``Semi-gnus'', and different strains are |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18939 called T-gnus, ET-gnus, Nana-gnus and Chaos. These provide powerful |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18940 @sc{mime} and multilingualization things, especially important for |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18941 Japanese users. |
25829 | 18942 |
18943 | |
18944 @node Why? | |
18945 @subsection Why? | |
18946 | |
18947 What's the point of Gnus? | |
18948 | |
18949 I want to provide a ``rad'', ``happening'', ``way cool'' and ``hep'' | |
18950 newsreader, that lets you do anything you can think of. That was my | |
18951 original motivation, but while working on Gnus, it has become clear to | |
18952 me that this generation of newsreaders really belong in the stone age. | |
18953 Newsreaders haven't developed much since the infancy of the net. If the | |
18954 volume continues to rise with the current rate of increase, all current | |
18955 newsreaders will be pretty much useless. How do you deal with | |
18956 newsgroups that have thousands of new articles each day? How do you | |
18957 keep track of millions of people who post? | |
18958 | |
18959 Gnus offers no real solutions to these questions, but I would very much | |
18960 like to see Gnus being used as a testing ground for new methods of | |
18961 reading and fetching news. Expanding on @sc{Umeda}-san's wise decision | |
39395 | 18962 to separate the newsreader from the back ends, Gnus now offers a simple |
18963 interface for anybody who wants to write new back ends for fetching mail | |
25829 | 18964 and news from different sources. I have added hooks for customizations |
18965 everywhere I could imagine it being useful. By doing so, I'm inviting | |
18966 every one of you to explore and invent. | |
18967 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18968 May Gnus never be complete. @kbd{C-u 100 M-x all-hail-emacs} and |
25829 | 18969 @kbd{C-u 100 M-x all-hail-xemacs}. |
18970 | |
18971 | |
18972 @node Compatibility | |
18973 @subsection Compatibility | |
18974 | |
18975 @cindex compatibility | |
18976 Gnus was designed to be fully compatible with @sc{gnus}. Almost all key | |
18977 bindings have been kept. More key bindings have been added, of course, | |
18978 but only in one or two obscure cases have old bindings been changed. | |
18979 | |
18980 Our motto is: | |
18981 @quotation | |
18982 @cartouche | |
18983 @center In a cloud bones of steel. | |
18984 @end cartouche | |
18985 @end quotation | |
18986 | |
18987 All commands have kept their names. Some internal functions have changed | |
18988 their names. | |
18989 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18990 The @code{gnus-uu} package has changed drastically. @xref{Decoding |
25829 | 18991 Articles}. |
18992 | |
18993 One major compatibility question is the presence of several summary | |
18994 buffers. All variables relevant while reading a group are | |
18995 buffer-local to the summary buffer they belong in. Although many | |
18996 important variables have their values copied into their global | |
18997 counterparts whenever a command is executed in the summary buffer, this | |
18998 change might lead to incorrect values being used unless you are careful. | |
18999 | |
19000 All code that relies on knowledge of @sc{gnus} internals will probably | |
19001 fail. To take two examples: Sorting @code{gnus-newsrc-alist} (or | |
19002 changing it in any way, as a matter of fact) is strictly verboten. Gnus | |
19003 maintains a hash table that points to the entries in this alist (which | |
19004 speeds up many functions), and changing the alist directly will lead to | |
19005 peculiar results. | |
19006 | |
19007 @cindex hilit19 | |
19008 @cindex highlighting | |
19009 Old hilit19 code does not work at all. In fact, you should probably | |
19010 remove all hilit code from all Gnus hooks | |
19011 (@code{gnus-group-prepare-hook} and @code{gnus-summary-prepare-hook}). | |
19012 Gnus provides various integrated functions for highlighting. These are | |
19013 faster and more accurate. To make life easier for everybody, Gnus will | |
19014 by default remove all hilit calls from all hilit hooks. Uncleanliness! | |
19015 Away! | |
19016 | |
19017 Packages like @code{expire-kill} will no longer work. As a matter of | |
19018 fact, you should probably remove all old @sc{gnus} packages (and other | |
19019 code) when you start using Gnus. More likely than not, Gnus already | |
19020 does what you have written code to make @sc{gnus} do. (Snicker.) | |
19021 | |
19022 Even though old methods of doing things are still supported, only the | |
19023 new methods are documented in this manual. If you detect a new method of | |
19024 doing something while reading this manual, that does not mean you have | |
19025 to stop doing it the old way. | |
19026 | |
19027 Gnus understands all @sc{gnus} startup files. | |
19028 | |
19029 @kindex M-x gnus-bug | |
19030 @findex gnus-bug | |
19031 @cindex reporting bugs | |
19032 @cindex bugs | |
19033 Overall, a casual user who hasn't written much code that depends on | |
19034 @sc{gnus} internals should suffer no problems. If problems occur, | |
19035 please let me know by issuing that magic command @kbd{M-x gnus-bug}. | |
19036 | |
19037 @vindex gnus-bug-create-help-buffer | |
19038 If you are in the habit of sending bug reports @emph{very} often, you | |
19039 may find the helpful help buffer annoying after a while. If so, set | |
19040 @code{gnus-bug-create-help-buffer} to @code{nil} to avoid having it pop | |
19041 up at you. | |
19042 | |
19043 | |
19044 @node Conformity | |
19045 @subsection Conformity | |
19046 | |
19047 No rebels without a clue here, ma'am. We conform to all standards known | |
19048 to (wo)man. Except for those standards and/or conventions we disagree | |
19049 with, of course. | |
19050 | |
19051 @table @strong | |
19052 | |
19053 @item RFC 822 | |
19054 @cindex RFC 822 | |
19055 There are no known breaches of this standard. | |
19056 | |
19057 @item RFC 1036 | |
19058 @cindex RFC 1036 | |
19059 There are no known breaches of this standard, either. | |
19060 | |
19061 @item Son-of-RFC 1036 | |
19062 @cindex Son-of-RFC 1036 | |
19063 We do have some breaches to this one. | |
19064 | |
19065 @table @emph | |
19066 | |
19067 @item X-Newsreader | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19068 @itemx User-Agent |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19069 These are considered to be ``vanity headers'', while I consider them |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19070 to be consumer information. After seeing so many badly formatted |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19071 articles coming from @code{tin} and @code{Netscape} I know not to use |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19072 either of those for posting articles. I would not have known that if |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19073 it wasn't for the @code{X-Newsreader} header. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19074 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19075 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19076 @item USEFOR |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19077 @cindex USEFOR |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19078 USEFOR is an IETF working group writing a successor to RFC 1036, based |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19079 on Son-of-RFC 1036. They have produced a number of drafts proposing |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19080 various changes to the format of news articles. The Gnus towers will |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19081 look into implementing the changes when the draft is accepted as an RFC. |
25829 | 19082 |
19083 @end table | |
19084 | |
19085 If you ever notice Gnus acting non-compliant with regards to the texts | |
19086 mentioned above, don't hesitate to drop a note to Gnus Towers and let us | |
19087 know. | |
19088 | |
19089 | |
19090 @node Emacsen | |
19091 @subsection Emacsen | |
19092 @cindex Emacsen | |
19093 @cindex XEmacs | |
19094 @cindex Mule | |
19095 @cindex Emacs | |
19096 | |
19097 Gnus should work on : | |
19098 | |
19099 @itemize @bullet | |
19100 | |
19101 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19102 Emacs 20.3 and up. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19103 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19104 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19105 XEmacs 20.4 and up. |
25829 | 19106 |
19107 @end itemize | |
19108 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19109 This Gnus version will absolutely not work on any Emacsen older than |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19110 that. Not reliably, at least. Older versions of Gnus may work on older |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19111 Emacs versions. |
25829 | 19112 |
19113 There are some vague differences between Gnus on the various | |
19114 platforms---XEmacs features more graphics (a logo and a toolbar)---but | |
19115 other than that, things should look pretty much the same under all | |
19116 Emacsen. | |
19117 | |
19118 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19119 @node Gnus Development |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19120 @subsection Gnus Development |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19121 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19122 Gnus is developed in a two-phased cycle. The first phase involves much |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19123 discussion on the @samp{ding@@gnus.org} mailing list, where people |
39395 | 19124 propose changes and new features, post patches and new back ends. This |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19125 phase is called the @dfn{alpha} phase, since the Gnusae released in this |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19126 phase are @dfn{alpha releases}, or (perhaps more commonly in other |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19127 circles) @dfn{snapshots}. During this phase, Gnus is assumed to be |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19128 unstable and should not be used by casual users. Gnus alpha releases |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19129 have names like ``Red Gnus'' and ``Quassia Gnus''. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19130 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19131 After futzing around for 50-100 alpha releases, Gnus is declared |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19132 @dfn{frozen}, and only bug fixes are applied. Gnus loses the prefix, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19133 and is called things like ``Gnus 5.6.32'' instead. Normal people are |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19134 supposed to be able to use these, and these are mostly discussed on the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19135 @samp{gnu.emacs.gnus} newsgroup. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19136 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19137 @cindex Incoming* |
32926
756edd811cd5
2000-10-26 Kai GroESC,A_ESC(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
Dave Love <fx@gnu.org>
parents:
32769
diff
changeset
|
19138 @vindex mail-source-delete-incoming |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19139 Some variable defaults differ between alpha Gnusae and released Gnusae. |
32926
756edd811cd5
2000-10-26 Kai GroESC,A_ESC(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
Dave Love <fx@gnu.org>
parents:
32769
diff
changeset
|
19140 In particular, @code{mail-source-delete-incoming} defaults to @code{nil} in |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19141 alpha Gnusae and @code{t} in released Gnusae. This is to prevent |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19142 lossage of mail if an alpha release hiccups while handling the mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19143 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19144 The division of discussion between the ding mailing list and the Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19145 newsgroup is not purely based on publicity concerns. It's true that |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19146 having people write about the horrible things that an alpha Gnus release |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19147 can do (sometimes) in a public forum may scare people off, but more |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19148 importantly, talking about new experimental features that have been |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19149 introduced may confuse casual users. New features are frequently |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19150 introduced, fiddled with, and judged to be found wanting, and then |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19151 either discarded or totally rewritten. People reading the mailing list |
35073 | 19152 usually keep up with these rapid changes, while people on the newsgroup |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19153 can't be assumed to do so. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19154 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19155 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19156 |
25829 | 19157 @node Contributors |
19158 @subsection Contributors | |
19159 @cindex contributors | |
19160 | |
19161 The new Gnus version couldn't have been done without the help of all the | |
19162 people on the (ding) mailing list. Every day for over a year I have | |
19163 gotten billions of nice bug reports from them, filling me with joy, | |
19164 every single one of them. Smooches. The people on the list have been | |
19165 tried beyond endurance, what with my ``oh, that's a neat idea <type | |
19166 type>, yup, I'll release it right away <ship off> no wait, that doesn't | |
19167 work at all <type type>, yup, I'll ship that one off right away <ship | |
19168 off> no, wait, that absolutely does not work'' policy for releases. | |
19169 Micro$oft---bah. Amateurs. I'm @emph{much} worse. (Or is that | |
19170 ``worser''? ``much worser''? ``worsest''?) | |
19171 | |
19172 I would like to take this opportunity to thank the Academy for... oops, | |
19173 wrong show. | |
19174 | |
19175 @itemize @bullet | |
19176 | |
19177 @item | |
19178 Masanobu @sc{Umeda}---the writer of the original @sc{gnus}. | |
19179 | |
19180 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19181 Shenghuo Zhu---uudecode.el, mm-uu.el, rfc1843.el, webmail.el, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19182 nnwarchive and many, many other things connected with @sc{mime} and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19183 other types of en/decoding, as well as general bug fixing, new |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19184 functionality and stuff. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19185 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19186 @item |
25829 | 19187 Per Abrahamsen---custom, scoring, highlighting and @sc{soup} code (as |
19188 well as numerous other things). | |
19189 | |
19190 @item | |
19191 Luis Fernandes---design and graphics. | |
19192 | |
19193 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19194 Justin Sheehy--the FAQ maintainer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19195 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19196 @item |
25829 | 19197 Erik Naggum---help, ideas, support, code and stuff. |
19198 | |
19199 @item | |
19200 Wes Hardaker---@file{gnus-picon.el} and the manual section on | |
19201 @dfn{picons} (@pxref{Picons}). | |
19202 | |
19203 @item | |
19204 Kim-Minh Kaplan---further work on the picon code. | |
19205 | |
19206 @item | |
19207 Brad Miller---@file{gnus-gl.el} and the GroupLens manual section | |
19208 (@pxref{GroupLens}). | |
19209 | |
19210 @item | |
19211 Sudish Joseph---innumerable bug fixes. | |
19212 | |
19213 @item | |
19214 Ilja Weis---@file{gnus-topic.el}. | |
19215 | |
19216 @item | |
19217 Steven L. Baur---lots and lots and lots of bugs detections and fixes. | |
19218 | |
19219 @item | |
19220 Vladimir Alexiev---the refcard and reference booklets. | |
19221 | |
19222 @item | |
19223 Felix Lee & Jamie Zawinski---I stole some pieces from the XGnus | |
19224 distribution by Felix Lee and JWZ. | |
19225 | |
19226 @item | |
19227 Scott Byer---@file{nnfolder.el} enhancements & rewrite. | |
19228 | |
19229 @item | |
19230 Peter Mutsaers---orphan article scoring code. | |
19231 | |
19232 @item | |
19233 Ken Raeburn---POP mail support. | |
19234 | |
19235 @item | |
19236 Hallvard B Furuseth---various bits and pieces, especially dealing with | |
19237 .newsrc files. | |
19238 | |
19239 @item | |
19240 Brian Edmonds---@file{gnus-bbdb.el}. | |
19241 | |
19242 @item | |
19243 David Moore---rewrite of @file{nnvirtual.el} and many other things. | |
19244 | |
19245 @item | |
19246 Kevin Davidson---came up with the name @dfn{ding}, so blame him. | |
19247 | |
19248 @item | |
19249 François Pinard---many, many interesting and thorough bug reports, as | |
19250 well as autoconf support. | |
19251 | |
19252 @end itemize | |
19253 | |
19254 This manual was proof-read by Adrian Aichner, with Ricardo Nassif, Mark | |
19255 Borges, and Jost Krieger proof-reading parts of the manual. | |
19256 | |
19257 The following people have contributed many patches and suggestions: | |
19258 | |
19259 Christopher Davis, | |
19260 Andrew Eskilsson, | |
19261 Kai Grossjohann, | |
19262 David Kågedal, | |
19263 Richard Pieri, | |
19264 Fabrice Popineau, | |
19265 Daniel Quinlan, | |
19266 Jason L. Tibbitts, III, | |
19267 and | |
19268 Jack Vinson. | |
19269 | |
19270 Also thanks to the following for patches and stuff: | |
19271 | |
19272 Jari Aalto, | |
19273 Adrian Aichner, | |
19274 Vladimir Alexiev, | |
19275 Russ Allbery, | |
19276 Peter Arius, | |
19277 Matt Armstrong, | |
19278 Marc Auslander, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19279 Miles Bader, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19280 Alexei V. Barantsev, |
25829 | 19281 Frank Bennett, |
19282 Robert Bihlmeyer, | |
19283 Chris Bone, | |
19284 Mark Borges, | |
19285 Mark Boyns, | |
19286 Lance A. Brown, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19287 Rob Browning, |
25829 | 19288 Kees de Bruin, |
19289 Martin Buchholz, | |
19290 Joe Buehler, | |
19291 Kevin Buhr, | |
19292 Alastair Burt, | |
19293 Joao Cachopo, | |
19294 Zlatko Calusic, | |
19295 Massimo Campostrini, | |
19296 Castor, | |
19297 David Charlap, | |
19298 Dan Christensen, | |
19299 Kevin Christian, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19300 Jae-you Chung, @c ? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19301 James H. Cloos, Jr., |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19302 Laura Conrad, |
25829 | 19303 Michael R. Cook, |
19304 Glenn Coombs, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19305 Andrew J. Cosgriff, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19306 Neil Crellin, |
25829 | 19307 Frank D. Cringle, |
19308 Geoffrey T. Dairiki, | |
19309 Andre Deparade, | |
19310 Ulrik Dickow, | |
19311 Dave Disser, | |
19312 Rui-Tao Dong, @c ? | |
19313 Joev Dubach, | |
19314 Michael Welsh Duggan, | |
19315 Dave Edmondson, | |
19316 Paul Eggert, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19317 Mark W. Eichin, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19318 Karl Eichwalder, |
25829 | 19319 Enami Tsugutomo, @c Enami |
19320 Michael Ernst, | |
19321 Luc Van Eycken, | |
19322 Sam Falkner, | |
19323 Nelson Jose dos Santos Ferreira, | |
19324 Sigbjorn Finne, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19325 Sven Fischer, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19326 Paul Fisher, |
25829 | 19327 Decklin Foster, |
19328 Gary D. Foster, | |
19329 Paul Franklin, | |
19330 Guy Geens, | |
19331 Arne Georg Gleditsch, | |
19332 David S. Goldberg, | |
19333 Michelangelo Grigni, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19334 Dale Hagglund, |
25829 | 19335 D. Hall, |
19336 Magnus Hammerin, | |
19337 Kenichi Handa, @c Handa | |
19338 Raja R. Harinath, | |
19339 Yoshiki Hayashi, @c ? | |
19340 P. E. Jareth Hein, | |
19341 Hisashige Kenji, @c Hisashige | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19342 Scott Hofmann, |
25829 | 19343 Marc Horowitz, |
19344 Gunnar Horrigmo, | |
19345 Richard Hoskins, | |
19346 Brad Howes, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19347 Miguel de Icaza, |
25829 | 19348 François Felix Ingrand, |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19349 Tatsuya Ichikawa, @c ? |
25829 | 19350 Ishikawa Ichiro, @c Ishikawa |
19351 Lee Iverson, | |
19352 Iwamuro Motonori, @c Iwamuro | |
19353 Rajappa Iyer, | |
19354 Andreas Jaeger, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19355 Adam P. Jenkins, |
25829 | 19356 Randell Jesup, |
19357 Fred Johansen, | |
19358 Gareth Jones, | |
19359 Simon Josefsson, | |
19360 Greg Klanderman, | |
19361 Karl Kleinpaste, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19362 Michael Klingbeil, |
25829 | 19363 Peter Skov Knudsen, |
19364 Shuhei Kobayashi, @c Kobayashi | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19365 Petr Konecny, |
25829 | 19366 Koseki Yoshinori, @c Koseki |
19367 Thor Kristoffersen, | |
19368 Jens Lautenbacher, | |
19369 Martin Larose, | |
19370 Seokchan Lee, @c Lee | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19371 Joerg Lenneis, |
25829 | 19372 Carsten Leonhardt, |
19373 James LewisMoss, | |
19374 Christian Limpach, | |
19375 Markus Linnala, | |
19376 Dave Love, | |
19377 Mike McEwan, | |
19378 Tonny Madsen, | |
19379 Shlomo Mahlab, | |
19380 Nat Makarevitch, | |
19381 Istvan Marko, | |
19382 David Martin, | |
19383 Jason R. Mastaler, | |
19384 Gordon Matzigkeit, | |
19385 Timo Metzemakers, | |
19386 Richard Mlynarik, | |
19387 Lantz Moore, | |
19388 Morioka Tomohiko, @c Morioka | |
19389 Erik Toubro Nielsen, | |
19390 Hrvoje Niksic, | |
19391 Andy Norman, | |
19392 Fred Oberhauser, | |
19393 C. R. Oldham, | |
19394 Alexandre Oliva, | |
19395 Ken Olstad, | |
19396 Masaharu Onishi, @c Onishi | |
19397 Hideki Ono, @c Ono | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19398 Ettore Perazzoli, |
25829 | 19399 William Perry, |
19400 Stephen Peters, | |
19401 Jens-Ulrik Holger Petersen, | |
19402 Ulrich Pfeifer, | |
19403 Matt Pharr, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19404 Andy Piper, |
25829 | 19405 John McClary Prevost, |
19406 Bill Pringlemeir, | |
19407 Mike Pullen, | |
19408 Jim Radford, | |
19409 Colin Rafferty, | |
19410 Lasse Rasinen, | |
19411 Lars Balker Rasmussen, | |
19412 Joe Reiss, | |
19413 Renaud Rioboo, | |
19414 Roland B. Roberts, | |
19415 Bart Robinson, | |
19416 Christian von Roques, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19417 Markus Rost, |
25829 | 19418 Jason Rumney, |
19419 Wolfgang Rupprecht, | |
19420 Jay Sachs, | |
19421 Dewey M. Sasser, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19422 Conrad Sauerwald, |
25829 | 19423 Loren Schall, |
19424 Dan Schmidt, | |
19425 Ralph Schleicher, | |
19426 Philippe Schnoebelen, | |
19427 Andreas Schwab, | |
19428 Randal L. Schwartz, | |
19429 Danny Siu, | |
19430 Matt Simmons, | |
19431 Paul D. Smith, | |
19432 Jeff Sparkes, | |
19433 Toby Speight, | |
19434 Michael Sperber, | |
19435 Darren Stalder, | |
19436 Richard Stallman, | |
19437 Greg Stark, | |
19438 Sam Steingold, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19439 Paul Stevenson, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19440 Jonas Steverud, |
25829 | 19441 Paul Stodghill, |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19442 Kiyokazu Suto, @c Suto |
25829 | 19443 Kurt Swanson, |
19444 Samuel Tardieu, | |
19445 Teddy, | |
19446 Chuck Thompson, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19447 Tozawa Akihiko, @c Tozawa |
25829 | 19448 Philippe Troin, |
19449 James Troup, | |
19450 Trung Tran-Duc, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19451 Jack Twilley, |
25829 | 19452 Aaron M. Ucko, |
19453 Aki Vehtari, | |
19454 Didier Verna, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19455 Vladimir Volovich, |
25829 | 19456 Jan Vroonhof, |
19457 Stefan Waldherr, | |
19458 Pete Ware, | |
19459 Barry A. Warsaw, | |
19460 Christoph Wedler, | |
19461 Joe Wells, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19462 Lee Willis, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19463 Katsumi Yamaoka @c Yamaoka |
25829 | 19464 and |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19465 Lloyd Zusman. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19466 |
25829 | 19467 |
19468 For a full overview of what each person has done, the ChangeLogs | |
19469 included in the Gnus alpha distributions should give ample reading | |
19470 (550kB and counting). | |
19471 | |
19472 Apologies to everybody that I've forgotten, of which there are many, I'm | |
19473 sure. | |
19474 | |
19475 Gee, that's quite a list of people. I guess that must mean that there | |
19476 actually are people who are using Gnus. Who'd'a thunk it! | |
19477 | |
19478 | |
19479 @node New Features | |
19480 @subsection New Features | |
19481 @cindex new features | |
19482 | |
19483 @menu | |
19484 * ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus. | |
36038
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
19485 * September Gnus:: The Thing Formally Known As Gnus 5.2/5.3. |
25829 | 19486 * Red Gnus:: Third time best---Gnus 5.4/5.5. |
19487 * Quassia Gnus:: Two times two is four, or Gnus 5.6/5.7. | |
36038
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
19488 * Pterodactyl Gnus:: Pentad also starts with P, AKA Gnus 5.8/5.9. |
25829 | 19489 @end menu |
19490 | |
19491 These lists are, of course, just @emph{short} overviews of the | |
19492 @emph{most} important new features. No, really. There are tons more. | |
19493 Yes, we have feeping creaturism in full effect. | |
19494 | |
19495 @node ding Gnus | |
19496 @subsubsection (ding) Gnus | |
19497 | |
19498 New features in Gnus 5.0/5.1: | |
19499 | |
19500 @itemize @bullet | |
19501 | |
19502 @item | |
19503 The look of all buffers can be changed by setting format-like variables | |
19504 (@pxref{Group Buffer Format} and @pxref{Summary Buffer Format}). | |
19505 | |
19506 @item | |
19507 Local spool and several @sc{nntp} servers can be used at once | |
19508 (@pxref{Select Methods}). | |
19509 | |
19510 @item | |
19511 You can combine groups into virtual groups (@pxref{Virtual Groups}). | |
19512 | |
19513 @item | |
19514 You can read a number of different mail formats (@pxref{Getting Mail}). | |
39395 | 19515 All the mail back ends implement a convenient mail expiry scheme |
25829 | 19516 (@pxref{Expiring Mail}). |
19517 | |
19518 @item | |
19519 Gnus can use various strategies for gathering threads that have lost | |
19520 their roots (thereby gathering loose sub-threads into one thread) or it | |
19521 can go back and retrieve enough headers to build a complete thread | |
19522 (@pxref{Customizing Threading}). | |
19523 | |
19524 @item | |
19525 Killed groups can be displayed in the group buffer, and you can read | |
19526 them as well (@pxref{Listing Groups}). | |
19527 | |
19528 @item | |
19529 Gnus can do partial group updates---you do not have to retrieve the | |
19530 entire active file just to check for new articles in a few groups | |
19531 (@pxref{The Active File}). | |
19532 | |
19533 @item | |
19534 Gnus implements a sliding scale of subscribedness to groups | |
19535 (@pxref{Group Levels}). | |
19536 | |
19537 @item | |
19538 You can score articles according to any number of criteria | |
19539 (@pxref{Scoring}). You can even get Gnus to find out how to score | |
19540 articles for you (@pxref{Adaptive Scoring}). | |
19541 | |
19542 @item | |
19543 Gnus maintains a dribble buffer that is auto-saved the normal Emacs | |
19544 manner, so it should be difficult to lose much data on what you have | |
19545 read if your machine should go down (@pxref{Auto Save}). | |
19546 | |
19547 @item | |
19548 Gnus now has its own startup file (@file{.gnus}) to avoid cluttering up | |
19549 the @file{.emacs} file. | |
19550 | |
19551 @item | |
19552 You can set the process mark on both groups and articles and perform | |
19553 operations on all the marked items (@pxref{Process/Prefix}). | |
19554 | |
19555 @item | |
19556 You can grep through a subset of groups and create a group from the | |
19557 results (@pxref{Kibozed Groups}). | |
19558 | |
19559 @item | |
19560 You can list subsets of groups according to, well, anything | |
19561 (@pxref{Listing Groups}). | |
19562 | |
19563 @item | |
19564 You can browse foreign servers and subscribe to groups from those | |
19565 servers (@pxref{Browse Foreign Server}). | |
19566 | |
19567 @item | |
19568 Gnus can fetch articles, asynchronously, on a second connection to the | |
19569 server (@pxref{Asynchronous Fetching}). | |
19570 | |
19571 @item | |
19572 You can cache articles locally (@pxref{Article Caching}). | |
19573 | |
19574 @item | |
19575 The uudecode functions have been expanded and generalized | |
19576 (@pxref{Decoding Articles}). | |
19577 | |
19578 @item | |
19579 You can still post uuencoded articles, which was a little-known feature | |
19580 of @sc{gnus}' past (@pxref{Uuencoding and Posting}). | |
19581 | |
19582 @item | |
19583 Fetching parents (and other articles) now actually works without | |
19584 glitches (@pxref{Finding the Parent}). | |
19585 | |
19586 @item | |
19587 Gnus can fetch FAQs and group descriptions (@pxref{Group Information}). | |
19588 | |
19589 @item | |
19590 Digests (and other files) can be used as the basis for groups | |
19591 (@pxref{Document Groups}). | |
19592 | |
19593 @item | |
19594 Articles can be highlighted and customized (@pxref{Customizing | |
19595 Articles}). | |
19596 | |
19597 @item | |
19598 URLs and other external references can be buttonized (@pxref{Article | |
19599 Buttons}). | |
19600 | |
19601 @item | |
19602 You can do lots of strange stuff with the Gnus window & frame | |
19603 configuration (@pxref{Windows Configuration}). | |
19604 | |
19605 @item | |
19606 You can click on buttons instead of using the keyboard | |
19607 (@pxref{Buttons}). | |
19608 | |
19609 @end itemize | |
19610 | |
19611 | |
19612 @node September Gnus | |
19613 @subsubsection September Gnus | |
19614 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19615 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19616 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19617 \gnusfig{-28cm}{0cm}{\epsfig{figure=tmp/september.ps,height=20cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19618 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19619 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19620 |
25829 | 19621 New features in Gnus 5.2/5.3: |
19622 | |
19623 @itemize @bullet | |
19624 | |
19625 @item | |
19626 A new message composition mode is used. All old customization variables | |
19627 for @code{mail-mode}, @code{rnews-reply-mode} and @code{gnus-msg} are | |
19628 now obsolete. | |
19629 | |
19630 @item | |
19631 Gnus is now able to generate @dfn{sparse} threads---threads where | |
19632 missing articles are represented by empty nodes (@pxref{Customizing | |
19633 Threading}). | |
19634 | |
19635 @lisp | |
19636 (setq gnus-build-sparse-threads 'some) | |
19637 @end lisp | |
19638 | |
19639 @item | |
19640 Outgoing articles are stored on a special archive server | |
19641 (@pxref{Archived Messages}). | |
19642 | |
19643 @item | |
19644 Partial thread regeneration now happens when articles are | |
19645 referred. | |
19646 | |
19647 @item | |
19648 Gnus can make use of GroupLens predictions (@pxref{GroupLens}). | |
19649 | |
19650 @item | |
19651 Picons (personal icons) can be displayed under XEmacs (@pxref{Picons}). | |
19652 | |
19653 @item | |
19654 A @code{trn}-like tree buffer can be displayed (@pxref{Tree Display}). | |
19655 | |
19656 @lisp | |
19657 (setq gnus-use-trees t) | |
19658 @end lisp | |
19659 | |
19660 @item | |
19661 An @code{nn}-like pick-and-read minor mode is available for the summary | |
19662 buffers (@pxref{Pick and Read}). | |
19663 | |
19664 @lisp | |
19665 (add-hook 'gnus-summary-mode-hook 'gnus-pick-mode) | |
19666 @end lisp | |
19667 | |
19668 @item | |
19669 In binary groups you can use a special binary minor mode (@pxref{Binary | |
19670 Groups}). | |
19671 | |
19672 @item | |
19673 Groups can be grouped in a folding topic hierarchy (@pxref{Group | |
19674 Topics}). | |
19675 | |
19676 @lisp | |
19677 (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) | |
19678 @end lisp | |
19679 | |
19680 @item | |
19681 Gnus can re-send and bounce mail (@pxref{Summary Mail Commands}). | |
19682 | |
19683 @item | |
19684 Groups can now have a score, and bubbling based on entry frequency | |
19685 is possible (@pxref{Group Score}). | |
19686 | |
19687 @lisp | |
19688 (add-hook 'gnus-summary-exit-hook 'gnus-summary-bubble-group) | |
19689 @end lisp | |
19690 | |
19691 @item | |
19692 Groups can be process-marked, and commands can be performed on | |
19693 groups of groups (@pxref{Marking Groups}). | |
19694 | |
19695 @item | |
19696 Caching is possible in virtual groups. | |
19697 | |
19698 @item | |
19699 @code{nndoc} now understands all kinds of digests, mail boxes, rnews | |
19700 news batches, ClariNet briefs collections, and just about everything | |
19701 else (@pxref{Document Groups}). | |
19702 | |
19703 @item | |
39395 | 19704 Gnus has a new back end (@code{nnsoup}) to create/read SOUP packets |
25829 | 19705 (@pxref{SOUP}). |
19706 | |
19707 @item | |
19708 The Gnus cache is much faster. | |
19709 | |
19710 @item | |
19711 Groups can be sorted according to many criteria (@pxref{Sorting | |
19712 Groups}). | |
19713 | |
19714 @item | |
19715 New group parameters have been introduced to set list-addresses and | |
19716 expiry times (@pxref{Group Parameters}). | |
19717 | |
19718 @item | |
19719 All formatting specs allow specifying faces to be used | |
19720 (@pxref{Formatting Fonts}). | |
19721 | |
19722 @item | |
19723 There are several more commands for setting/removing/acting on process | |
19724 marked articles on the @kbd{M P} submap (@pxref{Setting Process Marks}). | |
19725 | |
19726 @item | |
19727 The summary buffer can be limited to show parts of the available | |
19728 articles based on a wide range of criteria. These commands have been | |
19729 bound to keys on the @kbd{/} submap (@pxref{Limiting}). | |
19730 | |
19731 @item | |
19732 Articles can be made persistent with the @kbd{*} command | |
19733 (@pxref{Persistent Articles}). | |
19734 | |
19735 @item | |
19736 All functions for hiding article elements are now toggles. | |
19737 | |
19738 @item | |
19739 Article headers can be buttonized (@pxref{Article Washing}). | |
19740 | |
19741 @item | |
39395 | 19742 All mail back ends support fetching articles by @code{Message-ID}. |
25829 | 19743 |
19744 @item | |
19745 Duplicate mail can now be treated properly (@pxref{Duplicates}). | |
19746 | |
19747 @item | |
19748 All summary mode commands are available directly from the article | |
19749 buffer (@pxref{Article Keymap}). | |
19750 | |
19751 @item | |
19752 Frames can be part of @code{gnus-buffer-configuration} (@pxref{Windows | |
19753 Configuration}). | |
19754 | |
19755 @item | |
19756 Mail can be re-scanned by a daemonic process (@pxref{Daemons}). | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19757 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19758 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19759 \marginpar[\mbox{}\hfill\epsfig{figure=tmp/fseptember.ps,height=5cm}]{\epsfig{figure=tmp/fseptember.ps,height=5cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19760 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19761 @end iftex |
25829 | 19762 |
19763 @item | |
19764 Gnus can make use of NoCeM files to weed out spam (@pxref{NoCeM}). | |
19765 | |
19766 @lisp | |
19767 (setq gnus-use-nocem t) | |
19768 @end lisp | |
19769 | |
19770 @item | |
19771 Groups can be made permanently visible (@pxref{Listing Groups}). | |
19772 | |
19773 @lisp | |
19774 (setq gnus-permanently-visible-groups "^nnml:") | |
19775 @end lisp | |
19776 | |
19777 @item | |
19778 Many new hooks have been introduced to make customizing easier. | |
19779 | |
19780 @item | |
19781 Gnus respects the @code{Mail-Copies-To} header. | |
19782 | |
19783 @item | |
19784 Threads can be gathered by looking at the @code{References} header | |
19785 (@pxref{Customizing Threading}). | |
19786 | |
19787 @lisp | |
19788 (setq gnus-summary-thread-gathering-function | |
19789 'gnus-gather-threads-by-references) | |
19790 @end lisp | |
19791 | |
19792 @item | |
19793 Read articles can be stored in a special backlog buffer to avoid | |
19794 refetching (@pxref{Article Backlog}). | |
19795 | |
19796 @lisp | |
19797 (setq gnus-keep-backlog 50) | |
19798 @end lisp | |
19799 | |
19800 @item | |
19801 A clean copy of the current article is always stored in a separate | |
19802 buffer to allow easier treatment. | |
19803 | |
19804 @item | |
19805 Gnus can suggest where to save articles (@pxref{Saving Articles}). | |
19806 | |
19807 @item | |
19808 Gnus doesn't have to do as much prompting when saving (@pxref{Saving | |
19809 Articles}). | |
19810 | |
19811 @lisp | |
19812 (setq gnus-prompt-before-saving t) | |
19813 @end lisp | |
19814 | |
19815 @item | |
19816 @code{gnus-uu} can view decoded files asynchronously while fetching | |
19817 articles (@pxref{Other Decode Variables}). | |
19818 | |
19819 @lisp | |
19820 (setq gnus-uu-grabbed-file-functions 'gnus-uu-grab-view) | |
19821 @end lisp | |
19822 | |
19823 @item | |
19824 Filling in the article buffer now works properly on cited text | |
19825 (@pxref{Article Washing}). | |
19826 | |
19827 @item | |
19828 Hiding cited text adds buttons to toggle hiding, and how much | |
19829 cited text to hide is now customizable (@pxref{Article Hiding}). | |
19830 | |
19831 @lisp | |
19832 (setq gnus-cited-lines-visible 2) | |
19833 @end lisp | |
19834 | |
19835 @item | |
19836 Boring headers can be hidden (@pxref{Article Hiding}). | |
19837 | |
19838 @item | |
19839 Default scoring values can now be set from the menu bar. | |
19840 | |
19841 @item | |
19842 Further syntax checking of outgoing articles have been added. | |
19843 | |
19844 @end itemize | |
19845 | |
19846 | |
19847 @node Red Gnus | |
19848 @subsubsection Red Gnus | |
19849 | |
19850 New features in Gnus 5.4/5.5: | |
19851 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19852 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19853 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19854 \gnusfig{-5.5cm}{-4cm}{\epsfig{figure=tmp/red.ps,height=20cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19855 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19856 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19857 |
25829 | 19858 @itemize @bullet |
19859 | |
19860 @item | |
19861 @file{nntp.el} has been totally rewritten in an asynchronous fashion. | |
19862 | |
19863 @item | |
19864 Article prefetching functionality has been moved up into | |
19865 Gnus (@pxref{Asynchronous Fetching}). | |
19866 | |
19867 @item | |
19868 Scoring can now be performed with logical operators like @code{and}, | |
19869 @code{or}, @code{not}, and parent redirection (@pxref{Advanced | |
19870 Scoring}). | |
19871 | |
19872 @item | |
19873 Article washing status can be displayed in the | |
19874 article mode line (@pxref{Misc Article}). | |
19875 | |
19876 @item | |
19877 @file{gnus.el} has been split into many smaller files. | |
19878 | |
19879 @item | |
19880 Suppression of duplicate articles based on Message-ID can be done | |
19881 (@pxref{Duplicate Suppression}). | |
19882 | |
19883 @lisp | |
19884 (setq gnus-suppress-duplicates t) | |
19885 @end lisp | |
19886 | |
19887 @item | |
19888 New variables for specifying what score and adapt files are to be | |
19889 considered home score and adapt files (@pxref{Home Score File}) have | |
19890 been added. | |
19891 | |
19892 @item | |
19893 @code{nndoc} was rewritten to be easily extendable (@pxref{Document | |
19894 Server Internals}). | |
19895 | |
19896 @item | |
19897 Groups can inherit group parameters from parent topics (@pxref{Topic | |
19898 Parameters}). | |
19899 | |
19900 @item | |
19901 Article editing has been revamped and is now actually usable. | |
19902 | |
19903 @item | |
19904 Signatures can be recognized in more intelligent fashions | |
19905 (@pxref{Article Signature}). | |
19906 | |
19907 @item | |
19908 Summary pick mode has been made to look more @code{nn}-like. Line | |
19909 numbers are displayed and the @kbd{.} command can be used to pick | |
19910 articles (@code{Pick and Read}). | |
19911 | |
19912 @item | |
19913 Commands for moving the @file{.newsrc.eld} from one server to | |
19914 another have been added (@pxref{Changing Servers}). | |
19915 | |
19916 @item | |
19917 There's a way now to specify that ``uninteresting'' fields be suppressed | |
19918 when generating lines in buffers (@pxref{Advanced Formatting}). | |
19919 | |
19920 @item | |
40705 | 19921 Several commands in the group buffer can be undone with @kbd{C-M-_} |
25829 | 19922 (@pxref{Undo}). |
19923 | |
19924 @item | |
19925 Scoring can be done on words using the new score type @code{w} | |
19926 (@pxref{Score File Format}). | |
19927 | |
19928 @item | |
19929 Adaptive scoring can be done on a Subject word-by-word basis | |
19930 (@pxref{Adaptive Scoring}). | |
19931 | |
19932 @lisp | |
19933 (setq gnus-use-adaptive-scoring '(word)) | |
19934 @end lisp | |
19935 | |
19936 @item | |
19937 Scores can be decayed (@pxref{Score Decays}). | |
19938 | |
19939 @lisp | |
19940 (setq gnus-decay-scores t) | |
19941 @end lisp | |
19942 | |
19943 @item | |
19944 Scoring can be performed using a regexp on the Date header. The Date is | |
19945 normalized to compact ISO 8601 format first (@pxref{Score File Format}). | |
19946 | |
19947 @item | |
19948 A new command has been added to remove all data on articles from | |
19949 the native server (@pxref{Changing Servers}). | |
19950 | |
19951 @item | |
19952 A new command for reading collections of documents | |
40705 | 19953 (@code{nndoc} with @code{nnvirtual} on top) has been added---@kbd{C-M-d} |
25829 | 19954 (@pxref{Really Various Summary Commands}). |
19955 | |
19956 @item | |
19957 Process mark sets can be pushed and popped (@pxref{Setting Process | |
19958 Marks}). | |
19959 | |
19960 @item | |
39395 | 19961 A new mail-to-news back end makes it possible to post even when the @sc{nntp} |
25829 | 19962 server doesn't allow posting (@pxref{Mail-To-News Gateways}). |
19963 | |
19964 @item | |
39395 | 19965 A new back end for reading searches from Web search engines |
25829 | 19966 (@dfn{DejaNews}, @dfn{Alta Vista}, @dfn{InReference}) has been added |
19967 (@pxref{Web Searches}). | |
19968 | |
19969 @item | |
19970 Groups inside topics can now be sorted using the standard sorting | |
19971 functions, and each topic can be sorted independently (@pxref{Topic | |
19972 Sorting}). | |
19973 | |
19974 @item | |
19975 Subsets of the groups can be sorted independently (@code{Sorting | |
19976 Groups}). | |
19977 | |
19978 @item | |
19979 Cached articles can be pulled into the groups (@pxref{Summary Generation | |
19980 Commands}). | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19981 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19982 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19983 \marginpar[\mbox{}\hfill\epsfig{figure=tmp/fred.ps,width=3cm}]{\epsfig{figure=tmp/fred.ps,width=3cm}} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19984 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19985 @end iftex |
25829 | 19986 |
19987 @item | |
19988 Score files are now applied in a more reliable order (@pxref{Score | |
19989 Variables}). | |
19990 | |
19991 @item | |
19992 Reports on where mail messages end up can be generated (@pxref{Splitting | |
19993 Mail}). | |
19994 | |
19995 @item | |
19996 More hooks and functions have been added to remove junk from incoming | |
19997 mail before saving the mail (@pxref{Washing Mail}). | |
19998 | |
19999 @item | |
20000 Emphasized text can be properly fontisized: | |
20001 | |
20002 @end itemize | |
20003 | |
20004 | |
20005 @node Quassia Gnus | |
20006 @subsubsection Quassia Gnus | |
20007 | |
20008 New features in Gnus 5.6: | |
20009 | |
20010 @itemize @bullet | |
20011 | |
20012 @item | |
20013 New functionality for using Gnus as an offline newsreader has been | |
20014 added. A plethora of new commands and modes have been added. See | |
20015 @pxref{Gnus Unplugged} for the full story. | |
20016 | |
20017 @item | |
39395 | 20018 The @code{nndraft} back end has returned, but works differently than |
25829 | 20019 before. All Message buffers are now also articles in the @code{nndraft} |
20020 group, which is created automatically. | |
20021 | |
20022 @item | |
20023 @code{gnus-alter-header-function} can now be used to alter header | |
20024 values. | |
20025 | |
20026 @item | |
20027 @code{gnus-summary-goto-article} now accept Message-ID's. | |
20028 | |
20029 @item | |
20030 A new Message command for deleting text in the body of a message | |
20031 outside the region: @kbd{C-c C-v}. | |
20032 | |
20033 @item | |
20034 You can now post to component group in @code{nnvirtual} groups with | |
20035 @kbd{C-u C-c C-c}. | |
20036 | |
20037 @item | |
20038 @code{nntp-rlogin-program}---new variable to ease customization. | |
20039 | |
20040 @item | |
20041 @code{C-u C-c C-c} in @code{gnus-article-edit-mode} will now inhibit | |
20042 re-highlighting of the article buffer. | |
20043 | |
20044 @item | |
20045 New element in @code{gnus-boring-article-headers}---@code{long-to}. | |
20046 | |
20047 @item | |
20048 @kbd{M-i} symbolic prefix command. See the section "Symbolic | |
20049 Prefixes" in the Gnus manual for details. | |
20050 | |
20051 @item | |
20052 @kbd{L} and @kbd{I} in the summary buffer now take the symbolic prefix | |
20053 @kbd{a} to add the score rule to the "all.SCORE" file. | |
20054 | |
20055 @item | |
20056 @code{gnus-simplify-subject-functions} variable to allow greater | |
20057 control over simplification. | |
20058 | |
20059 @item | |
20060 @kbd{A T}---new command for fetching the current thread. | |
20061 | |
20062 @item | |
20063 @kbd{/ T}---new command for including the current thread in the | |
20064 limit. | |
20065 | |
20066 @item | |
36028 | 20067 @kbd{M-@key{RET}} is a new Message command for breaking cited text. |
25829 | 20068 |
20069 @item | |
20070 @samp{\\1}-expressions are now valid in @code{nnmail-split-methods}. | |
20071 | |
20072 @item | |
20073 The @code{custom-face-lookup} function has been removed. | |
20074 If you used this function in your initialization files, you must | |
20075 rewrite them to use @code{face-spec-set} instead. | |
20076 | |
20077 @item | |
20078 Canceling now uses the current select method. Symbolic prefix | |
20079 @kbd{a} forces normal posting method. | |
20080 | |
20081 @item | |
20082 New command to translate M******** sm*rtq**t*s into proper | |
20083 text---@kbd{W d}. | |
20084 | |
20085 @item | |
20086 For easier debugging of @code{nntp}, you can set | |
20087 @code{nntp-record-commands} to a non-@code{nil} value. | |
20088 | |
20089 @item | |
20090 @code{nntp} now uses @file{~/.authinfo}, a @file{.netrc}-like file, for | |
20091 controlling where and how to send @sc{authinfo} to @sc{nntp} servers. | |
20092 | |
20093 @item | |
20094 A command for editing group parameters from the summary buffer | |
20095 has been added. | |
20096 | |
20097 @item | |
20098 A history of where mails have been split is available. | |
20099 | |
20100 @item | |
20101 A new article date command has been added---@code{article-date-iso8601}. | |
20102 | |
20103 @item | |
20104 Subjects can be simplified when threading by setting | |
20105 @code{gnus-score-thread-simplify}. | |
20106 | |
20107 @item | |
20108 A new function for citing in Message has been | |
20109 added---@code{message-cite-original-without-signature}. | |
20110 | |
20111 @item | |
20112 @code{article-strip-all-blank-lines}---new article command. | |
20113 | |
20114 @item | |
20115 A new Message command to kill to the end of the article has | |
20116 been added. | |
20117 | |
20118 @item | |
20119 A minimum adaptive score can be specified by using the | |
20120 @code{gnus-adaptive-word-minimum} variable. | |
20121 | |
20122 @item | |
20123 The "lapsed date" article header can be kept continually | |
20124 updated by the @code{gnus-start-date-timer} command. | |
20125 | |
20126 @item | |
39395 | 20127 Web listserv archives can be read with the @code{nnlistserv} back end. |
25829 | 20128 |
20129 @item | |
20130 Old dejanews archives can now be read by @code{nnweb}. | |
20131 | |
20132 @end itemize | |
20133 | |
36038
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20134 @node Pterodactyl Gnus |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20135 @subsubsection Pterodactyl Gnus |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20136 |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20137 New features in Gnus 5.8: |
25829 | 20138 |
20139 @itemize @bullet | |
20140 | |
36038
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20141 @item The mail-fetching functions have changed. See the manual for the |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20142 many details. In particular, all procmail fetching variables are gone. |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20143 |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20144 If you used procmail like in |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20145 |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20146 @lisp |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20147 (setq nnmail-use-procmail t) |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20148 (setq nnmail-spool-file 'procmail) |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20149 (setq nnmail-procmail-directory "~/mail/incoming/") |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20150 (setq nnmail-procmail-suffix "\\.in") |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20151 @end lisp |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20152 |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20153 this now has changed to |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20154 |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20155 @lisp |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20156 (setq mail-sources |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20157 '((directory :path "~/mail/incoming/" |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20158 :suffix ".in"))) |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20159 @end lisp |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20160 |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20161 More information is available in the info doc at Select Methods -> |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20162 Getting Mail -> Mail Sources |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20163 |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20164 @item Gnus is now a MIME-capable reader. This affects many parts of |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20165 Gnus, and adds a slew of new commands. See the manual for details. |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20166 |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20167 @item Gnus has also been multilingualized. This also affects too |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20168 many parts of Gnus to summarize here, and adds many new variables. |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20169 |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20170 @item @code{gnus-auto-select-first} can now be a function to be |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20171 called to position point. |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20172 |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20173 @item The user can now decide which extra headers should be included in |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20174 summary buffers and NOV files. |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20175 |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20176 @item @code{gnus-article-display-hook} has been removed. Instead, a number |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20177 of variables starting with @code{gnus-treat-} have been added. |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20178 |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20179 @item The Gnus posting styles have been redone again and now works in a |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20180 subtly different manner. |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20181 |
39395 | 20182 @item New web-based back ends have been added: @code{nnslashdot}, |
36038
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20183 @code{nnwarchive} and @code{nnultimate}. nnweb has been revamped, |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20184 again, to keep up with ever-changing layouts. |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20185 |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20186 @item Gnus can now read IMAP mail via @code{nnimap}. |
1f4ba03b8ce9
* gnus.texi (Pterodactyl Gnus): Added.
ShengHuo ZHU <zsh@cs.rochester.edu>
parents:
36028
diff
changeset
|
20187 |
25829 | 20188 @end itemize |
20189 | |
20190 @iftex | |
20191 | |
20192 @page | |
20193 @node The Manual | |
20194 @section The Manual | |
20195 @cindex colophon | |
20196 @cindex manual | |
20197 | |
20198 This manual was generated from a TeXinfo file and then run through | |
20199 either @code{texi2dvi} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20200 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20201 or my own home-brewed TeXinfo to \LaTeX\ transformer, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20202 and then run through @code{latex} and @code{dvips} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20203 @end iflatex |
25829 | 20204 to get what you hold in your hands now. |
20205 | |
20206 The following conventions have been used: | |
20207 | |
20208 @enumerate | |
20209 | |
20210 @item | |
20211 This is a @samp{string} | |
20212 | |
20213 @item | |
20214 This is a @kbd{keystroke} | |
20215 | |
20216 @item | |
20217 This is a @file{file} | |
20218 | |
20219 @item | |
20220 This is a @code{symbol} | |
20221 | |
20222 @end enumerate | |
20223 | |
20224 So if I were to say ``set @code{flargnoze} to @samp{yes}'', that would | |
20225 mean: | |
20226 | |
20227 @lisp | |
20228 (setq flargnoze "yes") | |
20229 @end lisp | |
20230 | |
20231 If I say ``set @code{flumphel} to @code{yes}'', that would mean: | |
20232 | |
20233 @lisp | |
20234 (setq flumphel 'yes) | |
20235 @end lisp | |
20236 | |
20237 @samp{yes} and @code{yes} are two @emph{very} different things---don't | |
20238 ever get them confused. | |
20239 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20240 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20241 @c @head |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20242 Of course, everything in this manual is of vital interest, so you should |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20243 read it all. Several times. However, if you feel like skimming the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20244 manual, look for that gnu head you should see in the margin over |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20245 there---it means that what's being discussed is of more importance than |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20246 the rest of the stuff. (On the other hand, if everything is infinitely |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20247 important, how can anything be more important than that? Just one more |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20248 of the mysteries of this world, I guess.) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20249 @end iflatex |
25829 | 20250 |
20251 @end iftex | |
20252 | |
20253 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20254 @node On Writing Manuals |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20255 @section On Writing Manuals |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20256 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20257 I guess most manuals are written after-the-fact; documenting a program |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20258 that's already there. This is not how this manual is written. When |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20259 implementing something, I write the manual entry for that something |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20260 straight away. I then see that it's difficult to explain the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20261 functionality, so I write how it's supposed to be, and then I change the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20262 implementation. Writing the documentation and writing the code goes |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20263 hand in hand. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20264 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20265 This, of course, means that this manual has no, or little, flow. It |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20266 documents absolutely everything in Gnus, but often not where you're |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20267 looking for it. It is a reference manual, and not a guide to how to get |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20268 started with Gnus. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20269 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20270 That would be a totally different book, that should be written using the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20271 reference manual as source material. It would look quite differently. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20272 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20273 |
25829 | 20274 @page |
20275 @node Terminology | |
20276 @section Terminology | |
20277 | |
20278 @cindex terminology | |
20279 @table @dfn | |
20280 | |
20281 @item news | |
20282 @cindex news | |
20283 This is what you are supposed to use this thing for---reading news. | |
20284 News is generally fetched from a nearby @sc{nntp} server, and is | |
20285 generally publicly available to everybody. If you post news, the entire | |
20286 world is likely to read just what you have written, and they'll all | |
20287 snigger mischievously. Behind your back. | |
20288 | |
20289 @item mail | |
20290 @cindex mail | |
20291 Everything that's delivered to you personally is mail. Some news/mail | |
20292 readers (like Gnus) blur the distinction between mail and news, but | |
20293 there is a difference. Mail is private. News is public. Mailing is | |
20294 not posting, and replying is not following up. | |
20295 | |
20296 @item reply | |
20297 @cindex reply | |
20298 Send a mail to the person who has written what you are reading. | |
20299 | |
20300 @item follow up | |
20301 @cindex follow up | |
20302 Post an article to the current newsgroup responding to the article you | |
20303 are reading. | |
20304 | |
39395 | 20305 @item back end |
20306 @cindex back end | |
20307 Gnus gets fed articles from a number of back ends, both news and mail | |
20308 back ends. Gnus does not handle the underlying media, so to speak---this | |
20309 is all done by the back ends. | |
25829 | 20310 |
20311 @item native | |
20312 @cindex native | |
39395 | 20313 Gnus will always use one method (and back end) as the @dfn{native}, or |
25829 | 20314 default, way of getting news. |
20315 | |
20316 @item foreign | |
20317 @cindex foreign | |
20318 You can also have any number of foreign groups active at the same time. | |
39395 | 20319 These are groups that use non-native non-secondary back ends for getting |
25829 | 20320 news. |
20321 | |
20322 @item secondary | |
20323 @cindex secondary | |
39395 | 20324 Secondary back ends are somewhere half-way between being native and being |
25829 | 20325 foreign, but they mostly act like they are native. |
20326 | |
20327 @item article | |
20328 @cindex article | |
20329 A message that has been posted as news. | |
20330 | |
20331 @item mail message | |
20332 @cindex mail message | |
20333 A message that has been mailed. | |
20334 | |
20335 @item message | |
20336 @cindex message | |
20337 A mail message or news article | |
20338 | |
20339 @item head | |
20340 @cindex head | |
20341 The top part of a message, where administrative information (etc.) is | |
20342 put. | |
20343 | |
20344 @item body | |
20345 @cindex body | |
20346 The rest of an article. Everything not in the head is in the | |
20347 body. | |
20348 | |
20349 @item header | |
20350 @cindex header | |
20351 A line from the head of an article. | |
20352 | |
20353 @item headers | |
20354 @cindex headers | |
20355 A collection of such lines, or a collection of heads. Or even a | |
20356 collection of @sc{nov} lines. | |
20357 | |
20358 @item @sc{nov} | |
20359 @cindex nov | |
39395 | 20360 When Gnus enters a group, it asks the back end for the headers of all |
25829 | 20361 unread articles in the group. Most servers support the News OverView |
20362 format, which is more compact and much faster to read and parse than the | |
20363 normal @sc{head} format. | |
20364 | |
20365 @item level | |
20366 @cindex levels | |
20367 Each group is subscribed at some @dfn{level} or other (1-9). The ones | |
20368 that have a lower level are ``more'' subscribed than the groups with a | |
20369 higher level. In fact, groups on levels 1-5 are considered | |
20370 @dfn{subscribed}; 6-7 are @dfn{unsubscribed}; 8 are @dfn{zombies}; and 9 | |
20371 are @dfn{killed}. Commands for listing groups and scanning for new | |
20372 articles will all use the numeric prefix as @dfn{working level}. | |
20373 | |
20374 @item killed groups | |
20375 @cindex killed groups | |
20376 No information on killed groups is stored or updated, which makes killed | |
20377 groups much easier to handle than subscribed groups. | |
20378 | |
20379 @item zombie groups | |
20380 @cindex zombie groups | |
20381 Just like killed groups, only slightly less dead. | |
20382 | |
20383 @item active file | |
20384 @cindex active file | |
20385 The news server has to keep track of what articles it carries, and what | |
20386 groups exist. All this information in stored in the active file, which | |
20387 is rather large, as you might surmise. | |
20388 | |
20389 @item bogus groups | |
20390 @cindex bogus groups | |
20391 A group that exists in the @file{.newsrc} file, but isn't known to the | |
20392 server (i.e., it isn't in the active file), is a @emph{bogus group}. | |
20393 This means that the group probably doesn't exist (any more). | |
20394 | |
20395 @item activating | |
20396 @cindex activating groups | |
20397 The act of asking the server for info on a group and computing the | |
20398 number of unread articles is called @dfn{activating the group}. | |
20399 Un-activated groups are listed with @samp{*} in the group buffer. | |
20400 | |
20401 @item server | |
20402 @cindex server | |
20403 A machine one can connect to and get news (or mail) from. | |
20404 | |
20405 @item select method | |
20406 @cindex select method | |
39395 | 20407 A structure that specifies the back end, the server and the virtual |
25829 | 20408 server settings. |
20409 | |
20410 @item virtual server | |
20411 @cindex virtual server | |
20412 A named select method. Since a select method defines all there is to | |
20413 know about connecting to a (physical) server, taking the thing as a | |
20414 whole is a virtual server. | |
20415 | |
20416 @item washing | |
20417 @cindex washing | |
20418 Taking a buffer and running it through a filter of some sort. The | |
20419 result will (more often than not) be cleaner and more pleasing than the | |
20420 original. | |
20421 | |
20422 @item ephemeral groups | |
20423 @cindex ephemeral groups | |
20424 Most groups store data on what articles you have read. @dfn{Ephemeral} | |
20425 groups are groups that will have no data stored---when you exit the | |
20426 group, it'll disappear into the aether. | |
20427 | |
20428 @item solid groups | |
20429 @cindex solid groups | |
20430 This is the opposite of ephemeral groups. All groups listed in the | |
20431 group buffer are solid groups. | |
20432 | |
20433 @item sparse articles | |
20434 @cindex sparse articles | |
20435 These are article placeholders shown in the summary buffer when | |
20436 @code{gnus-build-sparse-threads} has been switched on. | |
20437 | |
20438 @item threading | |
20439 @cindex threading | |
20440 To put responses to articles directly after the articles they respond | |
20441 to---in a hierarchical fashion. | |
20442 | |
20443 @item root | |
20444 @cindex root | |
20445 @cindex thread root | |
20446 The first article in a thread is the root. It is the ancestor of all | |
20447 articles in the thread. | |
20448 | |
20449 @item parent | |
20450 @cindex parent | |
20451 An article that has responses. | |
20452 | |
20453 @item child | |
20454 @cindex child | |
20455 An article that responds to a different article---its parent. | |
20456 | |
20457 @item digest | |
20458 @cindex digest | |
20459 A collection of messages in one file. The most common digest format is | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20460 specified by RFC 1153. |
25829 | 20461 |
20462 @end table | |
20463 | |
20464 | |
20465 @page | |
20466 @node Customization | |
20467 @section Customization | |
20468 @cindex general customization | |
20469 | |
20470 All variables are properly documented elsewhere in this manual. This | |
20471 section is designed to give general pointers on how to customize Gnus | |
20472 for some quite common situations. | |
20473 | |
20474 @menu | |
20475 * Slow/Expensive Connection:: You run a local Emacs and get the news elsewhere. | |
20476 * Slow Terminal Connection:: You run a remote Emacs. | |
20477 * Little Disk Space:: You feel that having large setup files is icky. | |
20478 * Slow Machine:: You feel like buying a faster machine. | |
20479 @end menu | |
20480 | |
20481 | |
20482 @node Slow/Expensive Connection | |
20483 @subsection Slow/Expensive @sc{nntp} Connection | |
20484 | |
20485 If you run Emacs on a machine locally, and get your news from a machine | |
20486 over some very thin strings, you want to cut down on the amount of data | |
20487 Gnus has to get from the @sc{nntp} server. | |
20488 | |
20489 @table @code | |
20490 | |
20491 @item gnus-read-active-file | |
20492 Set this to @code{nil}, which will inhibit Gnus from requesting the | |
36028 | 20493 entire active file from the server. This file is often very large. You |
25829 | 20494 also have to set @code{gnus-check-new-newsgroups} and |
20495 @code{gnus-check-bogus-newsgroups} to @code{nil} to make sure that Gnus | |
20496 doesn't suddenly decide to fetch the active file anyway. | |
20497 | |
20498 @item gnus-nov-is-evil | |
20499 This one has to be @code{nil}. If not, grabbing article headers from | |
20500 the @sc{nntp} server will not be very fast. Not all @sc{nntp} servers | |
20501 support @sc{xover}; Gnus will detect this by itself. | |
20502 @end table | |
20503 | |
20504 | |
20505 @node Slow Terminal Connection | |
20506 @subsection Slow Terminal Connection | |
20507 | |
20508 Let's say you use your home computer for dialing up the system that runs | |
20509 Emacs and Gnus. If your modem is slow, you want to reduce (as much as | |
20510 possible) the amount of data sent over the wires. | |
20511 | |
20512 @table @code | |
20513 | |
20514 @item gnus-auto-center-summary | |
20515 Set this to @code{nil} to inhibit Gnus from re-centering the summary | |
20516 buffer all the time. If it is @code{vertical}, do only vertical | |
20517 re-centering. If it is neither @code{nil} nor @code{vertical}, do both | |
20518 horizontal and vertical recentering. | |
20519 | |
20520 @item gnus-visible-headers | |
20521 Cut down on the headers included in the articles to the | |
20522 minimum. You can, in fact, make do without them altogether---most of the | |
20523 useful data is in the summary buffer, anyway. Set this variable to | |
20524 @samp{^NEVVVVER} or @samp{From:}, or whatever you feel you need. | |
20525 | |
20526 Set this hook to all the available hiding commands: | |
20527 @lisp | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20528 (setq gnus-treat-hide-headers 'head |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20529 gnus-treat-hide-signature t |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20530 gnus-treat-hide-citation t) |
25829 | 20531 @end lisp |
20532 | |
20533 @item gnus-use-full-window | |
20534 By setting this to @code{nil}, you can make all the windows smaller. | |
20535 While this doesn't really cut down much generally, it means that you | |
20536 have to see smaller portions of articles before deciding that you didn't | |
20537 want to read them anyway. | |
20538 | |
20539 @item gnus-thread-hide-subtree | |
20540 If this is non-@code{nil}, all threads in the summary buffer will be | |
20541 hidden initially. | |
20542 | |
20543 @item gnus-updated-mode-lines | |
20544 If this is @code{nil}, Gnus will not put information in the buffer mode | |
20545 lines, which might save some time. | |
20546 @end table | |
20547 | |
20548 | |
20549 @node Little Disk Space | |
20550 @subsection Little Disk Space | |
20551 @cindex disk space | |
20552 | |
20553 The startup files can get rather large, so you may want to cut their | |
20554 sizes a bit if you are running out of space. | |
20555 | |
20556 @table @code | |
20557 | |
20558 @item gnus-save-newsrc-file | |
20559 If this is @code{nil}, Gnus will never save @file{.newsrc}---it will | |
20560 only save @file{.newsrc.eld}. This means that you will not be able to | |
20561 use any other newsreaders than Gnus. This variable is @code{t} by | |
20562 default. | |
20563 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20564 @item gnus-read-newsrc-file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20565 If this is @code{nil}, Gnus will never read @file{.newsrc}---it will |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20566 only read @file{.newsrc.eld}. This means that you will not be able to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20567 use any other newsreaders than Gnus. This variable is @code{t} by |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20568 default. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20569 |
25829 | 20570 @item gnus-save-killed-list |
20571 If this is @code{nil}, Gnus will not save the list of dead groups. You | |
20572 should also set @code{gnus-check-new-newsgroups} to @code{ask-server} | |
20573 and @code{gnus-check-bogus-newsgroups} to @code{nil} if you set this | |
20574 variable to @code{nil}. This variable is @code{t} by default. | |
20575 | |
20576 @end table | |
20577 | |
20578 | |
20579 @node Slow Machine | |
20580 @subsection Slow Machine | |
20581 @cindex slow machine | |
20582 | |
20583 If you have a slow machine, or are just really impatient, there are a | |
20584 few things you can do to make Gnus run faster. | |
20585 | |
20586 Set @code{gnus-check-new-newsgroups} and | |
20587 @code{gnus-check-bogus-newsgroups} to @code{nil} to make startup faster. | |
20588 | |
20589 Set @code{gnus-show-threads}, @code{gnus-use-cross-reference} and | |
20590 @code{gnus-nov-is-evil} to @code{nil} to make entering and exiting the | |
20591 summary buffer faster. | |
20592 | |
20593 | |
20594 @page | |
20595 @node Troubleshooting | |
20596 @section Troubleshooting | |
20597 @cindex troubleshooting | |
20598 | |
20599 Gnus works @emph{so} well straight out of the box---I can't imagine any | |
20600 problems, really. | |
20601 | |
20602 Ahem. | |
20603 | |
20604 @enumerate | |
20605 | |
20606 @item | |
20607 Make sure your computer is switched on. | |
20608 | |
20609 @item | |
20610 Make sure that you really load the current Gnus version. If you have | |
20611 been running @sc{gnus}, you need to exit Emacs and start it up again before | |
20612 Gnus will work. | |
20613 | |
20614 @item | |
20615 Try doing an @kbd{M-x gnus-version}. If you get something that looks | |
20616 like @samp{Gnus v5.46; nntp 4.0} you have the right files loaded. If, | |
20617 on the other hand, you get something like @samp{NNTP 3.x} or @samp{nntp | |
20618 flee}, you have some old @file{.el} files lying around. Delete these. | |
20619 | |
20620 @item | |
20621 Read the help group (@kbd{G h} in the group buffer) for a FAQ and a | |
20622 how-to. | |
20623 | |
20624 @item | |
20625 @vindex max-lisp-eval-depth | |
20626 Gnus works on many recursive structures, and in some extreme (and very | |
20627 rare) cases Gnus may recurse down ``too deeply'' and Emacs will beep at | |
20628 you. If this happens to you, set @code{max-lisp-eval-depth} to 500 or | |
20629 something like that. | |
20630 @end enumerate | |
20631 | |
20632 If all else fails, report the problem as a bug. | |
20633 | |
20634 @cindex bugs | |
20635 @cindex reporting bugs | |
20636 | |
20637 @kindex M-x gnus-bug | |
20638 @findex gnus-bug | |
20639 If you find a bug in Gnus, you can report it with the @kbd{M-x gnus-bug} | |
36028 | 20640 command. @kbd{M-x set-variable @key{RET} debug-on-error @key{RET} t @key{RET}}, and send |
25829 | 20641 me the backtrace. I will fix bugs, but I can only fix them if you send |
20642 me a precise description as to how to reproduce the bug. | |
20643 | |
20644 You really can never be too detailed in a bug report. Always use the | |
20645 @kbd{M-x gnus-bug} command when you make bug reports, even if it creates | |
20646 a 10Kb mail each time you use it, and even if you have sent me your | |
20647 environment 500 times before. I don't care. I want the full info each | |
20648 time. | |
20649 | |
20650 It is also important to remember that I have no memory whatsoever. If | |
20651 you send a bug report, and I send you a reply, and then you just send | |
20652 back ``No, it's not! Moron!'', I will have no idea what you are | |
20653 insulting me about. Always over-explain everything. It's much easier | |
20654 for all of us---if I don't have all the information I need, I will just | |
20655 mail you and ask for more info, and everything takes more time. | |
20656 | |
20657 If the problem you're seeing is very visual, and you can't quite explain | |
20658 it, copy the Emacs window to a file (with @code{xwd}, for instance), put | |
20659 it somewhere it can be reached, and include the URL of the picture in | |
20660 the bug report. | |
20661 | |
20662 If you just need help, you are better off asking on | |
20663 @samp{gnu.emacs.gnus}. I'm not very helpful. | |
20664 | |
20665 @cindex gnu.emacs.gnus | |
20666 @cindex ding mailing list | |
20667 You can also ask on the ding mailing list---@samp{ding@@gnus.org}. | |
20668 Write to @samp{ding-request@@gnus.org} to subscribe. | |
20669 | |
20670 | |
20671 @page | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20672 @node Gnus Reference Guide |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20673 @section Gnus Reference Guide |
25829 | 20674 |
20675 It is my hope that other people will figure out smart stuff that Gnus | |
20676 can do, and that other people will write those smart things as well. To | |
20677 facilitate that I thought it would be a good idea to describe the inner | |
20678 workings of Gnus. And some of the not-so-inner workings, while I'm at | |
20679 it. | |
20680 | |
20681 You can never expect the internals of a program not to change, but I | |
20682 will be defining (in some details) the interface between Gnus and its | |
39395 | 20683 back ends (this is written in stone), the format of the score files |
25829 | 20684 (ditto), data structures (some are less likely to change than others) |
20685 and general methods of operation. | |
20686 | |
20687 @menu | |
20688 * Gnus Utility Functions:: Common functions and variable to use. | |
39395 | 20689 * Back End Interface:: How Gnus communicates with the servers. |
25829 | 20690 * Score File Syntax:: A BNF definition of the score file standard. |
20691 * Headers:: How Gnus stores headers internally. | |
20692 * Ranges:: A handy format for storing mucho numbers. | |
20693 * Group Info:: The group info format. | |
20694 * Extended Interactive:: Symbolic prefixes and stuff. | |
20695 * Emacs/XEmacs Code:: Gnus can be run under all modern Emacsen. | |
20696 * Various File Formats:: Formats of files that Gnus use. | |
20697 @end menu | |
20698 | |
20699 | |
20700 @node Gnus Utility Functions | |
20701 @subsection Gnus Utility Functions | |
20702 @cindex Gnus utility functions | |
20703 @cindex utility functions | |
20704 @cindex functions | |
20705 @cindex internal variables | |
20706 | |
20707 When writing small functions to be run from hooks (and stuff), it's | |
20708 vital to have access to the Gnus internal functions and variables. | |
20709 Below is a list of the most common ones. | |
20710 | |
20711 @table @code | |
20712 | |
20713 @item gnus-newsgroup-name | |
20714 @vindex gnus-newsgroup-name | |
20715 This variable holds the name of the current newsgroup. | |
20716 | |
20717 @item gnus-find-method-for-group | |
20718 @findex gnus-find-method-for-group | |
20719 A function that returns the select method for @var{group}. | |
20720 | |
20721 @item gnus-group-real-name | |
20722 @findex gnus-group-real-name | |
20723 Takes a full (prefixed) Gnus group name, and returns the unprefixed | |
20724 name. | |
20725 | |
20726 @item gnus-group-prefixed-name | |
20727 @findex gnus-group-prefixed-name | |
20728 Takes an unprefixed group name and a select method, and returns the full | |
20729 (prefixed) Gnus group name. | |
20730 | |
20731 @item gnus-get-info | |
20732 @findex gnus-get-info | |
20733 Returns the group info list for @var{group}. | |
20734 | |
20735 @item gnus-group-unread | |
20736 @findex gnus-group-unread | |
20737 The number of unread articles in @var{group}, or @code{t} if that is | |
20738 unknown. | |
20739 | |
20740 @item gnus-active | |
20741 @findex gnus-active | |
20742 The active entry for @var{group}. | |
20743 | |
20744 @item gnus-set-active | |
20745 @findex gnus-set-active | |
20746 Set the active entry for @var{group}. | |
20747 | |
20748 @item gnus-add-current-to-buffer-list | |
20749 @findex gnus-add-current-to-buffer-list | |
20750 Adds the current buffer to the list of buffers to be killed on Gnus | |
20751 exit. | |
20752 | |
20753 @item gnus-continuum-version | |
20754 @findex gnus-continuum-version | |
20755 Takes a Gnus version string as a parameter and returns a floating point | |
20756 number. Earlier versions will always get a lower number than later | |
20757 versions. | |
20758 | |
20759 @item gnus-group-read-only-p | |
20760 @findex gnus-group-read-only-p | |
20761 Says whether @var{group} is read-only or not. | |
20762 | |
20763 @item gnus-news-group-p | |
20764 @findex gnus-news-group-p | |
39395 | 20765 Says whether @var{group} came from a news back end. |
25829 | 20766 |
20767 @item gnus-ephemeral-group-p | |
20768 @findex gnus-ephemeral-group-p | |
20769 Says whether @var{group} is ephemeral or not. | |
20770 | |
20771 @item gnus-server-to-method | |
20772 @findex gnus-server-to-method | |
20773 Returns the select method corresponding to @var{server}. | |
20774 | |
20775 @item gnus-server-equal | |
20776 @findex gnus-server-equal | |
20777 Says whether two virtual servers are equal. | |
20778 | |
20779 @item gnus-group-native-p | |
20780 @findex gnus-group-native-p | |
20781 Says whether @var{group} is native or not. | |
20782 | |
20783 @item gnus-group-secondary-p | |
20784 @findex gnus-group-secondary-p | |
20785 Says whether @var{group} is secondary or not. | |
20786 | |
20787 @item gnus-group-foreign-p | |
20788 @findex gnus-group-foreign-p | |
20789 Says whether @var{group} is foreign or not. | |
20790 | |
20791 @item group-group-find-parameter | |
20792 @findex group-group-find-parameter | |
20793 Returns the parameter list of @var{group}. If given a second parameter, | |
20794 returns the value of that parameter for @var{group}. | |
20795 | |
20796 @item gnus-group-set-parameter | |
20797 @findex gnus-group-set-parameter | |
20798 Takes three parameters; @var{group}, @var{parameter} and @var{value}. | |
20799 | |
20800 @item gnus-narrow-to-body | |
20801 @findex gnus-narrow-to-body | |
20802 Narrows the current buffer to the body of the article. | |
20803 | |
20804 @item gnus-check-backend-function | |
20805 @findex gnus-check-backend-function | |
39395 | 20806 Takes two parameters, @var{function} and @var{group}. If the back end |
25829 | 20807 @var{group} comes from supports @var{function}, return non-@code{nil}. |
20808 | |
20809 @lisp | |
20810 (gnus-check-backend-function "request-scan" "nnml:misc") | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20811 @result{} t |
25829 | 20812 @end lisp |
20813 | |
20814 @item gnus-read-method | |
20815 @findex gnus-read-method | |
20816 Prompts the user for a select method. | |
20817 | |
20818 @end table | |
20819 | |
20820 | |
39395 | 20821 @node Back End Interface |
20822 @subsection Back End Interface | |
25829 | 20823 |
20824 Gnus doesn't know anything about @sc{nntp}, spools, mail or virtual | |
20825 groups. It only knows how to talk to @dfn{virtual servers}. A virtual | |
39395 | 20826 server is a @dfn{back end} and some @dfn{back end variables}. As examples |
25829 | 20827 of the first, we have @code{nntp}, @code{nnspool} and @code{nnmbox}. As |
20828 examples of the latter we have @code{nntp-port-number} and | |
20829 @code{nnmbox-directory}. | |
20830 | |
39395 | 20831 When Gnus asks for information from a back end---say @code{nntp}---on |
25829 | 20832 something, it will normally include a virtual server name in the |
39395 | 20833 function parameters. (If not, the back end should use the ``current'' |
25829 | 20834 virtual server.) For instance, @code{nntp-request-list} takes a virtual |
20835 server as its only (optional) parameter. If this virtual server hasn't | |
20836 been opened, the function should fail. | |
20837 | |
20838 Note that a virtual server name has no relation to some physical server | |
20839 name. Take this example: | |
20840 | |
20841 @lisp | |
20842 (nntp "odd-one" | |
20843 (nntp-address "ifi.uio.no") | |
20844 (nntp-port-number 4324)) | |
20845 @end lisp | |
20846 | |
20847 Here the virtual server name is @samp{odd-one} while the name of | |
20848 the physical server is @samp{ifi.uio.no}. | |
20849 | |
39395 | 20850 The back ends should be able to switch between several virtual servers. |
20851 The standard back ends implement this by keeping an alist of virtual | |
25829 | 20852 server environments that they pull down/push up when needed. |
20853 | |
20854 There are two groups of interface functions: @dfn{required functions}, | |
20855 which must be present, and @dfn{optional functions}, which Gnus will | |
20856 always check for presence before attempting to call 'em. | |
20857 | |
20858 All these functions are expected to return data in the buffer | |
20859 @code{nntp-server-buffer} (@samp{ *nntpd*}), which is somewhat | |
20860 unfortunately named, but we'll have to live with it. When I talk about | |
20861 @dfn{resulting data}, I always refer to the data in that buffer. When I | |
20862 talk about @dfn{return value}, I talk about the function value returned by | |
20863 the function call. Functions that fail should return @code{nil} as the | |
20864 return value. | |
20865 | |
39395 | 20866 Some back ends could be said to be @dfn{server-forming} back ends, and |
20867 some might be said not to be. The latter are back ends that generally | |
25829 | 20868 only operate on one group at a time, and have no concept of ``server'' |
20869 -- they have a group, and they deliver info on that group and nothing | |
20870 more. | |
20871 | |
39395 | 20872 In the examples and definitions I will refer to the imaginary back end |
25829 | 20873 @code{nnchoke}. |
20874 | |
20875 @cindex @code{nnchoke} | |
20876 | |
20877 @menu | |
39395 | 20878 * Required Back End Functions:: Functions that must be implemented. |
20879 * Optional Back End Functions:: Functions that need not be implemented. | |
25829 | 20880 * Error Messaging:: How to get messages and report errors. |
39395 | 20881 * Writing New Back Ends:: Extending old back ends. |
20882 * Hooking New Back Ends Into Gnus:: What has to be done on the Gnus end. | |
20883 * Mail-like Back Ends:: Some tips on mail back ends. | |
20884 @end menu | |
20885 | |
20886 | |
20887 @node Required Back End Functions | |
20888 @subsubsection Required Back End Functions | |
25829 | 20889 |
20890 @table @code | |
20891 | |
20892 @item (nnchoke-retrieve-headers ARTICLES &optional GROUP SERVER FETCH-OLD) | |
20893 | |
20894 @var{articles} is either a range of article numbers or a list of | |
39395 | 20895 @code{Message-ID}s. Current back ends do not fully support either---only |
20896 sequences (lists) of article numbers, and most back ends do not support | |
25829 | 20897 retrieval of @code{Message-ID}s. But they should try for both. |
20898 | |
20899 The result data should either be HEADs or NOV lines, and the result | |
20900 value should either be @code{headers} or @code{nov} to reflect this. | |
20901 This might later be expanded to @code{various}, which will be a mixture | |
20902 of HEADs and NOV lines, but this is currently not supported by Gnus. | |
20903 | |
20904 If @var{fetch-old} is non-@code{nil} it says to try fetching "extra | |
20905 headers", in some meaning of the word. This is generally done by | |
20906 fetching (at most) @var{fetch-old} extra headers less than the smallest | |
20907 article number in @code{articles}, and filling the gaps as well. The | |
39395 | 20908 presence of this parameter can be ignored if the back end finds it |
25829 | 20909 cumbersome to follow the request. If this is non-@code{nil} and not a |
20910 number, do maximum fetches. | |
20911 | |
20912 Here's an example HEAD: | |
20913 | |
20914 @example | |
20915 221 1056 Article retrieved. | |
20916 Path: ifi.uio.no!sturles | |
20917 From: sturles@@ifi.uio.no (Sturle Sunde) | |
20918 Newsgroups: ifi.discussion | |
20919 Subject: Re: Something very droll | |
20920 Date: 27 Oct 1994 14:02:57 +0100 | |
20921 Organization: Dept. of Informatics, University of Oslo, Norway | |
20922 Lines: 26 | |
20923 Message-ID: <38o8e1$a0o@@holmenkollen.ifi.uio.no> | |
20924 References: <38jdmq$4qu@@visbur.ifi.uio.no> | |
20925 NNTP-Posting-Host: holmenkollen.ifi.uio.no | |
20926 . | |
20927 @end example | |
20928 | |
20929 So a @code{headers} return value would imply that there's a number of | |
20930 these in the data buffer. | |
20931 | |
20932 Here's a BNF definition of such a buffer: | |
20933 | |
20934 @example | |
20935 headers = *head | |
20936 head = error / valid-head | |
20937 error-message = [ "4" / "5" ] 2number " " <error message> eol | |
20938 valid-head = valid-message *header "." eol | |
20939 valid-message = "221 " <number> " Article retrieved." eol | |
20940 header = <text> eol | |
20941 @end example | |
20942 | |
20943 If the return value is @code{nov}, the data buffer should contain | |
20944 @dfn{network overview database} lines. These are basically fields | |
20945 separated by tabs. | |
20946 | |
20947 @example | |
20948 nov-buffer = *nov-line | |
20949 nov-line = 8*9 [ field <TAB> ] eol | |
20950 field = <text except TAB> | |
20951 @end example | |
20952 | |
20953 For a closer look at what should be in those fields, | |
20954 @pxref{Headers}. | |
20955 | |
20956 | |
20957 @item (nnchoke-open-server SERVER &optional DEFINITIONS) | |
20958 | |
20959 @var{server} is here the virtual server name. @var{definitions} is a | |
20960 list of @code{(VARIABLE VALUE)} pairs that define this virtual server. | |
20961 | |
39395 | 20962 If the server can't be opened, no error should be signaled. The back end |
25829 | 20963 may then choose to refuse further attempts at connecting to this |
20964 server. In fact, it should do so. | |
20965 | |
20966 If the server is opened already, this function should return a | |
20967 non-@code{nil} value. There should be no data returned. | |
20968 | |
20969 | |
20970 @item (nnchoke-close-server &optional SERVER) | |
20971 | |
20972 Close connection to @var{server} and free all resources connected | |
20973 to it. Return @code{nil} if the server couldn't be closed for some | |
20974 reason. | |
20975 | |
20976 There should be no data returned. | |
20977 | |
20978 | |
20979 @item (nnchoke-request-close) | |
20980 | |
39395 | 20981 Close connection to all servers and free all resources that the back end |
20982 have reserved. All buffers that have been created by that back end | |
25829 | 20983 should be killed. (Not the @code{nntp-server-buffer}, though.) This |
20984 function is generally only called when Gnus is shutting down. | |
20985 | |
20986 There should be no data returned. | |
20987 | |
20988 | |
20989 @item (nnchoke-server-opened &optional SERVER) | |
20990 | |
20991 If @var{server} is the current virtual server, and the connection to the | |
20992 physical server is alive, then this function should return a | |
20993 non-@code{nil} vlue. This function should under no circumstances | |
20994 attempt to reconnect to a server we have lost connection to. | |
20995 | |
20996 There should be no data returned. | |
20997 | |
20998 | |
20999 @item (nnchoke-status-message &optional SERVER) | |
21000 | |
21001 This function should return the last error message from @var{server}. | |
21002 | |
21003 There should be no data returned. | |
21004 | |
21005 | |
21006 @item (nnchoke-request-article ARTICLE &optional GROUP SERVER TO-BUFFER) | |
21007 | |
21008 The result data from this function should be the article specified by | |
21009 @var{article}. This might either be a @code{Message-ID} or a number. | |
21010 It is optional whether to implement retrieval by @code{Message-ID}, but | |
21011 it would be nice if that were possible. | |
21012 | |
21013 If @var{to-buffer} is non-@code{nil}, the result data should be returned | |
21014 in this buffer instead of the normal data buffer. This is to make it | |
21015 possible to avoid copying large amounts of data from one buffer to | |
21016 another, while Gnus mainly requests articles to be inserted directly | |
21017 into its article buffer. | |
21018 | |
21019 If it is at all possible, this function should return a cons cell where | |
21020 the @code{car} is the group name the article was fetched from, and the @code{cdr} is | |
21021 the article number. This will enable Gnus to find out what the real | |
21022 group and article numbers are when fetching articles by | |
21023 @code{Message-ID}. If this isn't possible, @code{t} should be returned | |
21024 on successful article retrieval. | |
21025 | |
21026 | |
21027 @item (nnchoke-request-group GROUP &optional SERVER FAST) | |
21028 | |
21029 Get data on @var{group}. This function also has the side effect of | |
21030 making @var{group} the current group. | |
21031 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21032 If @var{fast}, don't bother to return useful data, just make @var{group} |
25829 | 21033 the current group. |
21034 | |
21035 Here's an example of some result data and a definition of the same: | |
21036 | |
21037 @example | |
21038 211 56 1000 1059 ifi.discussion | |
21039 @end example | |
21040 | |
21041 The first number is the status, which should be 211. Next is the | |
21042 total number of articles in the group, the lowest article number, the | |
21043 highest article number, and finally the group name. Note that the total | |
21044 number of articles may be less than one might think while just | |
21045 considering the highest and lowest article numbers, but some articles | |
21046 may have been canceled. Gnus just discards the total-number, so | |
21047 whether one should take the bother to generate it properly (if that is a | |
21048 problem) is left as an exercise to the reader. | |
21049 | |
21050 @example | |
21051 group-status = [ error / info ] eol | |
21052 error = [ "4" / "5" ] 2<number> " " <Error message> | |
21053 info = "211 " 3* [ <number> " " ] <string> | |
21054 @end example | |
21055 | |
21056 | |
21057 @item (nnchoke-close-group GROUP &optional SERVER) | |
21058 | |
21059 Close @var{group} and free any resources connected to it. This will be | |
39395 | 21060 a no-op on most back ends. |
25829 | 21061 |
21062 There should be no data returned. | |
21063 | |
21064 | |
21065 @item (nnchoke-request-list &optional SERVER) | |
21066 | |
21067 Return a list of all groups available on @var{server}. And that means | |
21068 @emph{all}. | |
21069 | |
21070 Here's an example from a server that only carries two groups: | |
21071 | |
21072 @example | |
21073 ifi.test 0000002200 0000002000 y | |
21074 ifi.discussion 3324 3300 n | |
21075 @end example | |
21076 | |
21077 On each line we have a group name, then the highest article number in | |
21078 that group, the lowest article number, and finally a flag. | |
21079 | |
21080 @example | |
21081 active-file = *active-line | |
21082 active-line = name " " <number> " " <number> " " flags eol | |
21083 name = <string> | |
21084 flags = "n" / "y" / "m" / "x" / "j" / "=" name | |
21085 @end example | |
21086 | |
21087 The flag says whether the group is read-only (@samp{n}), is moderated | |
21088 (@samp{m}), is dead (@samp{x}), is aliased to some other group | |
21089 (@samp{=other-group}) or none of the above (@samp{y}). | |
21090 | |
21091 | |
21092 @item (nnchoke-request-post &optional SERVER) | |
21093 | |
21094 This function should post the current buffer. It might return whether | |
21095 the posting was successful or not, but that's not required. If, for | |
21096 instance, the posting is done asynchronously, it has generally not been | |
21097 completed by the time this function concludes. In that case, this | |
21098 function should set up some kind of sentinel to beep the user loud and | |
21099 clear if the posting could not be completed. | |
21100 | |
21101 There should be no result data from this function. | |
21102 | |
21103 @end table | |
21104 | |
21105 | |
39395 | 21106 @node Optional Back End Functions |
21107 @subsubsection Optional Back End Functions | |
25829 | 21108 |
21109 @table @code | |
21110 | |
21111 @item (nnchoke-retrieve-groups GROUPS &optional SERVER) | |
21112 | |
21113 @var{groups} is a list of groups, and this function should request data | |
21114 on all those groups. How it does it is of no concern to Gnus, but it | |
21115 should attempt to do this in a speedy fashion. | |
21116 | |
21117 The return value of this function can be either @code{active} or | |
21118 @code{group}, which says what the format of the result data is. The | |
21119 former is in the same format as the data from | |
21120 @code{nnchoke-request-list}, while the latter is a buffer full of lines | |
21121 in the same format as @code{nnchoke-request-group} gives. | |
21122 | |
21123 @example | |
21124 group-buffer = *active-line / *group-status | |
21125 @end example | |
21126 | |
21127 | |
21128 @item (nnchoke-request-update-info GROUP INFO &optional SERVER) | |
21129 | |
39395 | 21130 A Gnus group info (@pxref{Group Info}) is handed to the back end for |
21131 alterations. This comes in handy if the back end really carries all the | |
25829 | 21132 information (as is the case with virtual and imap groups). This |
21133 function should destructively alter the info to suit its needs, and | |
21134 should return the (altered) group info. | |
21135 | |
21136 There should be no result data from this function. | |
21137 | |
21138 | |
21139 @item (nnchoke-request-type GROUP &optional ARTICLE) | |
21140 | |
21141 When the user issues commands for ``sending news'' (@kbd{F} in the | |
21142 summary buffer, for instance), Gnus has to know whether the article the | |
21143 user is following up on is news or mail. This function should return | |
21144 @code{news} if @var{article} in @var{group} is news, @code{mail} if it | |
21145 is mail and @code{unknown} if the type can't be decided. (The | |
21146 @var{article} parameter is necessary in @code{nnvirtual} groups which | |
21147 might very well combine mail groups and news groups.) Both @var{group} | |
21148 and @var{article} may be @code{nil}. | |
21149 | |
21150 There should be no result data from this function. | |
21151 | |
21152 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21153 @item (nnchoke-request-set-mark GROUP ACTION &optional SERVER) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21154 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21155 Set/remove/add marks on articles. Normally Gnus handles the article |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21156 marks (such as read, ticked, expired etc) internally, and store them in |
39395 | 21157 @code{~/.newsrc.eld}. Some back ends (such as @sc{imap}) however carry |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21158 all information about the articles on the server, so Gnus need to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21159 propagate the mark information to the server. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21160 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21161 ACTION is a list of mark setting requests, having this format: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21162 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21163 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21164 (RANGE ACTION MARK) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21165 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21166 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21167 Range is a range of articles you wish to update marks on. Action is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21168 @code{set}, @code{add} or @code{del}, respectively used for removing all |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21169 existing marks and setting them as specified, adding (preserving the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21170 marks not mentioned) mark and removing (preserving the marks not |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21171 mentioned) marks. Mark is a list of marks; where each mark is a symbol. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21172 Currently used marks are @code{read}, @code{tick}, @code{reply}, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21173 @code{expire}, @code{killed}, @code{dormant}, @code{save}, |
39395 | 21174 @code{download} and @code{unsend}, but your back end should, if possible, |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21175 not limit itself to these. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21176 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21177 Given contradictory actions, the last action in the list should be the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21178 effective one. That is, if your action contains a request to add the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21179 @code{tick} mark on article 1 and, later in the list, a request to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21180 remove the mark on the same article, the mark should in fact be removed. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21181 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21182 An example action list: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21183 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21184 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21185 (((5 12 30) 'del '(tick)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21186 ((10 . 90) 'add '(read expire)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21187 ((92 94) 'del '(read))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21188 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21189 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21190 The function should return a range of articles it wasn't able to set the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21191 mark on (currently not used for anything). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21192 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21193 There should be no result data from this function. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21194 |
25829 | 21195 @item (nnchoke-request-update-mark GROUP ARTICLE MARK) |
21196 | |
39395 | 21197 If the user tries to set a mark that the back end doesn't like, this |
25829 | 21198 function may change the mark. Gnus will use whatever this function |
21199 returns as the mark for @var{article} instead of the original | |
39395 | 21200 @var{mark}. If the back end doesn't care, it must return the original |
25829 | 21201 @var{mark}, and not @code{nil} or any other type of garbage. |
21202 | |
21203 The only use for this I can see is what @code{nnvirtual} does with | |
21204 it---if a component group is auto-expirable, marking an article as read | |
21205 in the virtual group should result in the article being marked as | |
21206 expirable. | |
21207 | |
21208 There should be no result data from this function. | |
21209 | |
21210 | |
21211 @item (nnchoke-request-scan &optional GROUP SERVER) | |
21212 | |
21213 This function may be called at any time (by Gnus or anything else) to | |
39395 | 21214 request that the back end check for incoming articles, in one way or |
21215 another. A mail back end will typically read the spool file or query the | |
25829 | 21216 POP server when this function is invoked. The @var{group} doesn't have |
39395 | 21217 to be heeded---if the back end decides that it is too much work just |
25829 | 21218 scanning for a single group, it may do a total scan of all groups. It |
21219 would be nice, however, to keep things local if that's practical. | |
21220 | |
21221 There should be no result data from this function. | |
21222 | |
21223 | |
21224 @item (nnchoke-request-group-description GROUP &optional SERVER) | |
21225 | |
21226 The result data from this function should be a description of | |
21227 @var{group}. | |
21228 | |
21229 @example | |
21230 description-line = name <TAB> description eol | |
21231 name = <string> | |
21232 description = <text> | |
21233 @end example | |
21234 | |
21235 @item (nnchoke-request-list-newsgroups &optional SERVER) | |
21236 | |
21237 The result data from this function should be the description of all | |
21238 groups available on the server. | |
21239 | |
21240 @example | |
21241 description-buffer = *description-line | |
21242 @end example | |
21243 | |
21244 | |
21245 @item (nnchoke-request-newgroups DATE &optional SERVER) | |
21246 | |
21247 The result data from this function should be all groups that were | |
21248 created after @samp{date}, which is in normal human-readable date | |
21249 format. The data should be in the active buffer format. | |
21250 | |
21251 | |
21252 @item (nnchoke-request-create-group GROUP &optional SERVER) | |
21253 | |
21254 This function should create an empty group with name @var{group}. | |
21255 | |
21256 There should be no return data. | |
21257 | |
21258 | |
21259 @item (nnchoke-request-expire-articles ARTICLES &optional GROUP SERVER FORCE) | |
21260 | |
21261 This function should run the expiry process on all articles in the | |
21262 @var{articles} range (which is currently a simple list of article | |
39395 | 21263 numbers.) It is left up to the back end to decide how old articles |
25829 | 21264 should be before they are removed by this function. If @var{force} is |
21265 non-@code{nil}, all @var{articles} should be deleted, no matter how new | |
21266 they are. | |
21267 | |
21268 This function should return a list of articles that it did not/was not | |
21269 able to delete. | |
21270 | |
21271 There should be no result data returned. | |
21272 | |
21273 | |
21274 @item (nnchoke-request-move-article ARTICLE GROUP SERVER ACCEPT-FORM | |
21275 &optional LAST) | |
21276 | |
21277 This function should move @var{article} (which is a number) from | |
21278 @var{group} by calling @var{accept-form}. | |
21279 | |
21280 This function should ready the article in question for moving by | |
21281 removing any header lines it has added to the article, and generally | |
21282 should ``tidy up'' the article. Then it should @code{eval} | |
21283 @var{accept-form} in the buffer where the ``tidy'' article is. This | |
21284 will do the actual copying. If this @code{eval} returns a | |
21285 non-@code{nil} value, the article should be removed. | |
21286 | |
21287 If @var{last} is @code{nil}, that means that there is a high likelihood | |
21288 that there will be more requests issued shortly, so that allows some | |
21289 optimizations. | |
21290 | |
21291 The function should return a cons where the @code{car} is the group name and | |
21292 the @code{cdr} is the article number that the article was entered as. | |
21293 | |
21294 There should be no data returned. | |
21295 | |
21296 | |
21297 @item (nnchoke-request-accept-article GROUP &optional SERVER LAST) | |
21298 | |
21299 This function takes the current buffer and inserts it into @var{group}. | |
21300 If @var{last} in @code{nil}, that means that there will be more calls to | |
21301 this function in short order. | |
21302 | |
21303 The function should return a cons where the @code{car} is the group name and | |
21304 the @code{cdr} is the article number that the article was entered as. | |
21305 | |
21306 There should be no data returned. | |
21307 | |
21308 | |
21309 @item (nnchoke-request-replace-article ARTICLE GROUP BUFFER) | |
21310 | |
21311 This function should remove @var{article} (which is a number) from | |
21312 @var{group} and insert @var{buffer} there instead. | |
21313 | |
21314 There should be no data returned. | |
21315 | |
21316 | |
21317 @item (nnchoke-request-delete-group GROUP FORCE &optional SERVER) | |
21318 | |
21319 This function should delete @var{group}. If @var{force}, it should | |
21320 really delete all the articles in the group, and then delete the group | |
21321 itself. (If there is such a thing as ``the group itself''.) | |
21322 | |
21323 There should be no data returned. | |
21324 | |
21325 | |
21326 @item (nnchoke-request-rename-group GROUP NEW-NAME &optional SERVER) | |
21327 | |
21328 This function should rename @var{group} into @var{new-name}. All | |
21329 articles in @var{group} should move to @var{new-name}. | |
21330 | |
21331 There should be no data returned. | |
21332 | |
21333 @end table | |
21334 | |
21335 | |
21336 @node Error Messaging | |
21337 @subsubsection Error Messaging | |
21338 | |
21339 @findex nnheader-report | |
21340 @findex nnheader-get-report | |
39395 | 21341 The back ends should use the function @code{nnheader-report} to report |
25829 | 21342 error conditions---they should not raise errors when they aren't able to |
39395 | 21343 perform a request. The first argument to this function is the back end |
25829 | 21344 symbol, and the rest are interpreted as arguments to @code{format} if |
21345 there are multiple of them, or just a string if there is one of them. | |
21346 This function must always returns @code{nil}. | |
21347 | |
21348 @lisp | |
21349 (nnheader-report 'nnchoke "You did something totally bogus") | |
21350 | |
21351 (nnheader-report 'nnchoke "Could not request group %s" group) | |
21352 @end lisp | |
21353 | |
21354 Gnus, in turn, will call @code{nnheader-get-report} when it gets a | |
21355 @code{nil} back from a server, and this function returns the most | |
39395 | 21356 recently reported message for the back end in question. This function |
25829 | 21357 takes one argument---the server symbol. |
21358 | |
39395 | 21359 Internally, these functions access @var{back-end}@code{-status-string}, |
21360 so the @code{nnchoke} back end will have its error message stored in | |
25829 | 21361 @code{nnchoke-status-string}. |
21362 | |
21363 | |
39395 | 21364 @node Writing New Back Ends |
21365 @subsubsection Writing New Back Ends | |
21366 | |
21367 Many back ends are quite similar. @code{nnml} is just like | |
25829 | 21368 @code{nnspool}, but it allows you to edit the articles on the server. |
21369 @code{nnmh} is just like @code{nnml}, but it doesn't use an active file, | |
21370 and it doesn't maintain overview databases. @code{nndir} is just like | |
21371 @code{nnml}, but it has no concept of ``groups'', and it doesn't allow | |
21372 editing articles. | |
21373 | |
21374 It would make sense if it were possible to ``inherit'' functions from | |
39395 | 21375 back ends when writing new back ends. And, indeed, you can do that if you |
25829 | 21376 want to. (You don't have to if you don't want to, of course.) |
21377 | |
39395 | 21378 All the back ends declare their public variables and functions by using a |
25829 | 21379 package called @code{nnoo}. |
21380 | |
39395 | 21381 To inherit functions from other back ends (and allow other back ends to |
21382 inherit functions from the current back end), you should use the | |
25829 | 21383 following macros: |
21384 | |
21385 @table @code | |
21386 | |
21387 @item nnoo-declare | |
21388 This macro declares the first parameter to be a child of the subsequent | |
21389 parameters. For instance: | |
21390 | |
21391 @lisp | |
21392 (nnoo-declare nndir | |
21393 nnml nnmh) | |
21394 @end lisp | |
21395 | |
21396 @code{nndir} has declared here that it intends to inherit functions from | |
21397 both @code{nnml} and @code{nnmh}. | |
21398 | |
21399 @item defvoo | |
21400 This macro is equivalent to @code{defvar}, but registers the variable as | |
21401 a public server variable. Most state-oriented variables should be | |
21402 declared with @code{defvoo} instead of @code{defvar}. | |
21403 | |
21404 In addition to the normal @code{defvar} parameters, it takes a list of | |
39395 | 21405 variables in the parent back ends to map the variable to when executing |
21406 a function in those back ends. | |
25829 | 21407 |
21408 @lisp | |
21409 (defvoo nndir-directory nil | |
21410 "Where nndir will look for groups." | |
21411 nnml-current-directory nnmh-current-directory) | |
21412 @end lisp | |
21413 | |
21414 This means that @code{nnml-current-directory} will be set to | |
21415 @code{nndir-directory} when an @code{nnml} function is called on behalf | |
21416 of @code{nndir}. (The same with @code{nnmh}.) | |
21417 | |
21418 @item nnoo-define-basics | |
39395 | 21419 This macro defines some common functions that almost all back ends should |
25829 | 21420 have. |
21421 | |
21422 @example | |
21423 (nnoo-define-basics nndir) | |
21424 @end example | |
21425 | |
21426 @item deffoo | |
21427 This macro is just like @code{defun} and takes the same parameters. In | |
21428 addition to doing the normal @code{defun} things, it registers the | |
39395 | 21429 function as being public so that other back ends can inherit it. |
25829 | 21430 |
21431 @item nnoo-map-functions | |
39395 | 21432 This macro allows mapping of functions from the current back end to |
21433 functions from the parent back ends. | |
25829 | 21434 |
21435 @example | |
21436 (nnoo-map-functions nndir | |
21437 (nnml-retrieve-headers 0 nndir-current-group 0 0) | |
21438 (nnmh-request-article 0 nndir-current-group 0 0)) | |
21439 @end example | |
21440 | |
21441 This means that when @code{nndir-retrieve-headers} is called, the first, | |
21442 third, and fourth parameters will be passed on to | |
21443 @code{nnml-retrieve-headers}, while the second parameter is set to the | |
21444 value of @code{nndir-current-group}. | |
21445 | |
21446 @item nnoo-import | |
39395 | 21447 This macro allows importing functions from back ends. It should be the |
25829 | 21448 last thing in the source file, since it will only define functions that |
21449 haven't already been defined. | |
21450 | |
21451 @example | |
21452 (nnoo-import nndir | |
21453 (nnmh | |
21454 nnmh-request-list | |
21455 nnmh-request-newgroups) | |
21456 (nnml)) | |
21457 @end example | |
21458 | |
21459 This means that calls to @code{nndir-request-list} should just be passed | |
21460 on to @code{nnmh-request-list}, while all public functions from | |
21461 @code{nnml} that haven't been defined in @code{nndir} yet should be | |
21462 defined now. | |
21463 | |
21464 @end table | |
21465 | |
39395 | 21466 Below is a slightly shortened version of the @code{nndir} back end. |
25829 | 21467 |
21468 @lisp | |
21469 ;;; nndir.el --- single directory newsgroup access for Gnus | |
21470 ;; Copyright (C) 1995,96 Free Software Foundation, Inc. | |
21471 | |
21472 ;;; Code: | |
21473 | |
21474 (require 'nnheader) | |
21475 (require 'nnmh) | |
21476 (require 'nnml) | |
21477 (require 'nnoo) | |
21478 (eval-when-compile (require 'cl)) | |
21479 | |
21480 (nnoo-declare nndir | |
21481 nnml nnmh) | |
21482 | |
21483 (defvoo nndir-directory nil | |
21484 "Where nndir will look for groups." | |
21485 nnml-current-directory nnmh-current-directory) | |
21486 | |
21487 (defvoo nndir-nov-is-evil nil | |
21488 "*Non-nil means that nndir will never retrieve NOV headers." | |
21489 nnml-nov-is-evil) | |
21490 | |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21491 (defvoo nndir-current-group "" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21492 nil |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21493 nnml-current-group nnmh-current-group) |
25829 | 21494 (defvoo nndir-top-directory nil nil nnml-directory nnmh-directory) |
21495 (defvoo nndir-get-new-mail nil nil nnml-get-new-mail nnmh-get-new-mail) | |
21496 | |
21497 (defvoo nndir-status-string "" nil nnmh-status-string) | |
21498 (defconst nndir-version "nndir 1.0") | |
21499 | |
21500 ;;; Interface functions. | |
21501 | |
21502 (nnoo-define-basics nndir) | |
21503 | |
21504 (deffoo nndir-open-server (server &optional defs) | |
21505 (setq nndir-directory | |
21506 (or (cadr (assq 'nndir-directory defs)) | |
21507 server)) | |
21508 (unless (assq 'nndir-directory defs) | |
21509 (push `(nndir-directory ,server) defs)) | |
21510 (push `(nndir-current-group | |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21511 ,(file-name-nondirectory |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21512 (directory-file-name nndir-directory))) |
25829 | 21513 defs) |
21514 (push `(nndir-top-directory | |
21515 ,(file-name-directory (directory-file-name nndir-directory))) | |
21516 defs) | |
21517 (nnoo-change-server 'nndir server defs)) | |
21518 | |
21519 (nnoo-map-functions nndir | |
21520 (nnml-retrieve-headers 0 nndir-current-group 0 0) | |
21521 (nnmh-request-article 0 nndir-current-group 0 0) | |
21522 (nnmh-request-group nndir-current-group 0 0) | |
21523 (nnmh-close-group nndir-current-group 0)) | |
21524 | |
21525 (nnoo-import nndir | |
21526 (nnmh | |
21527 nnmh-status-message | |
21528 nnmh-request-list | |
21529 nnmh-request-newgroups)) | |
21530 | |
21531 (provide 'nndir) | |
21532 @end lisp | |
21533 | |
21534 | |
39395 | 21535 @node Hooking New Back Ends Into Gnus |
21536 @subsubsection Hooking New Back Ends Into Gnus | |
25829 | 21537 |
21538 @vindex gnus-valid-select-methods | |
39395 | 21539 Having Gnus start using your new back end is rather easy---you just |
25829 | 21540 declare it with the @code{gnus-declare-backend} functions. This will |
39395 | 21541 enter the back end into the @code{gnus-valid-select-methods} variable. |
21542 | |
21543 @code{gnus-declare-backend} takes two parameters---the back end name and | |
25829 | 21544 an arbitrary number of @dfn{abilities}. |
21545 | |
21546 Here's an example: | |
21547 | |
21548 @lisp | |
21549 (gnus-declare-backend "nnchoke" 'mail 'respool 'address) | |
21550 @end lisp | |
21551 | |
21552 The abilities can be: | |
21553 | |
21554 @table @code | |
21555 @item mail | |
39395 | 21556 This is a mailish back end---followups should (probably) go via mail. |
25829 | 21557 @item post |
39395 | 21558 This is a newsish back end---followups should (probably) go via news. |
25829 | 21559 @item post-mail |
39395 | 21560 This back end supports both mail and news. |
25829 | 21561 @item none |
39395 | 21562 This is neither a post nor mail back end---it's something completely |
25829 | 21563 different. |
21564 @item respool | |
21565 It supports respooling---or rather, it is able to modify its source | |
21566 articles and groups. | |
21567 @item address | |
21568 The name of the server should be in the virtual server name. This is | |
39395 | 21569 true for almost all back ends. |
25829 | 21570 @item prompt-address |
21571 The user should be prompted for an address when doing commands like | |
39395 | 21572 @kbd{B} in the group buffer. This is true for back ends like |
25829 | 21573 @code{nntp}, but not @code{nnmbox}, for instance. |
21574 @end table | |
21575 | |
21576 | |
39395 | 21577 @node Mail-like Back Ends |
21578 @subsubsection Mail-like Back Ends | |
21579 | |
21580 One of the things that separate the mail back ends from the rest of the | |
21581 back ends is the heavy dependence by the mail back ends on common | |
25829 | 21582 functions in @file{nnmail.el}. For instance, here's the definition of |
21583 @code{nnml-request-scan}: | |
21584 | |
21585 @lisp | |
21586 (deffoo nnml-request-scan (&optional group server) | |
21587 (setq nnml-article-file-alist nil) | |
21588 (nnmail-get-new-mail 'nnml 'nnml-save-nov nnml-directory group)) | |
21589 @end lisp | |
21590 | |
21591 It simply calls @code{nnmail-get-new-mail} with a few parameters, | |
21592 and @code{nnmail} takes care of all the moving and splitting of the | |
21593 mail. | |
21594 | |
21595 This function takes four parameters. | |
21596 | |
21597 @table @var | |
21598 @item method | |
39395 | 21599 This should be a symbol to designate which back end is responsible for |
25829 | 21600 the call. |
21601 | |
21602 @item exit-function | |
21603 This function should be called after the splitting has been performed. | |
21604 | |
21605 @item temp-directory | |
21606 Where the temporary files should be stored. | |
21607 | |
21608 @item group | |
21609 This optional argument should be a group name if the splitting is to be | |
21610 performed for one group only. | |
21611 @end table | |
21612 | |
39395 | 21613 @code{nnmail-get-new-mail} will call @var{back-end}@code{-save-mail} to |
21614 save each article. @var{back-end}@code{-active-number} will be called to | |
25829 | 21615 find the article number assigned to this article. |
21616 | |
21617 The function also uses the following variables: | |
39395 | 21618 @var{back-end}@code{-get-new-mail} (to see whether to get new mail for |
21619 this back end); and @var{back-end}@code{-group-alist} and | |
21620 @var{back-end}@code{-active-file} to generate the new active file. | |
21621 @var{back-end}@code{-group-alist} should be a group-active alist, like | |
25829 | 21622 this: |
21623 | |
21624 @example | |
21625 (("a-group" (1 . 10)) | |
21626 ("some-group" (34 . 39))) | |
21627 @end example | |
21628 | |
21629 | |
21630 @node Score File Syntax | |
21631 @subsection Score File Syntax | |
21632 | |
21633 Score files are meant to be easily parseable, but yet extremely | |
21634 mallable. It was decided that something that had the same read syntax | |
21635 as an Emacs Lisp list would fit that spec. | |
21636 | |
21637 Here's a typical score file: | |
21638 | |
21639 @lisp | |
21640 (("summary" | |
21641 ("win95" -10000 nil s) | |
21642 ("Gnus")) | |
21643 ("from" | |
21644 ("Lars" -1000)) | |
21645 (mark -100)) | |
21646 @end lisp | |
21647 | |
21648 BNF definition of a score file: | |
21649 | |
21650 @example | |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21651 score-file = "" / "(" *element ")" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21652 element = rule / atom |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21653 rule = string-rule / number-rule / date-rule |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21654 string-rule = "(" quote string-header quote space *string-match ")" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21655 number-rule = "(" quote number-header quote space *number-match ")" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21656 date-rule = "(" quote date-header quote space *date-match ")" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21657 quote = <ascii 34> |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21658 string-header = "subject" / "from" / "references" / "message-id" / |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21659 "xref" / "body" / "head" / "all" / "followup" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21660 number-header = "lines" / "chars" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21661 date-header = "date" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21662 string-match = "(" quote <string> quote [ "" / [ space score [ "" / |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21663 space date [ "" / [ space string-match-t ] ] ] ] ] ")" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21664 score = "nil" / <integer> |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21665 date = "nil" / <natural number> |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21666 string-match-t = "nil" / "s" / "substring" / "S" / "Substring" / |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21667 "r" / "regex" / "R" / "Regex" / |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21668 "e" / "exact" / "E" / "Exact" / |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21669 "f" / "fuzzy" / "F" / "Fuzzy" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21670 number-match = "(" <integer> [ "" / [ space score [ "" / |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21671 space date [ "" / [ space number-match-t ] ] ] ] ] ")" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21672 number-match-t = "nil" / "=" / "<" / ">" / ">=" / "<=" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21673 date-match = "(" quote <string> quote [ "" / [ space score [ "" / |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21674 space date [ "" / [ space date-match-t ] ] ] ] ")" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21675 date-match-t = "nil" / "at" / "before" / "after" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21676 atom = "(" [ required-atom / optional-atom ] ")" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21677 required-atom = mark / expunge / mark-and-expunge / files / |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21678 exclude-files / read-only / touched |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21679 optional-atom = adapt / local / eval |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21680 mark = "mark" space nil-or-number |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21681 nil-or-number = "nil" / <integer> |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21682 expunge = "expunge" space nil-or-number |
25829 | 21683 mark-and-expunge = "mark-and-expunge" space nil-or-number |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21684 files = "files" *[ space <string> ] |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21685 exclude-files = "exclude-files" *[ space <string> ] |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21686 read-only = "read-only" [ space "nil" / space "t" ] |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21687 adapt = "adapt" [ space "ignore" / space "t" / space adapt-rule ] |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21688 adapt-rule = "(" *[ <string> *[ "(" <string> <integer> ")" ] ")" |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21689 local = "local" *[ space "(" <string> space <form> ")" ] |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21690 eval = "eval" space <form> |
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
21691 space = *[ " " / <TAB> / <NEWLINE> ] |
25829 | 21692 @end example |
21693 | |
21694 Any unrecognized elements in a score file should be ignored, but not | |
21695 discarded. | |
21696 | |
21697 As you can see, white space is needed, but the type and amount of white | |
21698 space is irrelevant. This means that formatting of the score file is | |
21699 left up to the programmer---if it's simpler to just spew it all out on | |
21700 one looong line, then that's ok. | |
21701 | |
21702 The meaning of the various atoms are explained elsewhere in this | |
21703 manual (@pxref{Score File Format}). | |
21704 | |
21705 | |
21706 @node Headers | |
21707 @subsection Headers | |
21708 | |
21709 Internally Gnus uses a format for storing article headers that | |
21710 corresponds to the @sc{nov} format in a mysterious fashion. One could | |
21711 almost suspect that the author looked at the @sc{nov} specification and | |
21712 just shamelessly @emph{stole} the entire thing, and one would be right. | |
21713 | |
21714 @dfn{Header} is a severely overloaded term. ``Header'' is used in | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21715 RFC 1036 to talk about lines in the head of an article (e.g., |
25829 | 21716 @code{From}). It is used by many people as a synonym for |
21717 ``head''---``the header and the body''. (That should be avoided, in my | |
21718 opinion.) And Gnus uses a format internally that it calls ``header'', | |
21719 which is what I'm talking about here. This is a 9-element vector, | |
21720 basically, with each header (ouch) having one slot. | |
21721 | |
21722 These slots are, in order: @code{number}, @code{subject}, @code{from}, | |
21723 @code{date}, @code{id}, @code{references}, @code{chars}, @code{lines}, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21724 @code{xref}, and @code{extra}. There are macros for accessing and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21725 setting these slots---they all have predictable names beginning with |
25829 | 21726 @code{mail-header-} and @code{mail-header-set-}, respectively. |
21727 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21728 All these slots contain strings, except the @code{extra} slot, which |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21729 contains an alist of header/value pairs (@pxref{To From Newsgroups}). |
25829 | 21730 |
21731 | |
21732 @node Ranges | |
21733 @subsection Ranges | |
21734 | |
21735 @sc{gnus} introduced a concept that I found so useful that I've started | |
21736 using it a lot and have elaborated on it greatly. | |
21737 | |
21738 The question is simple: If you have a large amount of objects that are | |
21739 identified by numbers (say, articles, to take a @emph{wild} example) | |
21740 that you want to qualify as being ``included'', a normal sequence isn't | |
21741 very useful. (A 200,000 length sequence is a bit long-winded.) | |
21742 | |
21743 The solution is as simple as the question: You just collapse the | |
21744 sequence. | |
21745 | |
21746 @example | |
21747 (1 2 3 4 5 6 10 11 12) | |
21748 @end example | |
21749 | |
21750 is transformed into | |
21751 | |
21752 @example | |
21753 ((1 . 6) (10 . 12)) | |
21754 @end example | |
21755 | |
21756 To avoid having those nasty @samp{(13 . 13)} elements to denote a | |
21757 lonesome object, a @samp{13} is a valid element: | |
21758 | |
21759 @example | |
21760 ((1 . 6) 7 (10 . 12)) | |
21761 @end example | |
21762 | |
21763 This means that comparing two ranges to find out whether they are equal | |
21764 is slightly tricky: | |
21765 | |
21766 @example | |
21767 ((1 . 5) 7 8 (10 . 12)) | |
21768 @end example | |
21769 | |
21770 and | |
21771 | |
21772 @example | |
21773 ((1 . 5) (7 . 8) (10 . 12)) | |
21774 @end example | |
21775 | |
21776 are equal. In fact, any non-descending list is a range: | |
21777 | |
21778 @example | |
21779 (1 2 3 4 5) | |
21780 @end example | |
21781 | |
21782 is a perfectly valid range, although a pretty long-winded one. This is | |
21783 also valid: | |
21784 | |
21785 @example | |
21786 (1 . 5) | |
21787 @end example | |
21788 | |
21789 and is equal to the previous range. | |
21790 | |
21791 Here's a BNF definition of ranges. Of course, one must remember the | |
21792 semantic requirement that the numbers are non-descending. (Any number | |
21793 of repetition of the same number is allowed, but apt to disappear in | |
21794 range handling.) | |
21795 | |
21796 @example | |
21797 range = simple-range / normal-range | |
21798 simple-range = "(" number " . " number ")" | |
21799 normal-range = "(" start-contents ")" | |
21800 contents = "" / simple-range *[ " " contents ] / | |
21801 number *[ " " contents ] | |
21802 @end example | |
21803 | |
21804 Gnus currently uses ranges to keep track of read articles and article | |
21805 marks. I plan on implementing a number of range operators in C if The | |
21806 Powers That Be are willing to let me. (I haven't asked yet, because I | |
21807 need to do some more thinking on what operators I need to make life | |
21808 totally range-based without ever having to convert back to normal | |
21809 sequences.) | |
21810 | |
21811 | |
21812 @node Group Info | |
21813 @subsection Group Info | |
21814 | |
21815 Gnus stores all permanent info on groups in a @dfn{group info} list. | |
21816 This list is from three to six elements (or more) long and exhaustively | |
21817 describes the group. | |
21818 | |
21819 Here are two example group infos; one is a very simple group while the | |
21820 second is a more complex one: | |
21821 | |
21822 @example | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21823 ("no.group" 5 ((1 . 54324))) |
25829 | 21824 |
21825 ("nnml:my.mail" 3 ((1 . 5) 9 (20 . 55)) | |
21826 ((tick (15 . 19)) (replied 3 6 (19 . 3))) | |
21827 (nnml "") | |
21828 ((auto-expire . t) (to-address . "ding@@gnus.org"))) | |
21829 @end example | |
21830 | |
21831 The first element is the @dfn{group name}---as Gnus knows the group, | |
21832 anyway. The second element is the @dfn{subscription level}, which | |
21833 normally is a small integer. (It can also be the @dfn{rank}, which is a | |
21834 cons cell where the @code{car} is the level and the @code{cdr} is the | |
21835 score.) The third element is a list of ranges of read articles. The | |
21836 fourth element is a list of lists of article marks of various kinds. | |
21837 The fifth element is the select method (or virtual server, if you like). | |
21838 The sixth element is a list of @dfn{group parameters}, which is what | |
21839 this section is about. | |
21840 | |
21841 Any of the last three elements may be missing if they are not required. | |
21842 In fact, the vast majority of groups will normally only have the first | |
21843 three elements, which saves quite a lot of cons cells. | |
21844 | |
21845 Here's a BNF definition of the group info format: | |
21846 | |
21847 @example | |
21848 info = "(" group space ralevel space read | |
21849 [ "" / [ space marks-list [ "" / [ space method [ "" / | |
21850 space parameters ] ] ] ] ] ")" | |
21851 group = quote <string> quote | |
21852 ralevel = rank / level | |
21853 level = <integer in the range of 1 to inf> | |
21854 rank = "(" level "." score ")" | |
21855 score = <integer in the range of 1 to inf> | |
21856 read = range | |
21857 marks-lists = nil / "(" *marks ")" | |
21858 marks = "(" <string> range ")" | |
21859 method = "(" <string> *elisp-forms ")" | |
21860 parameters = "(" *elisp-forms ")" | |
21861 @end example | |
21862 | |
21863 Actually that @samp{marks} rule is a fib. A @samp{marks} is a | |
21864 @samp{<string>} consed on to a @samp{range}, but that's a bitch to say | |
21865 in pseudo-BNF. | |
21866 | |
21867 If you have a Gnus info and want to access the elements, Gnus offers a | |
21868 series of macros for getting/setting these elements. | |
21869 | |
21870 @table @code | |
21871 @item gnus-info-group | |
21872 @itemx gnus-info-set-group | |
21873 @findex gnus-info-group | |
21874 @findex gnus-info-set-group | |
21875 Get/set the group name. | |
21876 | |
21877 @item gnus-info-rank | |
21878 @itemx gnus-info-set-rank | |
21879 @findex gnus-info-rank | |
21880 @findex gnus-info-set-rank | |
21881 Get/set the group rank (@pxref{Group Score}). | |
21882 | |
21883 @item gnus-info-level | |
21884 @itemx gnus-info-set-level | |
21885 @findex gnus-info-level | |
21886 @findex gnus-info-set-level | |
21887 Get/set the group level. | |
21888 | |
21889 @item gnus-info-score | |
21890 @itemx gnus-info-set-score | |
21891 @findex gnus-info-score | |
21892 @findex gnus-info-set-score | |
21893 Get/set the group score (@pxref{Group Score}). | |
21894 | |
21895 @item gnus-info-read | |
21896 @itemx gnus-info-set-read | |
21897 @findex gnus-info-read | |
21898 @findex gnus-info-set-read | |
21899 Get/set the ranges of read articles. | |
21900 | |
21901 @item gnus-info-marks | |
21902 @itemx gnus-info-set-marks | |
21903 @findex gnus-info-marks | |
21904 @findex gnus-info-set-marks | |
21905 Get/set the lists of ranges of marked articles. | |
21906 | |
21907 @item gnus-info-method | |
21908 @itemx gnus-info-set-method | |
21909 @findex gnus-info-method | |
21910 @findex gnus-info-set-method | |
21911 Get/set the group select method. | |
21912 | |
21913 @item gnus-info-params | |
21914 @itemx gnus-info-set-params | |
21915 @findex gnus-info-params | |
21916 @findex gnus-info-set-params | |
21917 Get/set the group parameters. | |
21918 @end table | |
21919 | |
21920 All the getter functions take one parameter---the info list. The setter | |
21921 functions take two parameters---the info list and the new value. | |
21922 | |
21923 The last three elements in the group info aren't mandatory, so it may be | |
21924 necessary to extend the group info before setting the element. If this | |
21925 is necessary, you can just pass on a non-@code{nil} third parameter to | |
21926 the three final setter functions to have this happen automatically. | |
21927 | |
21928 | |
21929 @node Extended Interactive | |
21930 @subsection Extended Interactive | |
21931 @cindex interactive | |
21932 @findex gnus-interactive | |
21933 | |
21934 Gnus extends the standard Emacs @code{interactive} specification | |
21935 slightly to allow easy use of the symbolic prefix (@pxref{Symbolic | |
21936 Prefixes}). Here's an example of how this is used: | |
21937 | |
21938 @lisp | |
21939 (defun gnus-summary-increase-score (&optional score symp) | |
21940 (interactive (gnus-interactive "P\ny")) | |
21941 ... | |
21942 ) | |
21943 @end lisp | |
21944 | |
21945 The best thing to do would have been to implement | |
21946 @code{gnus-interactive} as a macro which would have returned an | |
21947 @code{interactive} form, but this isn't possible since Emacs checks | |
21948 whether a function is interactive or not by simply doing an @code{assq} | |
21949 on the lambda form. So, instead we have @code{gnus-interactive} | |
21950 function that takes a string and returns values that are usable to | |
21951 @code{interactive}. | |
21952 | |
21953 This function accepts (almost) all normal @code{interactive} specs, but | |
21954 adds a few more. | |
21955 | |
21956 @table @samp | |
21957 @item y | |
21958 @vindex gnus-current-prefix-symbol | |
21959 The current symbolic prefix---the @code{gnus-current-prefix-symbol} | |
21960 variable. | |
21961 | |
21962 @item Y | |
21963 @vindex gnus-current-prefix-symbols | |
21964 A list of the current symbolic prefixes---the | |
21965 @code{gnus-current-prefix-symbol} variable. | |
21966 | |
21967 @item A | |
21968 The current article number---the @code{gnus-summary-article-number} | |
21969 function. | |
21970 | |
21971 @item H | |
21972 The current article header---the @code{gnus-summary-article-header} | |
21973 function. | |
21974 | |
21975 @item g | |
21976 The current group name---the @code{gnus-group-group-name} | |
21977 function. | |
21978 | |
21979 @end table | |
21980 | |
21981 | |
21982 @node Emacs/XEmacs Code | |
21983 @subsection Emacs/XEmacs Code | |
21984 @cindex XEmacs | |
21985 @cindex Emacsen | |
21986 | |
21987 While Gnus runs under Emacs, XEmacs and Mule, I decided that one of the | |
21988 platforms must be the primary one. I chose Emacs. Not because I don't | |
21989 like XEmacs or Mule, but because it comes first alphabetically. | |
21990 | |
21991 This means that Gnus will byte-compile under Emacs with nary a warning, | |
21992 while XEmacs will pump out gigabytes of warnings while byte-compiling. | |
21993 As I use byte-compilation warnings to help me root out trivial errors in | |
21994 Gnus, that's very useful. | |
21995 | |
21996 I've also consistently used Emacs function interfaces, but have used | |
21997 Gnusey aliases for the functions. To take an example: Emacs defines a | |
21998 @code{run-at-time} function while XEmacs defines a @code{start-itimer} | |
21999 function. I then define a function called @code{gnus-run-at-time} that | |
22000 takes the same parameters as the Emacs @code{run-at-time}. When running | |
22001 Gnus under Emacs, the former function is just an alias for the latter. | |
22002 However, when running under XEmacs, the former is an alias for the | |
22003 following function: | |
22004 | |
22005 @lisp | |
22006 (defun gnus-xmas-run-at-time (time repeat function &rest args) | |
22007 (start-itimer | |
22008 "gnus-run-at-time" | |
22009 `(lambda () | |
22010 (,function ,@@args)) | |
22011 time repeat)) | |
22012 @end lisp | |
22013 | |
22014 This sort of thing has been done for bunches of functions. Gnus does | |
22015 not redefine any native Emacs functions while running under XEmacs---it | |
22016 does this @code{defalias} thing with Gnus equivalents instead. Cleaner | |
22017 all over. | |
22018 | |
22019 In the cases where the XEmacs function interface was obviously cleaner, | |
22020 I used it instead. For example @code{gnus-region-active-p} is an alias | |
22021 for @code{region-active-p} in XEmacs, whereas in Emacs it is a function. | |
22022 | |
22023 Of course, I could have chosen XEmacs as my native platform and done | |
22024 mapping functions the other way around. But I didn't. The performance | |
22025 hit these indirections impose on Gnus under XEmacs should be slight. | |
22026 | |
22027 | |
22028 @node Various File Formats | |
22029 @subsection Various File Formats | |
22030 | |
22031 @menu | |
22032 * Active File Format:: Information on articles and groups available. | |
22033 * Newsgroups File Format:: Group descriptions. | |
22034 @end menu | |
22035 | |
22036 | |
22037 @node Active File Format | |
22038 @subsubsection Active File Format | |
22039 | |
22040 The active file lists all groups available on the server in | |
22041 question. It also lists the highest and lowest current article numbers | |
22042 in each group. | |
22043 | |
22044 Here's an excerpt from a typical active file: | |
22045 | |
22046 @example | |
22047 soc.motss 296030 293865 y | |
22048 alt.binaries.pictures.fractals 3922 3913 n | |
22049 comp.sources.unix 1605 1593 m | |
22050 comp.binaries.ibm.pc 5097 5089 y | |
22051 no.general 1000 900 y | |
22052 @end example | |
22053 | |
22054 Here's a pseudo-BNF definition of this file: | |
22055 | |
22056 @example | |
22057 active = *group-line | |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
22058 group-line = group spc high-number spc low-number spc flag <NEWLINE> |
25829 | 22059 group = <non-white-space string> |
38013
fa8e496e2af1
Get rid of Overfull hbox messages from TeX.
Eli Zaretskii <eliz@gnu.org>
parents:
36879
diff
changeset
|
22060 spc = " " |
25829 | 22061 high-number = <non-negative integer> |
22062 low-number = <positive integer> | |
22063 flag = "y" / "n" / "m" / "j" / "x" / "=" group | |
22064 @end example | |
22065 | |
22066 For a full description of this file, see the manual pages for | |
22067 @samp{innd}, in particular @samp{active(5)}. | |
22068 | |
22069 | |
22070 @node Newsgroups File Format | |
22071 @subsubsection Newsgroups File Format | |
22072 | |
22073 The newsgroups file lists groups along with their descriptions. Not all | |
22074 groups on the server have to be listed, and not all groups in the file | |
22075 have to exist on the server. The file is meant purely as information to | |
22076 the user. | |
22077 | |
22078 The format is quite simple; a group name, a tab, and the description. | |
22079 Here's the definition: | |
22080 | |
22081 @example | |
22082 newsgroups = *line | |
22083 line = group tab description <NEWLINE> | |
22084 group = <non-white-space string> | |
22085 tab = <TAB> | |
22086 description = <string> | |
22087 @end example | |
22088 | |
22089 | |
22090 @page | |
22091 @node Emacs for Heathens | |
22092 @section Emacs for Heathens | |
22093 | |
22094 Believe it or not, but some people who use Gnus haven't really used | |
22095 Emacs much before they embarked on their journey on the Gnus Love Boat. | |
40705 | 22096 If you are one of those unfortunates whom ``@kbd{C-M-a}'', ``kill the |
25829 | 22097 region'', and ``set @code{gnus-flargblossen} to an alist where the key |
22098 is a regexp that is used for matching on the group name'' are magical | |
22099 phrases with little or no meaning, then this appendix is for you. If | |
22100 you are already familiar with Emacs, just ignore this and go fondle your | |
22101 cat instead. | |
22102 | |
22103 @menu | |
22104 * Keystrokes:: Entering text and executing commands. | |
22105 * Emacs Lisp:: The built-in Emacs programming language. | |
22106 @end menu | |
22107 | |
22108 | |
22109 @node Keystrokes | |
22110 @subsection Keystrokes | |
22111 | |
22112 @itemize @bullet | |
22113 @item | |
22114 Q: What is an experienced Emacs user? | |
22115 | |
22116 @item | |
22117 A: A person who wishes that the terminal had pedals. | |
22118 @end itemize | |
22119 | |
22120 Yes, when you use Emacs, you are apt to use the control key, the shift | |
22121 key and the meta key a lot. This is very annoying to some people | |
22122 (notably @code{vi}le users), and the rest of us just love the hell out | |
22123 of it. Just give up and submit. Emacs really does stand for | |
22124 ``Escape-Meta-Alt-Control-Shift'', and not ``Editing Macros'', as you | |
22125 may have heard from other disreputable sources (like the Emacs author). | |
22126 | |
22127 The shift keys are normally located near your pinky fingers, and are | |
22128 normally used to get capital letters and stuff. You probably use it all | |
22129 the time. The control key is normally marked ``CTRL'' or something like | |
22130 that. The meta key is, funnily enough, never marked as such on any | |
22131 keyboard. The one I'm currently at has a key that's marked ``Alt'', | |
22132 which is the meta key on this keyboard. It's usually located somewhere | |
22133 to the left hand side of the keyboard, usually on the bottom row. | |
22134 | |
22135 Now, us Emacs people don't say ``press the meta-control-m key'', | |
40705 | 22136 because that's just too inconvenient. We say ``press the @kbd{C-M-m} |
25829 | 22137 key''. @kbd{M-} is the prefix that means ``meta'' and ``C-'' is the |
22138 prefix that means ``control''. So ``press @kbd{C-k}'' means ``press | |
22139 down the control key, and hold it down while you press @kbd{k}''. | |
40705 | 22140 ``Press @kbd{C-M-k}'' means ``press down and hold down the meta key and |
25829 | 22141 the control key and then press @kbd{k}''. Simple, ay? |
22142 | |
22143 This is somewhat complicated by the fact that not all keyboards have a | |
22144 meta key. In that case you can use the ``escape'' key. Then @kbd{M-k} | |
22145 means ``press escape, release escape, press @kbd{k}''. That's much more | |
22146 work than if you have a meta key, so if that's the case, I respectfully | |
22147 suggest you get a real keyboard with a meta key. You can't live without | |
22148 it. | |
22149 | |
22150 | |
22151 | |
22152 @node Emacs Lisp | |
22153 @subsection Emacs Lisp | |
22154 | |
22155 Emacs is the King of Editors because it's really a Lisp interpreter. | |
22156 Each and every key you tap runs some Emacs Lisp code snippet, and since | |
22157 Emacs Lisp is an interpreted language, that means that you can configure | |
22158 any key to run any arbitrary code. You just, like, do it. | |
22159 | |
22160 Gnus is written in Emacs Lisp, and is run as a bunch of interpreted | |
22161 functions. (These are byte-compiled for speed, but it's still | |
22162 interpreted.) If you decide that you don't like the way Gnus does | |
22163 certain things, it's trivial to have it do something a different way. | |
22164 (Well, at least if you know how to write Lisp code.) However, that's | |
22165 beyond the scope of this manual, so we are simply going to talk about | |
22166 some common constructs that you normally use in your @file{.emacs} file | |
22167 to customize Gnus. | |
22168 | |
22169 If you want to set the variable @code{gnus-florgbnize} to four (4), you | |
22170 write the following: | |
22171 | |
22172 @lisp | |
22173 (setq gnus-florgbnize 4) | |
22174 @end lisp | |
22175 | |
22176 This function (really ``special form'') @code{setq} is the one that can | |
22177 set a variable to some value. This is really all you need to know. Now | |
22178 you can go and fill your @code{.emacs} file with lots of these to change | |
22179 how Gnus works. | |
22180 | |
22181 If you have put that thing in your @code{.emacs} file, it will be read | |
22182 and @code{eval}ed (which is lisp-ese for ``run'') the next time you | |
22183 start Emacs. If you want to change the variable right away, simply say | |
22184 @kbd{C-x C-e} after the closing parenthesis. That will @code{eval} the | |
22185 previous ``form'', which is a simple @code{setq} statement here. | |
22186 | |
22187 Go ahead---just try it, if you're located at your Emacs. After you | |
22188 @kbd{C-x C-e}, you will see @samp{4} appear in the echo area, which | |
22189 is the return value of the form you @code{eval}ed. | |
22190 | |
22191 Some pitfalls: | |
22192 | |
22193 If the manual says ``set @code{gnus-read-active-file} to @code{some}'', | |
22194 that means: | |
22195 | |
22196 @lisp | |
22197 (setq gnus-read-active-file 'some) | |
22198 @end lisp | |
22199 | |
22200 On the other hand, if the manual says ``set @code{gnus-nntp-server} to | |
22201 @samp{nntp.ifi.uio.no}'', that means: | |
22202 | |
22203 @lisp | |
22204 (setq gnus-nntp-server "nntp.ifi.uio.no") | |
22205 @end lisp | |
22206 | |
22207 So be careful not to mix up strings (the latter) with symbols (the | |
22208 former). The manual is unambiguous, but it can be confusing. | |
22209 | |
22210 @page | |
22211 @include gnus-faq.texi | |
22212 | |
22213 @node Index | |
22214 @chapter Index | |
22215 @printindex cp | |
22216 | |
22217 @node Key Index | |
22218 @chapter Key Index | |
22219 @printindex ky | |
22220 | |
22221 @summarycontents | |
22222 @contents | |
22223 @bye | |
22224 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22225 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22226 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22227 \end{document} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22228 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22229 @end iftex |
25829 | 22230 |
22231 @c End: |